Merge pull request #915 from cbcoutinho/refactor/drop-well-known-mcp-clients

refactor(auth): drop built-in well-known MCP client list
This commit is contained in:
Chris Coutinho
2026-06-16 21:00:55 +02:00
committed by GitHub
2 changed files with 12 additions and 10 deletions
+8 -9
View File
@@ -140,15 +140,14 @@ class ClientRegistry:
) )
def _get_client_name(self, client_id: str) -> str: def _get_client_name(self, client_id: str) -> str:
"""Get human-readable name for client_id.""" """Derive a human-readable display name from a client_id.
known_names = {
"claude-desktop": "Claude Desktop", There is no built-in list of "well-known" clients: every client must be
"claude-ai": "Claude AI", opted in explicitly via ``ALLOWED_MCP_CLIENTS`` (mirroring the
"continue-dev": "Continue IDE Extension", management-API ``ALLOWED_MGMT_CLIENT`` allowlist). The display name is
"zed-editor": "Zed Editor", derived generically from the client_id.
"vscode-mcp": "VS Code MCP Extension", """
} return client_id.replace("-", " ").title()
return known_names.get(client_id, client_id.replace("-", " ").title())
def validate_client( def validate_client(
self, self,
+4 -1
View File
@@ -157,8 +157,11 @@ def test_validate_redirect_uri_localhost_wildcard(monkeypatch):
def test_client_name_resolution(monkeypatch): def test_client_name_resolution(monkeypatch):
registry = _get_registry(monkeypatch, "claude-desktop, custom-tool") # Names are derived generically from the client_id — there is no built-in
# "well-known" client map, so previously special-cased ids now title-case.
registry = _get_registry(monkeypatch, "claude-desktop, claude-ai, custom-tool")
assert registry.get_client("claude-desktop").name == "Claude Desktop" assert registry.get_client("claude-desktop").name == "Claude Desktop"
assert registry.get_client("claude-ai").name == "Claude Ai"
assert registry.get_client("custom-tool").name == "Custom Tool" assert registry.get_client("custom-tool").name == "Custom Tool"