Vai al contenuto principale

Documentation Index

Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt

Use this file to discover all available pages before exploring further.

Aggiungere server MCP

Dalla riga di comando

Il modo più rapido per aggiungere un server MCP:
# server stdio — passa semplicemente il comando dopo --
devin mcp add <name> -- <command> [args...]

# server HTTP — passa l'URL come argomento posizionale
devin mcp add <name> <URL>

# server HTTP — oppure usa il flag --url
devin mcp add <name> --url <URL>
Il tipo di trasporto viene determinato automaticamente: un URL implica HTTP (Streamable HTTP), mentre gli argomenti in coda (o --command) implicano stdio.
I server MCP remoti usano Streamable HTTP per impostazione predefinita. Se il server risponde con un errore HTTP 4xx, la CLI ripiega su SSE allo stesso URL. Imposta "transport": "sse" esplicitamente, se necessario — vedi fallback SSE legacy di seguito.
Per impostazione predefinita, i server vengono salvati nell’ambito local (.devin/config.local.json, ignorato da git). Usa -s/--scope per modificarlo:
devin mcp add -s project <name> <URL>   # condiviso tramite .devin/config.json
devin mcp add -s user <name> <URL>      # globale (~/.config/devin/config.json; %APPDATA%\devin\config.json su Windows)
Puoi anche gestire i server dalla riga di comando:
devin mcp list              # Elenca tutti i server configurati
devin mcp get <name>        # Mostra i dettagli di un server specifico
devin mcp remove <name>     # Rimuove un server configurato
devin mcp login <name>      # Esegue l'autenticazione con un server tramite OAuth
devin mcp logout <name>     # Rimuove le credenziali OAuth memorizzate

Tramite il file di configurazione

Aggiungi i server direttamente alla sezione mcpServers del file di configurazione:
// .devin/config.json
{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "@company/mcp-server"],
      "env": {
        "API_KEY": "your-key"
      }
    }
  }
}
I server a livello di progetto vengono condivisi con il tuo team tramite il controllo di 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)

CampoTipoObbligatorioDescrizione
commandstringL’eseguibile da eseguire
argsstring[]NoArgomenti della riga di comando
envobjectNoVariabili d’ambiente da impostare

Server remoto (Streamable HTTP)

CampoTipoObbligatorioDescrizione
urlstringL’URL dell’endpoint del server MCP
transportstringNo"http" (Streamable HTTP, predefinito per i server basati su URL) oppure "sse" (SSE legacy). Se è impostato su "http" o omesso, la CLI tenta prima Streamable HTTP e, in caso di errori 4xx, passa a SSE (secondo la spec). Imposta esplicitamente "sse" se l’endpoint SSE del server si trova in un percorso diverso.
headersobjectNoHeader HTTP personalizzati da includere nelle richieste

Esempi

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_..."
      }
    }
  }
}
{
  "mcpServers": {
    "notion": {
      "url": "https://mcp.notion.com/mcp",
      "transport": "http"
    }
  }
}
Dopo aver aggiunto un server basato su OAuth, esegui devin mcp login notion per autenticarti. Vedi Authentication qui sotto.
{
  "mcpServers": {
    "linear": {
      "url": "https://mcp.linear.app/mcp",
      "transport": "http"
    }
  }
}
{
  "mcpServers": {
    "atlassian": {
      "url": "https://mcp.atlassian.com/v1/mcp",
      "transport": "http"
    }
  }
}
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.
{
  "mcpServers": {
    "my-tools": {
      "command": "python",
      "args": ["./scripts/mcp-server.py"],
      "env": {
        "DB_URL": "postgres://localhost/mydb"
      }
    }
  }
}

Autenticazione

Alcuni server MCP remoti richiedono l’autenticazione OAuth. Dopo aver aggiunto un server basato su OAuth alla tua configurazione, autenticati con il comando login:
devin mcp login <server-name>
Ad esempio:
devin mcp login notion    # Autenticazione con Notion
devin mcp login linear    # Autenticazione con Linear
Si apre una finestra del browser in cui è possibile autorizzare l’accesso. I token OAuth vengono archiviati localmente e aggiornati automaticamente. Facoltativamente, è possibile richiedere ambiti OAuth specifici:
devin mcp login notion --scopes read,write
Per rimuovere le credenziali OAuth memorizzate per un server:
devin mcp logout <server-name>
Se il server supporta OAuth, ti verrà anche chiesto automaticamente di autenticarti al primo utilizzo del server.

Gestione dei segreti

Non eseguire mai il commit di chiavi API o segreti nel sistema di controllo versione. Usa .devin/config.local.json per i valori sensibili.
Per i progetti di team, l’approccio consigliato è:
  1. Definire il server in .devin/config.json con segnaposto o senza variabili d’ambiente
  2. Ogni membro del team aggiunge le proprie chiavi personali in .devin/config.local.json
Il file di configurazione locale viene escluso automaticamente da Git.

Autorizzazioni MCP

Puoi pre-approvare, negare o richiedere sempre una conferma per strumenti MCP specifici nella configurazione delle autorizzazioni:
{
  "permissions": {
    "allow": [
      "mcp__github__list_issues",
      "mcp__github__create_issue"
    ],
    "deny": [
      "mcp__github__delete_repo"
    ],
    "ask": [
      "mcp__linear__*"
    ]
  }
}
Pattern di corrispondenza per le autorizzazioni:
PatternCorrisponde a
mcp__server__toolUno strumento specifico su un server specifico
mcp__server__*Tutti gli strumenti su un server specifico
mcp__*Tutti gli strumenti MCP su tutti i server

Risoluzione dei problemi

Se durante la connessione a un server MCP remoto visualizzi errori come Auth required o AuthRequired, significa che il server richiede l’autenticazione OAuth.Esegui:
devin mcp login <server-name>
Ogni client MCP si autentica in modo indipendente. Anche se ti sei già autenticato in Windsurf o Claude Code, per Devin CLI devi eseguire devin mcp login separatamente.Per verificare lo stato dell’autenticazione, prova a rimuovere e aggiungere di nuovo le credenziali:
devin mcp logout <server-name>
devin mcp login <server-name>
Verifica che il comando funzioni al di fuori di Devin CLI:
npx -y @modelcontextprotocol/server-github
Verifica che tutte le variabili d’ambiente richieste siano impostate.
Chiedi all’agente di elencare i server MCP e gli strumenti. Il server potrebbe richiedere qualche istante per inizializzarsi.
Controlla la configurazione delle autorizzazioni. Per impostazione predefinita, gli strumenti MCP richiedono l’approvazione. Aggiungili a permissions.allow per approvarli automaticamente.
Durante la connessione a un server HTTP, Devin CLI prova prima Streamable HTTP. Se il server risponde con un errore HTTP 4xx (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 — errori di connessione, timeout e risposte 5xx vengono segnalati direttamente senza tentare SSE.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.