Skip to content

Commit 6493c57

Browse files
committed
Smarter detection of SSE servers
1 parent cf2b2be commit 6493c57

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/mcp/client/config/mcp_servers_config.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,20 @@ def infer_server_types(cls, servers_data: dict[str, Any]) -> dict[str, Any]:
120120
"""Automatically infer server types when 'type' field is omitted."""
121121

122122
for server_config in servers_data.values():
123-
if isinstance(server_config, dict) and "type" not in server_config:
123+
server_config = cast(dict[str, str], server_config)
124+
sse_mentioned_in_config = (
125+
"sse" in server_config.get("url", "")
126+
or "sse" in server_config.get("name", "")
127+
or "sse" in server_config.get("description", "")
128+
)
129+
if "type" not in server_config:
124130
# Infer type based on distinguishing fields
125131
if "command" in server_config:
126132
server_config["type"] = "stdio"
127-
elif "url" in server_config:
133+
elif "url" in server_config and sse_mentioned_in_config:
128134
# Could infer SSE vs streamable_http based on URL patterns in the future
135+
server_config["type"] = "sse"
136+
elif "url" in server_config:
129137
server_config["type"] = "streamable_http"
130138

131139
return servers_data

0 commit comments

Comments
 (0)