Koichi ITO
bd416c7a5f
Omit icons from responses when empty or nil
...
Previously, the `icons` parameter was always included in responses (as an empty array)
even when not configured. This differs from the response representation in MCP Ruby SDK 0.4.0.
Since `icons` is optional, it should be omitted from responses when unused to reduce
unnecessary context window usage.
https://modelcontextprotocol.io/specification/2025-11-25/schema#implementation
This fix applies to `Tool#to_h`, `Prompt#to_h`, `Resource#to_h`, `ResourceTemplate#to_h`,
and `Server#server_info`.
It doesn't seem critical, but if there are no other issues, it would be good to cut 0.5.1 bugfix release soon.
2026-01-12 09:46:45 +09:00
Koichi ITO
028c5f3291
Support icons parameter
...
This PR adds support for the optional `icons` parameter in prompt, resource,
resource template, and server info.
The specifications for `icons` are as follows.
https://modelcontextprotocol.io/specification/2025-11-25/schema#icon
Resolves https://github.com/modelcontextprotocol/ruby-sdk/issues/127 .
2025-12-30 05:35:22 +09:00
Koichi ITO
b626425521
Remove useless magic comment
...
This PR removes useless magic comment.
2025-09-15 12:33:09 +09:00
jdnvn
8b4085468e
add titles to tools, prompts and resources
2025-08-17 22:58:15 -04:00
Ateş Göral
8d88156d71
Merge pull request #34 from koic/make_some_optional_kwargs_in_resource
...
Make `description` and `mime_type` optional keyword arguments in `Resource`
2025-05-31 13:34:25 -04:00
Koichi ITO
eb1c93909b
Make description and mime_type optional keyword arguments in Resource
...
This change is related to #29 .
According to the specification, both `description` and `mimeType` of Resource are optional:
https://modelcontextprotocol.io/specification/2025-03-26/server/resources#resource
Therefore, it makes sense to treat them as optional keyword arguments,
similar to how this is done in `ResourceTemplate`:
https://github.com/modelcontextprotocol/ruby-sdk/blob/0b49c3/lib/mcp/resource_template.rb#L8
As additional context, the TypeScript SDK also treats them as optional.
https://github.com/modelcontextprotocol/typescript-sdk/blob/1.12.1/src/types.ts#L438-L466
2025-05-31 01:24:23 +09:00
Koichi ITO
2f354a872a
Suppress redundant attributes in Resources
...
According to the specification, the following attributes are optional,
so using `compact` ensures consistency.
- `description`: Optional description
- `mimeType`: Optional MIME type
- `size`: Optional size in bytes
https://modelcontextprotocol.io/specification/2025-03-26/server/resources#resource
2025-05-30 10:41:18 +09:00
Topher Bullock
9d2447b351
rename lib/{model_context_protocol => mcp}
2025-05-29 17:11:40 -04:00