ruby-sdk
ruby-sdk copied to clipboard
The official Ruby SDK for the Model Context Protocol. Maintained in collaboration with Shopify.
## Summary This PR adds native support for the MCP protocol's `_meta` parameter, eliminating the need for manual extraction in controllers. ## Background The [MCP specification](https://modelcontextprotocol.io/specification/2025-06-18/basic#general-fields) defines a `_meta` field...
## Motivation and Context A server can send structured logging messages to the client. https://modelcontextprotocol.io/specification/2025-06-18/server/utilities/logging#logging Logging was specified in the 2024-11-05 specification, but since it was not supported in ruby-sdk,...
**Problem** When using the [Rails controller example in the README](https://github.com/modelcontextprotocol/ruby-sdk?tab=readme-ov-file#rails-controller) the `notifications/initialized` request returns `200` instead of `202`. It doesn't seem like a major thing but when adding the MCP...
## ✅ Compliant Features 1. **Protocol Version Support**: The SDK correctly supports the 2025-03-26 protocol version (lib/mcp/configuration.rb:6) 2. **Base Protocol**: JSON-RPC 2.0 messaging fully implemented 3. **Server Features**: - ✅...
I am trying to run ~~~ $ rb example/http_server.rb ~~~ which works. But I would like to check it with ~~~ $ npx @modelcontextprotocol/inspector ~~~ using url `http://127.0.0.1:9292` and transport...
## Description This issue tracks the implementation of [SEP-973](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/955) which adds support for icons and additional metadata for Implementations, Resources, Tools, and Prompts. ## Summary SEP-973 introduces optional icon support...
Hi, I am trying to understand why tools and prompts use inheritance, but resources don't. For example, couldn't resources look something like this: ```ruby class ExampleResource < MCP::Resource uri "https://example.com/my_resource"...
This PR introduces test files which run the code snippets in `/examples` and in `README.md`. As each scenario is unique and requires its own setup and assertions, each test is...
> make the Streamable HTTP a bit more out-of-the back Rack startable than it is now... which probably just means: > exposing a way to add middlewares > adding an...
This PR is an alternative to #48, with the same underlying motivations. It explores the idea of having tools and prompts be defined as simple data/config/value objects, and drops support...