@@ -12,6 +12,45 @@ class GeminiMCPClient(MCPClient):
1212 def __init__ (self ):
1313 super ().__init__ ("gemini" )
1414
15+ def _convert_server_config_to_client_format (self , server_config ) -> dict :
16+ """
17+ Override to provide Gemini-specific server config conversion.
18+
19+ For HTTP-type servers, Gemini uses 'httpUrl' instead of 'url'.
20+
21+ Args:
22+ server_config: STDIOServerConfig or RemoteServerConfig object
23+
24+ Returns:
25+ Dict in Gemini configuration format
26+ """
27+ if hasattr (server_config , "url" ) and server_config .url :
28+ # Remote/HTTP server - use Gemini's httpUrl format
29+ config = {
30+ "httpUrl" : server_config .url ,
31+ }
32+ if hasattr (server_config , "headers" ) and server_config .headers :
33+ config ["headers" ] = server_config .headers
34+ return config
35+ else :
36+ # STDIO server - use base implementation
37+ config = {
38+ "type" : "stdio" ,
39+ "command" : getattr (server_config , "command" , "echo" ),
40+ }
41+
42+ args = getattr (server_config , "args" , [])
43+ if args :
44+ config ["args" ] = args
45+ else :
46+ config ["args" ] = []
47+
48+ env = getattr (server_config , "env" , {})
49+ if env :
50+ config ["env" ] = env
51+
52+ return config
53+
1554 def add_server (self , server_name : str , scope : str = "user" ) -> bool :
1655 """Add a server to Gemini config files immediately using config file editing for efficiency."""
1756 # Get server configuration from registry
0 commit comments