ConfigurazioneMCP

Autenticazione OAuth MCP

Connetti Bob a server MCP che richiedono accesso delegato dall'utente con OAuth 2.1. Bob gestisce il processo di autenticazione e refresh dei token in modo che tu non debba gestire i token manualmente.

Per la configurazione generale di MCP, consulta Usare MCP in Bob.

Panoramica

Puoi connettere Bob a server Model Context Protocol (MCP) che agiscono per tuo conto, come l'accesso ai tuoi repository di codice, servizi cloud o strumenti interni. Questi server usano OAuth 2.1 in modo da poter accedere e approvare l'accesso.

Bob gestisce il flusso di autenticazione direttamente. Quando configuri un server che richiede OAuth, Bob mostra una richiesta di autenticazione nelle impostazioni MCP. Puoi fare clic sul pulsante per aprire il tuo identity provider in una finestra del browser, completare l'accesso e approvare i permessi. Bob memorizza e aggiorna i tuoi token di accesso senza richiedere che tu gestisca le credenziali manualmente.

Usa OAuth quando:

  • Hai bisogno di accedere a risorse associate al tuo account utente personale o aziendale
  • Il server usa token a breve durata che richiedono il refresh automatico
  • Vuoi tenere le credenziali statiche e i segreti fuori dai tuoi file di configurazione

Quando hai già un token API statico o un personal access token che non scade, puoi usare un Bearer token in headers.

Come funziona il flusso di autenticazione

  1. Aggiungi l'URL del server MCP remoto al tuo file di configurazione senza credenziali headers o env.
  2. Quando Bob si connette al server, Bob rileva i requisiti OAuth.
  3. Bob apre una finestra di accesso nel browser dove puoi esaminare i permessi richiesti e approvare l'accesso.
  4. Bob riceve i token di autorizzazione e li memorizza in modo sicuro nelle tue sessioni.
  5. Bob aggiorna automaticamente i token prima della scadenza in modo da poter lavorare senza interruzioni.
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)                                   |

Configurare un server abilitato per OAuth

Puoi configurare i tuoi server MCP nella configurazione globale (~/.bob/mcp_settings.json) o nella configurazione del progetto (.bob/mcp.json).

Configurazione minimale (discovery automatico)

Quando il tuo server MCP fornisce il discovery automatico dei metadati OAuth, hai bisogno solo di specificare l'url:

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

Bob rileva i requisiti OAuth alla connessione e ti guida attraverso il processo di accesso nel browser.

Parametri OAuth personalizzati

Quando il tuo identity provider richiede un client ID pre-registrato, scope personalizzati o un client secret, configura l'oggetto oauth:

{
  "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"
      }
    }
  }
}

Proprietà di configurazione

ProprietàTipoDescrizione
urlstringURL dell'endpoint MCP remoto (obbligatorio).
oauth.enabledbooleanImposta su false per disabilitare OAuth, o true per richiedere OAuth. Abilitato per impostazione predefinita quando non è presente un header Authorization.
oauth.clientIdstringID client OAuth pre-registrato emesso dal tuo identity provider.
oauth.clientSecretstringClient secret OAuth, se il tuo server di autorizzazione lo richiede per i client confidenziali.
oauth.scopestringElenco separato da spazi degli scope OAuth da richiedere.
Attenzione:

L'aggiunta di un header Authorization statico alla configurazione di un server MCP disattiva OAuth. Quando è presente un header Authorization, Bob non avvia il flusso OAuth. Quando OAuth è attivo, Bob rimuove gli header Authorization statici prima di inviare le richieste. Usa un solo metodo di autenticazione per server.

Registrare Bob con il tuo identity provider

Quando il tuo identity provider (IdP) richiede che tu registri Bob come applicazione client prima di connetterti, usa le seguenti impostazioni applicative:

ImpostazioneValore
Tipo di applicazione o clientPublic, Native o Loopback (Authorization Code con PKCE)
URI di reindirizzamentohttp://127.0.0.1:33418/callback
URI di reindirizzamento aggiuntiviDa http://127.0.0.1:33419/callback a http://127.0.0.1:33427/callback (consigliato se la porta 33418 è occupata)
Tipi di grantAuthorization Code (authorization_code) e Refresh Token (refresh_token)
ScopeScope specificati nella documentazione del tuo server MCP

Copia il client ID emesso in oauth.clientId nel tuo file di configurazione.

Autenticarsi quando richiesto

Quando ti connetti per la prima volta a un server abilitato per OAuth:

  1. Esamina il prompt di autenticazione che si apre nell'IDE o nel tuo browser.
  2. Verifica i permessi che il server richiede.
  3. Accedi al tuo account e approva l'accesso.
  4. Bob salva le tue credenziali e si connette agli strumenti del server.

Visualizzare e gestire lo stato di autenticazione

Puoi controllare o modificare l'autenticazione per un server MCP:

  1. Fai clic sull'icona nel pannello Bob.
  2. Seleziona la scheda MCP.
  3. Individua il server nell'elenco.

I server connessi mostrano un indicatore di stato. Quando l'autenticazione scade o i permessi cambiano, puoi aggiornare la tua connessione.

Per riautenticarsi: Fai clic su accanto al nome del server per riavviare la connessione e accedere nuovamente.

Risoluzione dei problemi

Il prompt di autenticazione non si apre

  • Verifica di non aver contrassegnato il server come disabilitato nella tua configurazione.
  • Controlla che il tuo file di configurazione non includa un header Authorization statico in headers.
  • Riavvia il server dalla scheda delle impostazioni MCP.
  • Controlla che il tuo browser o firewall non blocchi le connessioni loopback locali su 127.0.0.1.

L'identity provider restituisce un errore di mancata corrispondenza dell'URI di reindirizzamento

  • Verifica che la registrazione del client nell'identity provider includa http://127.0.0.1:33418/callback.
  • Se la porta 33418 è occupata, registra porte aggiuntive da 33419 a 33427.

L'autenticazione ha successo ma il server non riesce a connettersi

  • Verifica che l'URL del server sia corretto e accessibile dalla tua rete.
  • Controlla di aver approvato tutti gli scope richiesti durante il passaggio di accesso.
  • Consulta i log del server o la documentazione per i ruoli o i permessi utente necessari.

I token scadono frequentemente e devi riautenticarti

  • Conferma che il tuo server di autorizzazione emetta refresh token.
  • Controlla che l'orologio del tuo sistema sia sincronizzato per evitare la scadenza prematura dei token.

Vuoi disconnetterti o cambiare account

Il riavvio del server non cancella le credenziali OAuth. Per disconnetterti o cambiare account, usa Reimposta auth dalla scheda delle impostazioni MCP. Questo cancella i token memorizzati e attiva un nuovo prompt di autenticazione alla prossima connessione.

Come valuti questo argomento?