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:
Fahad
2025-06-10 13:20:15 +04:00
parent 42169b2452
commit 6495b29d47

View File

@@ -28,7 +28,7 @@ from typing import Any
from mcp.server import Server
from mcp.server.models import InitializationOptions
from mcp.server.stdio import stdio_server
from mcp.types import TextContent, Tool
from mcp.types import ServerCapabilities, TextContent, Tool, ToolsCapability
from config import (
GEMINI_MODEL,
@@ -227,7 +227,9 @@ async def main():
InitializationOptions(
server_name="gemini",
server_version=__version__,
capabilities={"tools": {}}, # Advertise tool support capability
capabilities=ServerCapabilities(
tools=ToolsCapability() # Advertise tool support capability
),
),
)