mirror of
https://github.com/upstash/context7.git
synced 2025-06-26 23:50:04 +00:00

The response from the server was not matching the expected `InitializeResult` schema [^1].
1. The `serverInfo` field contained a `description` that was not part of the schema.
2. The `capabilities` field was incorrectly nested in `serverInfo`.
3. The `capabilities` field in the response included `resources`, even though this server does not support resources.
This change also adds an `instructions` field to the response, which provides guidance on how to use the server.
The SDK takes care of registering capabilities [^2], so we don't need to add this when instantiating the `server` object.
Response does not match `InitializeResult` schema:
```json
{
"capabilities": {
"tools": {
"listChanged": true
}
},
"serverInfo": {
"name": "Context7",
"version": "1.0.13",
"description": "Retrieves up-to-date documentation and code examples for any library.",
"capabilities": {
"resources": {},
"tools": {}
}
}
}
```
Response matches `InitializeResult` schema:
```json
{
"capabilities": {
"tools": {
"listChanged": true
}
},
"serverInfo": {
"name": "Context7",
"version": "1.0.13"
},
"instructions": "Use this server to retrieve up-to-date documentation and code examples for any library."
}
```
[^1]: https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/schema/2025-03-26/schema.ts#L179-L193
[^2]: 2cf4f0ca86/src/server/mcp.ts (L101)
Fixes https://github.com/upstash/context7/issues/282