Come funziona OAuth per un client MCP?

Un client MCP usa OAuth per ottenere un access token per un server HTTP protetto, quindi presenta quel token con le proprie richieste.

Connettere un client a un URL del server non gli dà accesso ai dati protetti dell'account. OAuth consente al client di richiedere un accesso delegato tramite un authorization server, il servizio che emette il token.

La specifica di autorizzazione MCP definisce questo flusso per i trasporti HTTP. L'autorizzazione è opzionale per le implementazioni MCP. I server stdio locali usano un meccanismo di credenziali separato.

Come fa il client a trovare dove autenticarsi?

Il client legge i metadati della risorsa protetta del server MCP per scoprire il suo authorization server.

Secondo le regole di discovery, un server può fornire quell'URL dei metadati in un header WWW-Authenticate su una risposta 401. I client supportano anche la discovery tramite percorsi di metadati well-known.

Il campo authorization_servers dei metadati identifica gli authorization server disponibili. Il client recupera i metadati del server selezionato per trovare i suoi endpoint e le funzionalità supportate.

Come si identifica il client?

Il client ottiene un client ID tramite un meccanismo di registrazione supportato dall'authorization server.

Le regole di registrazione MCP preferiscono le informazioni preregistrate del client quando disponibili. In alternativa, i client possono usare Client ID Metadata Document quando il server ne annuncia il supporto.

Un Client ID Metadata Document è un documento JSON a un URL HTTPS che descrive il client. L'URL funge da client ID.

Queste regole deprecano la registrazione dinamica del client, che consente a un client di richiedere un ID tramite un endpoint di registrazione. La specifica mantiene il meccanismo per compatibilità con authorization server privi del supporto ai metadata document.

Come ottiene il token il client?

Il client scambia un authorization code con un access token dopo che l'authorization server approva la concessione.

Le regole di protezione dell'authorization code richiedono PKCE, che vincola lo scambio al client che lo ha avviato. Il client crea un verifier segreto e invia una challenge derivata con la propria richiesta di autorizzazione. Fornisce il verifier al momento del riscatto del codice, contribuendo a impedire che un codice intercettato venga usato da un altro chiamante.

Cosa controllano gli scope e la risorsa di destinazione?

Gli scope descrivono i permessi richiesti. La risorsa di destinazione identifica il server per cui il client richiede un token.

Le regole di selezione degli scope indicano ai client di usare il valore scope della challenge quando fornito. Un client dovrebbe richiedere l'accesso necessario alla propria operazione.

Il client include il parametro resource nelle richieste di autorizzazione e di token. Invia il token risultante nell'header Authorization sulle richieste HTTP protette. Il server ricevente verifica che il token sia stato emesso per sé.

Il permesso di invocare uno strumento non stabilisce che una particolare invocazione corrisponda al task dell'utente. L'host decide comunque se procedere con l'azione proposta.

Come autorizzo un client a usare Bird?

Aggiungi l'URL MCP ospitato di Bird a un client compatibile e completa l'accesso tramite browser.

L'handshake documentato di Bird usa la registrazione dinamica del client. Descrive il flusso di connessione di Bird separatamente dal meccanismo di metadata document preferito dalla specifica.

Nella schermata di consenso, scegli i permessi dello spazio di lavoro o dell'organizzazione da delegare. La concessione è limitata da ciò che il client richiede, da ciò che approvi e da ciò che possiedi.

Il nome visualizzato del client è autodichiarato: verifica che corrisponda al client che hai avviato. Puoi revocare la sua concessione da App connesse nel tuo profilo.

Uno strumento può rimanere elencato quando la tua concessione non ha il permesso di invocarlo. Una chiamata whoami riuscita conferma l'identità dell'utente autenticato. L'operazione richiesta necessita comunque dei propri permessi.

Per un processo bird mcp locale, il server riutilizza il login memorizzato di CLI. La guida di configurazione MCP descrive quel percorso separato.

Costruisci sulla stessa rete.

Una chiave API di test è subito tua. L'accesso alla produzione si sblocca quando aggiungi un metodo di pagamento e verifichi un mittente.

La tua prossima idea. Pronta a partire.