diff --git a/litellm/proxy/mcp_registry.json b/litellm/proxy/mcp_registry.json index 7c5b21dc390..84431634e24 100644 --- a/litellm/proxy/mcp_registry.json +++ b/litellm/proxy/mcp_registry.json @@ -44,8 +44,8 @@ "icon_url": "https://cdn.simpleicons.org/linear", "category": "Developer Tools", "registry_url": "https://registry.modelcontextprotocol.io/servers/app.linear%2Flinear", - "transport": "sse", - "url": "https://mcp.linear.app/sse", + "transport": "http", + "url": "https://mcp.linear.app/mcp", "env_vars": [] }, { diff --git a/tests/test_litellm/proxy/_experimental/mcp_server/test_mcp_discovery.py b/tests/test_litellm/proxy/_experimental/mcp_server/test_mcp_discovery.py index aac0f5c7bbc..9a741a3f861 100644 --- a/tests/test_litellm/proxy/_experimental/mcp_server/test_mcp_discovery.py +++ b/tests/test_litellm/proxy/_experimental/mcp_server/test_mcp_discovery.py @@ -85,6 +85,15 @@ class TestMCPRegistryFile: "url" in server and server["url"] ), f"HTTP/SSE server {server['name']} missing 'url'" + def test_linear_uses_streamable_http(self, registry_path): + """Linear's MCP server should default to streamable HTTP at /mcp, not SSE at /sse.""" + with open(registry_path, "r") as f: + data = json.load(f) + linear = next(s for s in data["servers"] if s["name"] == "linear") + assert linear["transport"] == "http" + assert linear["url"] == "https://mcp.linear.app/mcp" + assert "/sse" not in linear["url"] + def test_well_known_servers_present(self, registry_path): """Ensure key well-known MCPs are in the registry.""" with open(registry_path, "r") as f: