Aggiungere server MCP
Dalla riga di comando
Il modo più rapido per aggiungere un server MCP:--command) implicano stdio.
I server MCP remoti usano Streamable HTTP per impostazione predefinita. Se il server risponde con un errore HTTP 4xx, ad esempio 404 o 405, la CLI ripiega su SSE allo stesso URL. Gli errori di authentication (un 401 o un 403 per ambito insufficiente con una challenge
WWW-Authenticate) non attivano il fallback: vengono segnalati direttamente, così puoi autenticarti. Imposta "transport": "sse" esplicitamente, se necessario — vedi fallback SSE legacy di seguito..devin/mcp_config.local.json, ignorato da git). Usa -s/--scope per modificarlo:
Tramite file di configurazione
Aggiungi i server direttamente nella sezionemcpServers del file di configurazione MCP:
Il percorso del file di configurazione MCP è cambiato nella versione v3000.3 (release Local 3.6). Nelle versioni precedenti (precedenti alla v3000.3), i server MCP sono archiviati nella chiave
mcpServers dei file di configurazione principali (~/.config/devin/config.json, .devin/config.json, .devin/config.local.json). Nelle versioni più recenti, sono archiviati in file dedicati nelle stesse posizioni: ~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json su Windows), .devin/mcp_config.json e .devin/mcp_config.local.json. All’avvio, tutte le voci mcpServers presenti nei file di configurazione principali vengono migrate automaticamente nei file dedicati.- Configurazione del progetto
- Configurazione utente
- Override locale
I server a livello di progetto vengono condivisi con il team tramite il controllo versione.
Opzioni di configurazione del server
I server MCP possono essere configurati in due modi: come comando locale (trasporto stdio) o come server remoto (trasporto HTTP).Comando locale (stdio)
Server remoto (Streamable HTTP)
Esempi
GitHub (stdio)
GitHub (stdio)
Notion (HTTP con OAuth)
Notion (HTTP con OAuth)
Dopo aver aggiunto un server basato su OAuth, esegui
devin mcp login notion per autenticarti. Vedi Autenticazione qui sotto.Linear (HTTP con OAuth)
Linear (HTTP con OAuth)
Atlassian / Jira (HTTP con OAuth)
Atlassian / Jira (HTTP con OAuth)
Dopo averlo aggiunto, esegui
devin mcp login atlassian per autenticarti. Ogni client MCP (Windsurf, Claude Code, Devin CLI) mantiene la propria sessione OAuth, quindi devi effettuare l’accesso separatamente anche se ti sei già autenticato in un altro tool.Server personalizzato (stdio)
Server personalizzato (stdio)
Autenticazione
Alcuni server MCP remoti richiedono l’autenticazione OAuth. Dopo aver aggiunto un server basato su OAuth alla tua configurazione, autenticati con il comandologin:
Se il server supporta OAuth, ti verrà anche chiesto automaticamente di autenticarti al primo utilizzo del server.
Riautenticazione
Le credenziali OAuth archiviate non durano per sempre: scadono e un amministratore può revocarle dal lato del provider. In tal caso, anziché connettersi, il server segnala lo stato auth-required e i relativi strumenti (e i prompt) non sono più disponibili finché non esegui di nuovo l’accesso. Per riautenticarti, cancella le credenziali archiviate ed esegui nuovamente il flusso nel browser:logout elimina i token salvati per quel server; login ripete il flusso OAuth e ne memorizza di nuovi. Esegui la stessa procedura dopo aver modificato oauthClientId, oauthClientSecret o oauthResource: le credenziali emesse con le impostazioni precedenti non vengono riutilizzate.
Le integrazioni con l’Editor che utilizzano Devin CLI tramite ACP mostrano lo stesso stato di autenticazione richiesta, con un’azione di riautenticazione che cancella le credenziali memorizzate e riapre il flusso nel browser, equivalente alla coppia
logout + login sopra descritta.Client OAuth preregistrati
La maggior parte dei server MCP basati su OAuth supporta la registrazione dinamica del client (DCR), quindi Devin CLI si registra automaticamente e non è necessario fornire credenziali client. Alcuni provider (ad es. GitHub) non supportano DCR e richiedono invece un client OAuth preregistrato. In questi casi, specifica il Client ID — e un client secret se si tratta di un client confidenziale — tramiteoauthClientId / oauthClientSecret:
oauthClientId è impostato, Devin CLI non esegue la registrazione dinamica del client e usa il client preregistrato durante il flusso OAuth. Esegui devin mcp login <name> (oppure attiva il primo utilizzo) per autenticarti come di consueto.
Puoi anche impostarli dalla riga di comando quando aggiungi o accedi a un server:
oauthClientId / oauthClientSecret sono credenziali client OAuth usate durante il flusso di autorizzazione. Non sono credenziali generiche per ogni richiesta: se un server si aspetta un token statico, usa invece headers (HTTP) o env (stdio).Override della risorsa OAuth
Durante l’autorizzazione OAuth e lo scambio di token, Devin CLI invia un parametroresource RFC 8707 in modo che il server di autorizzazione possa emettere token limitati a una specifica audience. Per impostazione predefinita, il valore è l’URL del server MCP. Puoi sovrascriverlo con oauthResource:
- Non impostato (predefinito): invia
resourceimpostato sull’URL del server MCP. - Valore non vuoto: sostituisce il valore predefinito con il valore specificato (ad es. un URI ID di un’applicazione specifica).
- Stringa vuota (
""): omette completamente il parametroresourcesia dall’URL di autorizzazione sia dallo scambio del token.
oauthResource supporta l’espansione di ${env:VAR} e ${file:/path}.
Abilitare e disabilitare i server
Puoi disabilitare temporaneamente un server MCP senza rimuoverne la configurazione. Un server disabilitato viene ignorato durante il rilevamento degli strumenti: i suoi strumenti non verranno visualizzati e il processo del server non verrà avviato."disabled": true sulla voce del server nel file di configurazione. Usa -s/--scope per selezionare un ambito specifico:
La disattivazione è utile quando vuoi mantenere la configurazione di un server (incluse le variabili d’ambiente e le credenziali OAuth) ma interromperne temporaneamente l’uso — per esempio, per ridurre il tempo di avvio o isolare un problema.
Gestione dei segreti
Per i progetti di team, l’approccio consigliato è:- Definire il server in
.devin/mcp_config.jsoncon segnaposto o senza variabili d’ambiente - Ogni membro del team aggiunge le proprie chiavi personali in
.devin/mcp_config.local.json
Autorizzazioni MCP
Puoi pre-approvare, negare o richiedere sempre una conferma per strumenti MCP specifici nella configurazione delle autorizzazioni:Prompt
I prompt non richiedono alcuna configurazione: qualsiasi server connesso che dichiari la funzionalità MCPprompts aggiunge automaticamente i comandi slash /mcp__<server>__<prompt>. Poiché il nome del comando include il nome del server, rinominare un server in mcpServers rinomina anche i relativi comandi prompt. Consulta Panoramica MCP — Prompt come comandi slash.
Restrizioni dell’organizzazione
Se fai parte di un team Enterprise, il tuo amministratore potrebbe limitare i server MCP a cui puoi connetterti. Un server che hai configurato può essere bloccato se MCP è disabilitato per il tuo team, oppure se non è incluso nell’allowlist del team o in un MCP registry obbligatorio; in tal caso non si connetterà e i suoi strumenti non saranno disponibili. Per maggiori dettagli, consulta Team Settings — MCP Registry.Risoluzione dei problemi
Autenticazione richiesta / errori OAuth con server remoti
Autenticazione richiesta / errori OAuth con server remoti
Se durante la connessione a un server MCP remoto visualizzi errori come Ogni client MCP si autentica in modo indipendente. Anche se ti sei già autenticato in Windsurf o Claude Code, per Devin CLI devi eseguire
Auth required o AuthRequired, significa che il server richiede l’authentication OAuth.Esegui:devin mcp login separatamente.Per verificare lo stato dell’autenticazione, prova a rimuovere e aggiungere di nuovo le credenziali:Il server non si avvia
Il server non si avvia
Verifica che il comando funzioni al di fuori di Devin CLI:Verifica che tutte le variabili d’ambiente richieste siano impostate.
Strumenti non visualizzati
Strumenti non visualizzati
Chiedi all’agente di elencare i server MCP e gli strumenti. Il server potrebbe richiedere qualche istante per inizializzarsi.
Autorizzazione negata
Autorizzazione negata
Controlla la configurazione delle autorizzazioni. Per impostazione predefinita, gli strumenti MCP richiedono l’approvazione. Aggiungili a
permissions.allow per approvarli automaticamente.Errori OAuth dovuti al parametro resource
Errori OAuth dovuti al parametro resource
Alcuni server di autorizzazione rifiutano le richieste OAuth che includono il parametro Quindi autenticati di nuovo:Consulta Override della risorsa OAuth per l’elenco completo dei comportamenti di
resource definito da RFC 8707. Imposta oauthResource su una stringa vuota per omettere il parametro:oauthResource.Fallback SSE legacy
Fallback SSE legacy
Durante la connessione a un server HTTP, Devin CLI prova prima Streamable HTTP. Se il server risponde con un errore HTTP 4xx non legato all’authentication (ad es. 404 o 405), passa automaticamente a SSE legacy sullo stesso URL configurato. Questo segue le linee guida di retrocompatibilità della spec MCP.Il fallback si attiva solo in caso di risposte 4xx non legate all’authentication. Errori di connessione, timeout e risposte 5xx vengono segnalati direttamente senza tentare SSE. Anche le risposte che richiedono authentication — una risposta 401 o 403 per ambito insufficiente, con una challenge
WWW-Authenticate — vengono segnalate direttamente, così puoi eseguire devin mcp login <server-name> (o concedere l’ambito richiesto) anziché avviare un tentativo di connessione SSE. Consulta Autenticazione richiesta / errori OAuth con server remoti.Se l’endpoint SSE del server si trova in un percorso diverso (ad es. /sse invece di /mcp), imposta "transport": "sse" con l’URL SSE per connetterti direttamente senza il tentativo Streamable HTTP.Se entrambi i trasporti falliscono, il messaggio di errore include i dettagli di entrambi i tentativi per agevolare la risoluzione dei problemi.
