Autenticazione OAuth MCP
Bob supporta OAuth 2.1 per i server MCP che richiedono accesso delegato dall'utente. Bob gestisce automaticamente il flusso di autenticazione, incluso il refresh dei token, quindi non devi gestire i token manualmente.
Per la configurazione generale di MCP, consulta Usare MCP in Bob.
Panoramica
Alcuni server MCP devono agire per tuo conto come utente, ad esempio per leggere i tuoi repository GitHub o accedere ai tuoi file di Google Drive. Questi server utilizzano OAuth 2.1 per richiedere il tuo consenso prima di accedere a qualsiasi dato.
Bob gestisce automaticamente l'intero flusso OAuth. Quando ti connetti a un server che richiede OAuth, il server viene contrassegnato con un avviso di autenticazione necessaria nelle impostazioni MCP e appare un pulsante di autenticazione. Fai clic sul pulsante per aprire il flusso di autorizzazione nel tuo browser. Dopo l'autorizzazione, Bob gestisce l'archiviazione e il refresh dei token senza ulteriori passaggi manuali.
Questo è diverso dai metodi di autenticazione statici come un token Bearer in headers o una chiave API in env, che sono adatti per account di servizio o token che non scadono. Usa OAuth quando:
- Il server necessita di accesso a risorse di proprietà del tuo account utente
- Il server di autorizzazione del server emette token di breve durata che devono essere aggiornati
- Vuoi evitare di memorizzare segreti di lunga durata nei tuoi file di configurazione MCP
Come funziona il flusso di autenticazione
- Aggiungi un server MCP abilitato per OAuth al tuo file di configurazione (nessuna credenziale
headersoenvrichiesta) - Quando Bob si connette per la prima volta al server, rileva i metadati di autorizzazione OAuth del server
- Bob apre un prompt di autenticazione basato su browser chiedendoti di accedere e concedere il consenso
- Dopo l'autorizzazione, Bob memorizza i token di accesso e refresh in modo sicuro tra le sessioni
- Bob aggiorna automaticamente i token prima che scadano. Non ti viene richiesto di nuovo a meno che il refresh non fallisca.
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
I server MCP abilitati per OAuth pubblicizzano automaticamente i loro requisiti di autorizzazione. Nella maggior parte dei casi hai bisogno solo dell'URL del server — i campi OAuth sono opzionali. Bob supporta anche le seguenti proprietà OAuth opzionali:
oauth: Imposta sufalseper disabilitare OAuth per un server, otrueper abilitarlo esplicitamenteclientId: ID client OAuth, se richiesto dal server di autorizzazioneclientSecret: Secret client OAuth, se richiesto dal server di autorizzazionescope: Elenco separato da spazi degli scope OAuth da richiedere
Esempio di configurazione:
{
"mcpServers": {
"my-oauth-server": {
"url": "https://your-server-url.com/mcp"
}
}
}Bob rileva il requisito OAuth quando si connette e avvia il flusso. Non sono necessarie credenziali headers o env.
L'aggiunta di un header Authorization statico a un server abilitato per OAuth disabilita completamente OAuth automatico. Bob non tenterà il flusso OAuth. Al contrario, quando OAuth è attivo, Bob rimuove qualsiasi header Authorization statico prima di inviare richieste. Usa solo un metodo.
Autenticarsi quando richiesto
Quando Bob si connette a un server abilitato per OAuth per la prima volta:
- Appare un prompt di autenticazione nell'IDE
- Esamina i permessi che il server sta richiedendo
- Accedi con l'account richiesto e concedi il consenso
- Bob memorizza i token e completa automaticamente la connessione
Il prompt può apparire in una finestra del browser o in una webview incorporata, a seconda del server di autorizzazione.
Visualizzare e gestire lo stato di autenticazione
Per verificare o gestire l'autenticazione per un server MCP:
- Fai clic sull'icona nel pannello Bob.
- Seleziona la scheda MCP.
- Individua il server nell'elenco.
I server autenticati mostrano un indicatore di stato connesso. Se l'autenticazione è scaduta o è stata revocata, il server mostra uno stato di errore.
Per riautenticarsi: Fai clic su accanto al server per riavviare la connessione. Bob apre nuovamente il prompt di autenticazione.
Risoluzione dei problemi
Il prompt di autenticazione non appare
- Conferma che il server non sia contrassegnato come disabilitato nella tua configurazione
- Riavvia il server dalla scheda delle impostazioni MCP
- Verifica che il tuo browser o webview non stia bloccando la pagina di autorizzazione
L'autenticazione ha successo ma il server non riesce a connettersi
- Verifica che l'URL del server sia corretto e raggiungibile
- Verifica di aver concesso tutti i permessi richiesti durante il passaggio di consenso
- Consulta la documentazione del server per eventuali requisiti di configurazione aggiuntivi
I token scadono frequentemente ed è richiesta la riautenticazione
- Conferma che il server di autorizzazione supporti i token di refresh. Alcuni server emettono token di solo accesso con durate brevi.
- Verifica che l'orologio del tuo sistema sia accurato, poiché lo sfasamento dell'orologio può causare 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.
Utilizzare MCP in Bob
Il Model Context Protocol (MCP) estende le capacità di Bob connettendosi a strumenti e servizi esterni. Questa guida ti mostra come configurare, gestire e utilizzare i server MCP con Bob.
Interfaccia chat
L'interfaccia chat di Bob IDE è il tuo spazio di lavoro principale, dove usi prompt in linguaggio naturale, comandi slash e approvazione automatica per flussi di lavoro di coding assistiti dall'IA.