-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] mcp Unrecognized field \"tools\ #30
Comments
https://witsyai.com/ has the same problem, defining the tools field in the client capabilities, it seems that many mcp clients don't implement the spec correctly |
Thanks for bringing this up @cookiejoo, @deemkeen. However the McpSchema.ClientCapabilities class is compliant with the MCP spec and doesn't include a "tools" field. The issue appears to be that Cursor is sending non-compliant JSON with extra fields not in the specification. The error:
occurs because Cursor is sending a I suggest:
The core issue is with Cursor's client implementation, not our client-side code. |
Thank you, I will report this issue to the cursor |
i used cursor add mcp,
There is indeed a 'tools' field under 'capabilities'.
However, according to the MCP specification on Capabilities negociation , the client should not have a 'tools' field as 'capabilities', since it is up to the server to set them.
Steps to Reproduce
bom version:1.0.0-M6
Run the example Spring AI MCP WebFlux server here: https://github.com/spring-projects/spring-ai-examples/tree/main/model-context-protocol/weather/starter-webflux-server
Launch it
Add the server url under mcpServers (type: sse)
Launch the Cursor MCP Server
Log :
event:endpoint
data:/mcp/message
event:message
data:{"jsonrpc":"2.0","id":0,"error":{"code":-32603,"message":"Unrecognized field "tools" (class io.modelcontextprotocol.spec.McpSchema$ClientCapabilities), not marked as ignorable (3 known properties: "experimental", "roots", "sampling"])\n at [Source: UNKNOWN; byte offset: #UNKNOWN] (through reference chain: io.modelcontextprotocol.spec.McpSchema$InitializeRequest["capabilities"]->io.modelcontextprotocol.spec.McpSchema$ClientCapabilities["tools"])"}}
The text was updated successfully, but these errors were encountered: