Commit graph

32 commits

Author SHA1 Message Date
Koichi ITO
9bcb3bf15b Remove unused constant
This PR removes an unused constant that is not referenced anywhere
and was likely left over during development.
2025-05-24 00:53:05 +09:00
Topher Bullock
18f3e8761e
Merge pull request #8 from kfischer-okarin/auto-determine-capabilities
Auto determine capabilities
2025-05-21 14:23:11 -04:00
Topher Bullock
049bac648d
Merge pull request #16 from koic/use_require_relative
Use `require_relative`
2025-05-21 14:22:44 -04:00
Topher Bullock
4b84f93375
Merge pull request #15 from koic/remove_useless_mcp_json_rpc_module
Remove useless `ModelContextProtocol::JsonRPC` module
2025-05-21 14:13:10 -04:00
Topher Bullock
6c25eec201
Merge pull request #14 from andyw8/andyw8/fix-gitignore
Fix .gitignore entry for `Gemfile.lock`
2025-05-21 14:11:14 -04:00
Koichi ITO
e8620659a6 Use require_relative
If there are many searches in the `$LOAD_PATH` in the user environment,
require will perform unnecessary searches that are not needed.
In contrast, `require_relative` is efficient because it uses a relative path.
2025-05-22 00:56:22 +09:00
Koichi ITO
5f7a5b5d7e Remove useless ModelContextProtocol::JsonRPC module
JSON-RPC is handled by https://github.com/Shopify/json-rpc-handler,
so `ModelContextProtocol::JsonRPC` module seems to have been
unintentionally left behind in the following commit:
c5591be

The files under `model_context_protocol/json_rpc/*.rb` have already been removed.
2025-05-22 00:53:21 +09:00
Andy Waite
19be50d2b9 Fix .gitignore entry for Gemfile.lock
The `Gemfile.lock` entry has a . in front which prevents it from being ignored.
2025-05-21 11:06:26 -04:00
Topher Bullock
87cd467c58
Merge pull request #13 from modelcontextprotocol/remove-gemfile-lock
remove `Gemfile.lock`
2025-05-20 17:13:32 -04:00
Topher Bullock
032a28d660
Update lib/model_context_protocol/server.rb 2025-05-20 17:05:29 -04:00
Topher Bullock
00e1ed8fec
Merge branch 'main' into auto-determine-capabilities 2025-05-20 17:01:45 -04:00
Topher Bullock
e89af18e95
Merge pull request #7 from kfischer-okarin/specify-server-version
Allow specifying the server version
2025-05-20 16:58:17 -04:00
Topher Bullock
afa0d8b6ab remove Gemfile.lock
ci on #10 is failing due to darwin deps in the lockfile.
fix ci by removing the gemfile and adding `bundle install` to ci steps
2025-05-20 11:20:05 -04:00
Topher Bullock
bdbf015dd5
Merge pull request #6 from iberianpig/fix/use-utf8-for-stdout
fix: force UTF-8 encoding for stdio streams
2025-05-20 10:48:47 -04:00
Kevin Fischer
0f33dc05e1
Default capability determination 2025-05-14 00:25:49 +09:00
Kevin Fischer
81fa3a9efa
Move default capabilities into a private method 2025-05-14 00:10:32 +09:00
Kevin Fischer
7b390053bd
Update README and example with server version 2025-05-13 23:58:38 +09:00
Kevin Fischer
ea4828987c
Allow specifying a server version 2025-05-13 23:51:02 +09:00
iberianpig
01460b0b4f
fix: force UTF-8 encoding for stdio streams
This change forces $stdin/$stdout to use UTF-8 encoding,
similar to PR 198 in the python-sdk.
https://github.com/modelcontextprotocol/python-sdk/pull/198

It addresses platform-dependent encoding issues.
2025-05-13 17:26:10 +09:00
David Soria Parra
784b8b8548 Merge pull request #5 from modelcontextprotocol/davidsp/gem
Set Gemspec to official MCP account
2025-05-08 17:38:23 -04:00
David Soria Parra
71a2955215 Set gemspec 2025-05-08 17:38:23 -04:00
Tyler Rowsell
baeb99ffbc Internal Release 0.7.0
- add support for resource templates
- improve capability negotiation on handlers
- clean up readme
- reduce default protocol version to "2024-11-05"
- address spec compliance of resources
- add debug gem to development
- alias ModelContextProtocol to MCP
- move prompt subclasses to subdir
- improve tool and prompt definition
- improve passing of server context to tools
- improve tool input schema validation
2025-05-08 17:38:19 -04:00
Tyler Rowsell
62184957e0 Internal Release 0.6.0
Rename Context Arg
2025-05-08 17:38:13 -04:00
Topher Bullock
6da8bfab1a Internal Release 0.5.2
Added
- Added stdio transport functionality.
Changed
- Added stdio details to the README.
2025-05-08 17:38:09 -04:00
Topher Bullock
d2b6a33788 Internal Release 0.5.1
- Allow protocol version to be set at the server level through configuration instead of a class method, providing more flexibility in protocol version management [#43](https://github.com/Shopify/mcp-ruby/pull/43) @topherbullock

- Fixed instrumentation handling to ensure accurate timing information and proper error reporting [#42](https://github.com/Shopify/mcp-ruby/pull/42) @tobiasbales
  - Improved error handling and reporting in the server
  - Fixed timing information collection in instrumentation
  - Added proper error types for different failure scenarios
  - Enhanced test coverage for error cases

- [Allow protocol version to be set at the server level #43](https://github.com/Shopify/mcp-ruby/pull/43) @topherbullock
- [Fix instrumentation handling #42](https://github.com/Shopify/mcp-ruby/pull/42) @tobiasbales
2025-05-08 17:38:05 -04:00
Topher Bullock
7175d49108 Internal Release 0.5.0
Bump protocol version to 2025-03-26
Provide fallback value for tool_name
Make configuration per server
Add support for tool annotations
document tool annotations
2025-05-08 17:38:02 -04:00
Topher Bullock
2eca3681df Internal Release 0.4.0
- Added support for handle_json method from JSON RPC gem to allow consumers to pass JSON strings
- Added context parameter to prompt templating system

- Updated tool and prompt registration to use class references instead of instances
- Changed tool response is_error to isError to match protocol specification
2025-05-08 17:37:57 -04:00
Topher Bullock
0645351585 Internal Release 0.3.0
Add configurable exception reporter
Avoid leaking tool exceptions by sending them to a configurable exception reporter
Add optional context to pass to tools
Add basic instrumentation data/labels
2025-05-08 17:37:54 -04:00
Topher Bullock
f5a3567494 Internal Release 0.2.5
changes in this release:
- fix ping response #17
- add prompts and resources support to init response #18
- Bump json from 2.10.1 to 2.10.2 #14
2025-05-08 17:37:51 -04:00
Ates Goral
c5591be30b Internal Release 0.2.4
- remove activesupport as a runtime dependency
- use alternative to activesupport/inflector methods
- use `json_rpc_handler` gem
- add json_rpc_handler to gem dependencies
2025-05-08 17:37:45 -04:00
Topher Bullock
6004f42573 Internal Release 0.2.0
- fix `lib/mcp-ruby` auto-import path
- implement server resources
- add basic listing of resources to Server
- allow setting handlers on Server
- wrap handler method results
- make tool definition more declarative
- make prompt definition more declarative
- bump dependency versions
2025-05-08 17:37:40 -04:00
Topher Bullock
a4df3b8688 Internal Release v0.1.1
- implement `Prompt`
- adjust Tool approach
- update readme for tool calling
- document usage of `Prompt`
2025-05-08 17:37:27 -04:00