Zum Inhalt springen

claude.ai und andere OAuth-Clients verbinden

Browserberg als Remote-MCP-Connector in claude.ai: Die Control Plane ist ihr eigener OAuth-2.1-Server, das Dashboard der Zustimmungsbildschirm.

Zuletzt aktualisiert:

Was passiert, wenn du den Connector hinzufügst

Richte einen Remote-MCP-Client auf /v1/mcp deines API-Hosts. Die erste Anfrage antwortet mit 401 und einem WWW-Authenticate-Header, der das Ressourcen-Metadaten-Dokument nennt; der Client liest es, registriert sich (dynamische Client-Registrierung, öffentlicher Client mit PKCE) und schickt dich zum Autorisierungsendpunkt. Der reicht dich ans Dashboard weiter: Anmelden, falls nötig, sehen, welche App fragt und wohin sie zurückgeschickt wird, erlauben oder ablehnen. Der Client tauscht dann seinen Code gegen ein Zugriffstoken und ruft Tools als du auf. Jeder Aufruf trägt deine Organisation, deine Rolle und deinen Namen im Audit-Log.

Die Endpunkte

Name Typ Beschreibung
/.well-known/oauth-authorization-server GET Discovery: Endpunkte, Antworttyp `code`, PKCE `S256`, Client-Authentifizierung `none`.
/.well-known/oauth-protected-resource/v1/mcp GET Benennt `/v1/mcp` als Ressource und diesen Server als ihren Autorisierungsserver.
/oauth/register POST Dynamische Client-Registrierung. Nur öffentliche Clients; Redirect-URIs müssen `https` oder Loopback sein; je Adresse ratenbegrenzt.
/oauth/authorize GET Prüft Client, Redirect-URI, PKCE-Challenge und optionales `resource`, dann Weiterleitung zur Zustimmungsseite des Dashboards.
/oauth/token POST Grants `authorization_code` (mit dem PKCE-Verifier) und `refresh_token`. Zugriffstoken leben eine Stunde; Refresh-Tokens rotieren und leben neunzig Tage.
/oauth/revoke POST Widerruft ein Zugriffs- oder Refresh-Token. Antwortet immer mit 200.

Was das Token ist

Ein Zugriffstoken ist ein Browserberg-API-Schlüssel der Art oauth, gebunden an dich und an den Client, der gefragt hat. Es ist nicht auf den MCP-Endpunkt beschränkt, denn der gehostete MCP-Server macht aus jedem Tool-Aufruf ohnehin eine gewöhnliche API-Anfrage als Aufrufer. Es trägt deshalb deine Rolle: Das Token eines Mitglieds kann keine Zugangsdaten anlegen, keine Workflows veröffentlichen, keine Pools ändern, keine Secrets rotieren und das Audit-Log nicht versiegeln. Verbundene Apps stehen unter Verbundene Apps auf der Seite API-Schlüssel, und das Trennen dort widerruft ihre Tokens sofort.

Die Discovery-Dokumente lesen

BASE="https://browserberg.com"

# The discovery documents an MCP client reads on its own. No credential needed.
curl -s "$BASE/.well-known/oauth-authorization-server" \
  | python3 -c 'import json,sys; d=json.load(sys.stdin); print("issuer:", d["issuer"]); print("authorize:", d["authorization_endpoint"].replace(d["issuer"], "")); print("token:", d["token_endpoint"].replace(d["issuer"], "")); print("pkce:", d["code_challenge_methods_supported"])'

curl -s "$BASE/.well-known/oauth-protected-resource/v1/mcp" \
  | python3 -c 'import json,sys; d=json.load(sys.stdin); print("resource ends with:", d["resource"].rsplit("/", 2)[-2:])'

Hinweis · Self-hosted

Der OAuth-Server wird nur registriert, wenn `BB_PUBLIC_BASE_URL` gesetzt ist; sonst sagt es das Startprotokoll. API-Schlüssel funktionieren weiter für jeden Client, der einen Header setzen kann, mit oder ohne OAuth.

Weiterlesen

  • MCP-Server Die Tools, der Skill, der gehostete Endpunkt
  • Authentifizierung API-Schlüssel und das Dashboard
  • OAuth-Referenz Anfrage- und Antwortformen