KonfigurationMCP

MCP OAuth-Authentifizierung

Verbinde dich über OAuth 2.1 mit MCP-Servern, die benutzerdelegierten Zugriff erfordern. Bob verwaltet den Authentifizierungs- und Token-Aktualisierungsprozess, sodass du Token nicht manuell verwalten musst.

Für die allgemeine MCP-Konfiguration siehe MCP in Bob verwenden.

Übersicht

Du kannst Bob mit Model Context Protocol (MCP)-Servern verbinden, die in deinem Namen agieren, wie z. B. beim Zugriff auf deine Code-Repositories, Cloud-Dienste oder internen Tools. Diese Server verwenden OAuth 2.1, damit du dich anmelden und den Zugriff genehmigen kannst.

Bob verwaltet den Authentifizierungsablauf direkt. Wenn du einen Server konfigurierst, der OAuth erfordert, zeigt Bob in den MCP-Einstellungen eine Authentifizierungsaufforderung an. Du kannst auf die Schaltfläche klicken, um deinen Identitätsanbieter in einem Browserfenster zu öffnen, deine Anmeldung abzuschließen und die Berechtigungen zu genehmigen. Bob speichert und aktualisiert deine Zugriffstoken, ohne dass du Anmeldeinformationen manuell verwalten musst.

Verwende OAuth, wenn:

  • Du auf Ressourcen zugreifen musst, die mit deinem persönlichen oder Unternehmens-Benutzerkonto verknüpft sind
  • Der Server kurzlebige Token verwendet, die eine automatische Token-Aktualisierung erfordern
  • Du statische Anmeldeinformationen und Geheimnisse aus deinen Konfigurationsdateien heraushalten möchtest

Wenn du bereits über ein statisches API-Token oder ein persönliches Zugriffstoken verfügst, das nicht abläuft, kannst du stattdessen ein Bearer-Token in headers verwenden.

Wie der Authentifizierungsablauf funktioniert

  1. Du fügst die URL des Remote-MCP-Servers zu deiner Konfigurationsdatei hinzu, ohne headers- oder env-Anmeldeinformationen.
  2. Wenn sich Bob mit dem Server verbindet, erkennt Bob die OAuth-Anforderungen.
  3. Bob öffnet ein Browser-Anmeldefenster, in dem du die angeforderten Berechtigungen überprüfst und den Zugriff genehmigst.
  4. Bob empfängt die Autorisierungstoken und speichert sie sicher über deine Sitzungen hinweg.
  5. Bob aktualisiert Token automatisch vor ihrem Ablauf, sodass du ohne Unterbrechung arbeiten kannst.
Bob IDE                     Authorization Server              MCP Server
   |                                |                               |
   |-- connect to server ---------->|                               |
   |<-- OAuth metadata (401) -------|                               |
   |-- open auth prompt ----------->|                               |
   |   (user signs in & consents)   |                               |
   |<-- authorization code ---------|                               |
   |-- exchange for tokens -------->|                               |
   |<-- access + refresh tokens ----|                               |
   |-- authenticated requests --------------------------------->    |
   |   (auto-refresh when needed)                                   |

Einen OAuth-fähigen Server konfigurieren

Du kannst deine MCP-Server entweder in deiner globalen Konfiguration (~/.bob/mcp_settings.json) oder in deiner Projektkonfiguration (.bob/mcp.json) konfigurieren.

Minimale Konfiguration (automatische Erkennung)

Wenn dein MCP-Server eine automatische OAuth-Metadaten-Erkennung bietet, musst du nur die url angeben:

{
  "mcpServers": {
    "my-oauth-server": {
      "url": "https://mcp.example.com/mcp"
    }
  }
}

Bob erkennt die OAuth-Anforderungen beim Herstellen der Verbindung und führt dich durch den Anmeldeprozess im Browser.

Benutzerdefinierte OAuth-Parameter

Wenn dein Identitätsanbieter eine vorregistrierte Client-ID, benutzerdefinierte Scopes oder ein Client-Secret erfordert, konfiguriere das oauth-Objekt:

{
  "mcpServers": {
    "my-oauth-server": {
      "url": "https://mcp.example.com/mcp",
      "oauth": {
        "enabled": true,
        "clientId": "your-client-id-from-idp",
        "clientSecret": "your-client-secret-if-required",
        "scope": "mcp:connect read:data"
      }
    }
  }
}

Konfigurationseigenschaften

EigenschaftTypBeschreibung
urlstringRemote-MCP-Endpunkt-URL (erforderlich).
oauth.enabledbooleanAuf false setzen, um OAuth zu deaktivieren, oder auf true, um OAuth zu erfordern. Standardmäßig aktiviert, wenn kein Authorization-Header vorhanden ist.
oauth.clientIdstringVorregistrierte OAuth-Client-ID, die von deinem Identitätsanbieter ausgestellt wurde.
oauth.clientSecretstringOAuth-Client-Secret, falls dein Autorisierungsserver eines für vertrauliche Clients erfordert.
oauth.scopestringDurch Leerzeichen getrennte Liste der OAuth-Scopes, die du anfordern möchtest.
Warnung:

