fix: use proper ServerCapabilities for InitializationOptions
- Replaced plain dict capabilities with proper ServerCapabilities object
- Added proper imports for ServerCapabilities and ToolsCapability from mcp.types
- Now correctly declares tools capability using ToolsCapability() instead of empty dict
- This follows the MCP protocol specification for server capability declaration
The previous implementation used {"tools": {}} which was not the correct way
to declare tool capabilities according to the MCP Python SDK. This fix ensures
proper capability negotiation during MCP client connection initialization.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -28,7 +28,7 @@ from typing import Any
|
|||||||
from mcp.server import Server
|
from mcp.server import Server
|
||||||
from mcp.server.models import InitializationOptions
|
from mcp.server.models import InitializationOptions
|
||||||
from mcp.server.stdio import stdio_server
|
from mcp.server.stdio import stdio_server
|
||||||
from mcp.types import TextContent, Tool
|
from mcp.types import ServerCapabilities, TextContent, Tool, ToolsCapability
|
||||||
|
|
||||||
from config import (
|
from config import (
|
||||||
GEMINI_MODEL,
|
GEMINI_MODEL,
|
||||||
@@ -227,7 +227,9 @@ async def main():
|
|||||||
InitializationOptions(
|
InitializationOptions(
|
||||||
server_name="gemini",
|
server_name="gemini",
|
||||||
server_version=__version__,
|
server_version=__version__,
|
||||||
capabilities={"tools": {}}, # Advertise tool support capability
|
capabilities=ServerCapabilities(
|
||||||
|
tools=ToolsCapability() # Advertise tool support capability
|
||||||
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user