From 6495b29d478124c52a56e65bf58922d91e7e53b4 Mon Sep 17 00:00:00 2001 From: Fahad Date: Tue, 10 Jun 2025 13:20:15 +0400 Subject: [PATCH] fix: use proper ServerCapabilities for InitializationOptions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- server.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server.py b/server.py index 220a488..272b8ff 100644 --- a/server.py +++ b/server.py @@ -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 + ), ), )