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
- Aggiungi l'URL del server MCP remoto al tuo file di configurazione senza credenziali
headersoenv. - Quando Bob si connette al server, Bob rileva i requisiti OAuth.
- Bob apre una finestra di accesso nel browser dove puoi esaminare i permessi richiesti e approvare l'accesso.
- Bob riceve i token di autorizzazione e li memorizza in modo sicuro nelle tue sessioni.
- 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à | Tipo | Descrizione |
|---|---|---|
url | string | URL dell'endpoint MCP remoto (obbligatorio). |
oauth.enabled | boolean | Imposta su false per disabilitare OAuth, o true per richiedere OAuth. Abilitato per impostazione predefinita quando non è presente un header Authorization. |
oauth.clientId | string | ID client OAuth pre-registrato emesso dal tuo identity provider. |
oauth.clientSecret | string | Client secret OAuth, se il tuo server di autorizzazione lo richiede per i client confidenziali. |
oauth.scope | string | Elenco separato da spazi degli scope OAuth da richiedere. |
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:
| Impostazione | Valore |
|---|---|
| Tipo di applicazione o client | Public, Native o Loopback (Authorization Code con PKCE) |
| URI di reindirizzamento | http://127.0.0.1:33418/callback |
| URI di reindirizzamento aggiuntivi | Da http://127.0.0.1:33419/callback a http://127.0.0.1:33427/callback (consigliato se la porta 33418 è occupata) |
| Tipi di grant | Authorization Code (authorization_code) e Refresh Token (refresh_token) |
| Scope | Scope 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:
- Esamina il prompt di autenticazione che si apre nell'IDE o nel tuo browser.
- Verifica i permessi che il server richiede.
- Accedi al tuo account e approva l'accesso.
- 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:
- Fai clic sull'icona nel pannello Bob.
- Seleziona la scheda MCP.
- 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
Authorizationstatico inheaders. - 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
33419a33427.
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.
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.