Das Hinzufügen eines statischen Authorization-Headers zu einer MCP-Serverkonfiguration deaktiviert OAuth. Wenn ein Authorization-Header vorhanden ist, leitet Bob den OAuth-Ablauf nicht ein. Wenn OAuth aktiv ist, entfernt Bob statische Authorization-Header vor dem Senden von Anfragen. Verwende nur eine Authentifizierungsmethode pro Server.

Registriere Bob bei deinem Identitätsanbieter

Wenn dein Identitätsanbieter (IdP) erfordert, dass du Bob als Client-Anwendung registrierst, bevor du eine Verbindung herstellst, verwende die folgenden Anwendungseinstellungen:

EinstellungWert
Anwendungs- oder Client-TypÖffentlich, Native oder Loopback (Authorization Code mit PKCE)
Redirect-URIhttp://127.0.0.1:33418/callback
Zusätzliche Redirect-URIshttp://127.0.0.1:33419/callback bis http://127.0.0.1:33427/callback (empfohlen, wenn Port 33418 belegt ist)
Grant-TypenAuthorization Code (authorization_code) und Refresh Token (refresh_token)
ScopesIn der Dokumentation deines MCP-Servers angegebene Scopes

Kopiere die ausgestellte Client-ID in oauth.clientId in deiner Konfigurationsdatei.

Authentifizieren, wenn aufgefordert

Wenn du dich zum ersten Mal mit einem OAuth-fähigen Server verbindest:

  1. Überprüfe die Authentifizierungsaufforderung, die sich in der IDE oder deinem Browser öffnet.
  2. Überprüfe die Berechtigungen, die der Server anfordert.
  3. Melde dich bei deinem Konto an und genehmige den Zugriff.
  4. Bob speichert deine Anmeldeinformationen und verbindet sich mit den Server-Tools.

Authentifizierungsstatus anzeigen und verwalten

Du kannst den Authentifizierungsstatus für einen MCP-Server überprüfen oder ändern:

  1. Klicke auf das -Symbol im Bob-Panel.
  2. Wähle die Registerkarte MCP.
  3. Suche den Server in der Liste.

Verbundene Server zeigen einen Statusindikator an. Wenn die Authentifizierung abläuft oder sich Berechtigungen ändern, kannst du deine Verbindung aktualisieren.

Zur erneuten Authentifizierung: Klicke auf neben dem Servernamen, um die Verbindung neu zu starten und dich erneut anzumelden.

Fehlerbehebung

Die Authentifizierungsaufforderung öffnet sich nicht

  • Verifiziere, dass du den Server in deiner Konfiguration nicht als deaktiviert markiert hast.
  • Überprüfe, dass deine Konfigurationsdatei keinen statischen Authorization-Header in headers enthält.
  • Starte den Server über die Registerkarte für MCP-Einstellungen neu.
  • Überprüfe, dass dein Browser oder deine Firewall lokale Loopback-Verbindungen auf 127.0.0.1 nicht blockiert.

Der Identitätsanbieter gibt einen Redirect-URI-Fehler (mismatch) zurück

  • Verifiziere, dass die Client-Registrierung deines Identitätsanbieters http://127.0.0.1:33418/callback enthält.
  • Wenn Port 33418 belegt ist, registriere zusätzliche Ports von 33419 bis 33427.

Die Authentifizierung ist erfolgreich, aber der Server kann keine Verbindung herstellen

  • Verifiziere, dass die Server-URL korrekt und von deinem Netzwerk aus erreichbar ist.
  • Überprüfe, dass du alle erforderlichen Scopes während des Anmeldeschritts genehmigt hast.
  • Überprüfe die Serverprotokolle oder die Dokumentation auf erforderliche Benutzerrollen oder Berechtigungen.

Token laufen häufig ab und du musst dich erneut authentifizieren

  • Verifiziere, dass dein Autorisierungsserver Refresh-Token ausstellt.
  • Überprüfe, dass deine Systemzeit synchronisiert ist, um einen vorzeitigen Token-Ablauf zu verhindern.

Du möchtest dich abmelden oder Konten wechseln

Das Neustarten des Servers löscht keine OAuth-Anmeldeinformationen. Um dich abzumelden oder Konten zu wechseln, verwende Auth zurücksetzen auf der Registerkarte für MCP-Einstellungen. Dies löscht die gespeicherten Token und löst bei der nächsten Verbindung eine neue Authentifizierungsaufforderung aus.

Wie ist dieses Thema?