diff --git a/mcp-client-ruby/README.md b/mcp-client-ruby/README.md index f73e74f..6aa55c9 100644 --- a/mcp-client-ruby/README.md +++ b/mcp-client-ruby/README.md @@ -6,6 +6,6 @@ See the [Build an MCP client](https://modelcontextprotocol.io/docs/develop/build The spec says clients SHOULD validate structured results against the schema the tool declares, and this SDK's client does not do it for you — `MCP::Client::Tool#output_schema` hands back the raw schema from the wire and nothing checks results against it. So the client compiles each declared schema once at connect time with `MCP::Tool::OutputSchema.new` and validates every non-error result. -The two channels go to different readers: `content` is forwarded to the model, while `structured_content` is used as data — when a tool returns an array, the client counts its items rather than re-reading the prose. See [Structured Content](https://modelcontextprotocol.io/specification/draft/server/tools#structured-content). +The two channels go to different readers: `content` is forwarded to the model, while `structured_content` is used as data — when a tool returns an array, the client counts its items rather than re-reading the prose. See [Structured Content](https://modelcontextprotocol.io/specification/2026-07-28/server/tools#structured-content). `MCP::Client::Stdio` offers `2026-07-28` by default, so no negotiation setup is needed here. diff --git a/weather-server-ruby/README.md b/weather-server-ruby/README.md index e24378a..0152a23 100644 --- a/weather-server-ruby/README.md +++ b/weather-server-ruby/README.md @@ -4,7 +4,7 @@ See the [Build an MCP server](https://modelcontextprotocol.io/docs/develop/build ## Structured content -Both tools declare an `output_schema` and return `structured_content`. `get_forecast` returns an object; `get_alerts` returns a top-level JSON array, which protocol revision `2026-07-28` is the first to allow — see [Structured Content](https://modelcontextprotocol.io/specification/draft/server/tools#structured-content) in the spec. +Both tools declare an `output_schema` and return `structured_content`. `get_forecast` returns an object; `get_alerts` returns a top-level JSON array, which protocol revision `2026-07-28` is the first to allow — see [Structured Content](https://modelcontextprotocol.io/specification/2026-07-28/server/tools#structured-content) in the spec. Declaring `type:` at the root of an `output_schema` is what makes the array case work. The SDK applies a `type: "object"` default only when the schema declares no root keyword, so `output_schema(type: "array", items: {...})` is taken as written.