Ateş Göral
5c5f420f42
Merge pull request #122 from koic/add_validation_for_tool_annotation
...
Validate tool annotations value
2025-09-13 14:22:42 -04:00
Koichi ITO
08048283e4
Validate tool annotations value
...
Tool annotations were introduced in the "2025-03-26" specification:
> Added comprehensive tool annotations for better describing tool behavior,
> like whether it is read-only or destructive (PR modelcontextprotocol/modelcontextprotocol#185 )
https://modelcontextprotocol.io/specification/2025-03-26/changelog#major-changes
This means they are not supported in the "2024-11-05" specification,
so validation errors will be raised for `protocol_version: "2024-11-05"`.
2025-09-11 10:48:56 +09:00
Koichi ITO
dd5b318b11
Merge pull request #126 from koic/fix_errors_when_title_is_not_specified
...
Fix errors when `title` is not specified
2025-09-11 10:30:15 +09:00
Koichi ITO
b9f1c58899
Combine redundant any? calls
...
Calling `parameters.any?` twice is redundant.
2025-09-07 10:04:18 +09:00
Koichi ITO
47d29e8014
Fix errors when title is not specified
...
Since the optional `title` becomes `title: null` when not provided, the following error occurs.
This occurs with Claude Code 1.0.100.
```console
[DEBUG] MCP server "example": Connection failed after 1591ms: [
{
"code": "invalid_type",
"expected": "string",
"received": "null",
"path": [
"serverInfo",
"title"
],
"message": "Expected string, received null"
}
]
```
By adding `compact`, the `title` key will be removed if the optional `title` keyword argument is not specified.
2025-09-03 12:31:33 +09:00
Koichi ITO
ef56280518
Add title to serverInfo
...
Follow-up to #109 .
`title` has also been added to `serverInfo` and `clientInfo` by
https://github.com/modelcontextprotocol/modelcontextprotocol/pull/663 .
Since `clientInfo` is not treated as product code, support is implemented only in `serverInfo`.
See also https://modelcontextprotocol.io/specification/2025-06-18/schema#implementation .
2025-08-29 14:36:39 +09:00
Jens Kraemer
be5e7db2a6
implements the notifications/initialized method
...
- According to
https://modelcontextprotocol.io/specification/2025-06-18/basic/lifecycle ,
"After successful initialization, the client MUST send an initialized
notification to indicate it is ready to begin normal operations".
2025-08-25 13:44:21 +08:00
jdnvn
8b4085468e
add titles to tools, prompts and resources
2025-08-17 22:58:15 -04:00
Koichi ITO
f6f064ab71
Add instructions support to MCP::Server
...
The response of the `init` method can include `instructions`.
https://modelcontextprotocol.io/specification/2025-06-18/basic/lifecycle
`instructions` appear to be supported starting from the 2025-03-26 specification.
- https://modelcontextprotocol.io/specification/2025-03-26/basic/lifecycle (supports `instructions`)
- https://modelcontextprotocol.io/specification/2024-11-05/basic/lifecycle (does not support `instructions`)
If `instructions` is used with an unsupported protocol version, an `ArgumentError` will be raised.
As additional context, the TypeScript SDK also treats `instructions` as optional.
https://github.com/modelcontextprotocol/typescript-sdk/blob/1.16.0/src/types.ts#L356-L361
2025-08-07 12:17:57 +09:00
calin
47215c98ce
Account for missing arguments
2025-07-23 15:17:23 +03:00
Sheldon Nunes
74737223a0
Fix tools with no args
2025-07-23 13:42:19 +12:00
Ates Goral
1ed313951a
Add define_custom_method to define custom methods
2025-07-14 20:12:29 -04:00
Koichi ITO
1a89cc5537
Merge pull request #61 from kfischer-okarin/simplify-and-add-missing-capabilities
...
Remove automatic capability determination and add missing capabilities
2025-07-12 19:01:35 +09:00
Juliano Julio Costa
5d0c5b7f0e
Merge remote-tracking branch 'upstream/main' into make_server_context_optional_and_sorbet_friendly
2025-06-19 11:08:00 -04:00
Kevin Fischer
d7c866efcf
Simplify capability handling again
2025-06-18 13:23:25 +09:00
Topher Bullock
8dda58e77c
Merge pull request #43 from tylerrowsell/tool-arg-validation
...
Validate ToolCall Args against Schema
2025-06-17 17:39:13 -04:00
Sam Bostock
ffa06b103d
Merge pull request #64 from sambostock/duplicate-method-instrumentation
...
Remove duplicate `method` instrumentation
2025-06-17 11:58:36 -04:00
Sam Bostock
ce1c8719cf
Remove duplicate method instrumentation
...
`handle_request` already adds the `method` to the instrumentation data,
so there is no need to repeat this. Moreover, consumers can override
these anyway.
2025-06-17 02:07:25 -04:00
Juliano Julio Costa
c10c0ddf9d
Refactor MCP tool and server to handle optional server_context parameter
...
- Updated `call` method in `MCP::Tool` and `MCP::Prompt` to accept `server_context` as an optional parameter.
- Refactored `MCP::Server` to streamline argument handling for tool and prompt calls, introducing helper methods `call_tool_with_args` and `call_prompt_template_with_args`.
- Adjusted tests to reflect changes in method signatures and ensure compatibility with optional `server_context` parameter.
2025-06-10 15:40:28 -04:00
Riley Shott
55b03fc7aa
Add notification support
...
Co-authored-by: Kevin Fischer <kfischer_okarin@yahoo.co.jp>
2025-06-09 14:12:13 -07:00
Riley Shott
8fbb2e86aa
Remove transport-specific code from server
2025-06-09 14:12:13 -07:00
Riley Shott
3e03a2af66
Implement StreamableHTTP transport
...
Co-authored-by: Topher Bullock <topher.bullock@shopify.com>
2025-06-09 14:12:11 -07:00
Tyler Rowsell
bae35facf6
Change Error Handling
2025-06-09 13:32:12 -04:00
Tyler Rowsell
600c96f66a
Validate ToolCall Args against Schema
...
(cherry picked from commit eeb287117535dfb43785704171625323f01d5bda)
2025-06-04 15:19:05 -04:00
Kevin Fischer
4a666ed0d9
Use Capabilities object instead of private method
2025-06-04 22:55:08 +09:00
Kevin Fischer
72663c0a3f
Extract server capabilities into dedicated Capabilities class
...
Refactor capabilities handling into MCP::Server::Capabilities to improve
code organization and separation of concerns. This provides a cleaner API
for configuring server capabilities including prompts, resources, tools,
completions, logging, and experimental features.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-04 22:52:16 +09:00
Topher Bullock
9d2447b351
rename lib/{model_context_protocol => mcp}
2025-05-29 17:11:40 -04:00