Vai al contenuto principale
MCP è un protocollo aperto che consente a Devin di utilizzare centinaia di strumenti e sorgenti di dati esterni. Devin supporta 3 metodi di trasporto (stdio, SSE e HTTP).

Perché usare MCP?

Con MCP, Devin può aiutarti a:
  • analizzare i log di Sentry, Datadog e Vercel
  • usare Devin come data analyst in Slack con MCP per database
  • approfondire i problemi di SonarQube, CircleCI e Jam
  • creare in blocco ticket Linear, documenti Notion, Google Docs (tramite Zapier) e altro ancora
  • ottenere contesto da Airtable, Stripe e Hubspot e interagirci direttamente
  • molto altro ancora!

Per iniziare a usare gli MCP

Vai su Settings > MCP Marketplace per abilitare un MCP.

Suggerimenti di configurazione

Per gli MCP che si autenticano con OAuth, Devin ti chiederà di visitare un URL per collegare il tuo account. Consigliamo vivamente di usare un account di servizio, non il tuo account personale, poiché l’accesso sarà condiviso all’interno della tua organizzazione.
Non trovi l’MCP che ti serve? Configuralo usando l’opzione “Add Your Own”!Hai problemi? Contattaci tramite la nostra pagina di supporto o via email all’indirizzo support@cognition.ai.

Configurare un server MCP personalizzato

Se l’MCP di cui hai bisogno non è nel marketplace, puoi aggiungere qualsiasi server MCP usando l’opzione Aggiungi il tuo. Devin supporta tre tipi di trasporto per i server personalizzati:
TrasportoIdeale perCampi richiesti
STDIOServer locali basati su CLI (ad es. npx, uvx, Docker)Comando, argomenti, variabili d’ambiente
SSEServer remoti che usano Server-Sent EventsURL del server, intestazioni
HTTPServer remoti che usano Streamable HTTPURL del server, intestazioni

Procedura passo passo: aggiungere un MCP server personalizzato

  1. Vai a Settings > MCP Marketplace.
  2. Clicca su Add Your Own nella parte superiore della pagina.
  3. Compila i dettagli del server:
    • Server Name: un nome descrittivo per il server (ad es. “Internal API Gateway”).
    • Icon (opzionale): un’emoji o un URL da usare come icona del server.
    • Short Description: un breve riepilogo di ciò che fa il server.
  4. Seleziona il tipo di trasporto (STDIO, SSE o HTTP).
  5. Compila i campi di configurazione specifici del trasporto (vedi Configuration format di seguito).
  6. Clicca su Save per creare il server.
  7. Clicca su Test listing tools per verificare la connessione. Devin avvierà un ambiente di test isolato, si connetterà al tuo server e proverà a rilevarne gli strumenti disponibili.
Il pulsante Test listing tools è disabilitato finché non salvi la configurazione. Se la convalida non riesce, controlla il messaggio di errore visualizzato: indicherà se il problema riguarda la connettività, l’autenticazione o un timeout.

Formato di configurazione

Gli esempi seguenti mostrano le rappresentazioni JSON dei campi di configurazione di ciascun trasporto. In pratica, compilerai questi campi tramite il form web: non è necessario scrivere o incollare JSON. Il formato JSON è mostrato qui per chiarezza e come riferimento per configurazioni basate su API o programmatiche.

Trasporto STDIO

Usa STDIO per i server eseguiti come processi locali. Devi fornire il comando per avviare il server, insieme a eventuali argomenti e variabili d’ambiente. Campi:
  • Command (obbligatorio): L’eseguibile da lanciare (ad es. npx, uvx, docker).
  • Arguments: Argomenti da riga di comando passati al server.
  • Environment Variables: Coppie chiave-valore impostate nell’ambiente del processo del server. Usale per passare API key, token o valori di configurazione.
Esempio — un server STDIO personalizzato che usa npx:
{
  "transport": "STDIO",
  "command": "npx",
  "args": ["-y", "@example/my-mcp-server"],
  "env_variables": {
    "API_KEY": "your-api-key",
    "API_BASE_URL": "https://internal-api.example.com"
  }
}
Esempio — un server STDIO personalizzato con Docker:
{
  "transport": "STDIO",
  "command": "docker",
  "args": ["run", "-i", "--rm", "-e", "DB_CONNECTION_STRING", "my-org/my-mcp-server:latest"],
  "env_variables": {
    "DB_CONNECTION_STRING": "postgresql://user:pass@host:5432/mydb"
  }
}

Trasporti SSE e HTTP

Usa SSE o HTTP per server remoti accessibili tramite la rete. HTTP (Streamable HTTP) è consigliato per le nuove integrazioni; SSE è supportato per i server legacy. Campi:
  • Server URL (obbligatorio): L’URL dell’endpoint del server MCP.
  • Metodo di autenticazione: Scegli tra None, Auth Header o OAuth.
    • Per Auth Header: Fornisci la chiave dell’intestazione (impostata per impostazione predefinita su Authorization) e il valore dell’intestazione (ad esempio Bearer your-token).
    • Per OAuth: Devin ti chiederà di completare un flusso OAuth durante la tua prima sessione.
Esempio — server HTTP remoto con autenticazione tramite bearer token:
{
  "transport": "HTTP",
  "url": "https://mcp.internal-service.example.com/mcp",
  "auth_method": "auth_header",
  "headers": {
    "Authorization": "Bearer your-api-token"
  }
}
Esempio — un server SSE remoto senza autenticazione:
{
  "transport": "SSE",
  "url": "https://mcp.example.com/sse"
}
Quando devi scegliere tra SSE e HTTP, preferisci HTTP (Streamable HTTP). SSE è un protocollo legacy ed è in fase di deprecazione in tutto l’ecosistema MCP.

Pattern comuni

Connessione a un’API interna

Esponi la tua API interna come server MCP in modo che Devin possa interrogarla direttamente. Usa il trasporto STDIO con un wrapper che traduce le chiamate degli strumenti MCP in richieste API.
{
  "transport": "STDIO",
  "command": "npx",
  "args": ["-y", "@example/api-mcp-bridge"],
  "env_variables": {
    "API_BASE_URL": "https://api.internal.example.com",
    "API_TOKEN": "your-internal-api-token"
  }
}
In alternativa, se la tua API interna è raggiungibile in rete, usa il trasporto HTTP:
{
  "transport": "HTTP",
  "url": "https://api.internal.example.com/mcp",
  "headers": {
    "Authorization": "Bearer your-internal-api-token"
  }
}

Connessione a un database

Utilizza un server MCP per database per concedere a Devin l’accesso in lettura o scrittura ai tuoi dati. Esistono molti server mantenuti dalla community per i database più comuni.
{
  "transport": "STDIO",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:password@host:5432/database"]
}
Per i database di produzione, utilizza una stringa di connessione di sola lettura o un utente del database con permessi limitati. Devin esegue query in base alle istruzioni dell’utente, quindi è importante limitare correttamente i relativi diritti di accesso.

Collegamento a uno strumento o script personalizzato

Incapsula qualsiasi tool CLI o script come server MCP. Ad esempio, un server Python che utilizza uvx:
{
  "transport": "STDIO",
  "command": "uvx",
  "args": ["my-custom-mcp-server"],
  "env_variables": {
    "CONFIG_PATH": "/path/to/config.json"
  }
}
Oppure un server Docker per l’esecuzione isolata:
{
  "transport": "STDIO",
  "command": "docker",
  "args": ["run", "-i", "--rm", "my-org/custom-mcp-server:latest"]
}

Utilizzo delle variabili d’ambiente per i segreti

Passa i valori sensibili tramite variabili d’ambiente anziché codificarli direttamente negli argomenti. La funzionalità Secrets di Devin può gestire questi valori — memorizza le tue API key o i token come segreti, quindi richiamali nella configurazione del server MCP.

Risoluzione dei problemi relativi ai server MCP personalizzati

”Test listing tools” non riesce

SintomoCausa probabileSoluzione
”Verify server URL and network connectivity”L’URL del server non è raggiungibileVerifica che l’URL sia corretto e accessibile da Internet (o dalla rete di Devin se usi una VPN)
“Check authentication credentials and permissions”Credenziali di autenticazione non valide o mancantiVerifica la tua API key, il token o la configurazione OAuth
”Server took too long to respond - check server status”Il server non ha risposto entro il timeoutAssicurati che il server sia in esecuzione e reattivo; controlla se ci sono regole del firewall che bloccano la connessione
”MCP server validation failed” (generico)Comando non trovato, dipendenze mancanti o crash del serverPer i server STDIO, verifica che il comando esista e venga eseguito in locale; assicurati che tutte le variabili di ambiente richieste siano impostate

Il server si connette ma gli strumenti non sono disponibili

  • Verifica che il server implementi correttamente il metodo tools/list del protocollo MCP.
  • Per i server STDIO, assicurati che il processo scriva messaggi JSON-RPC validi su stdout e legga da stdin — i log o l’output di debug su stdout possono interrompere il protocollo.
  • Controlla che le variabili d’ambiente siano impostate correttamente. Valori mancanti (ad esempio una API key vuota) possono consentire l’avvio del server ma impedirgli di registrare gli strumenti.

Problemi di autenticazione OAuth

  • Quando ti viene richiesto di autenticarti, completa il flusso OAuth nella finestra del browser che si apre. Devin attenderà il callback.
  • Se l’autenticazione non riesce, verifica che l’URL di reindirizzamento OAuth sia configurato correttamente presso il provider.
  • Solo gli amministratori dell’organizzazione possono autenticare server MCP basati su OAuth. Se visualizzi un errore di autorizzazione, contatta l’amministratore della tua organizzazione.
Per MCP basati su OAuth, usa un account di servizio invece del tuo account personale. L’accesso è condiviso all’interno della tua organizzazione e tutte le sessioni di tutti i membri utilizzeranno la stessa connessione autenticata.

Suggerimenti generali per il debug

  • Controlla prima il server in locale. Prima di aggiungere un server personalizzato a Devin, verifica che funzioni eseguendo il comando o effettuando una richiesta all’URL dalla tua macchina.
  • Esamina i log di sessione di Devin. Se un server genera errori durante una sessione, Devin registrerà l’errore. Cerca messaggi relativi all’MCP nell’output della sessione.
  • Semplifica e procedi per iterazioni. Inizia con la configurazione minima (ad esempio, senza autenticazione, impostazioni predefinite) e aggiungi complessità solo dopo che la connessione di base funziona.
  • Verifica le variabili d’ambiente. Un problema comune sono le variabili d’ambiente mancanti o con nomi errati. Ricontrolla che ogni variabile richiesta sia impostata nella configurazione.
Se stai creando il tuo server MCP, la specifica del Model Context Protocol contiene documentazione dettagliata sul protocollo, sui metodi di trasporto e sulle definizioni degli strumenti.

MCP del Marketplace

Di seguito trovi i dettagli di configurazione per specifici MCP disponibili nel Marketplace.

Vercel, Atlassian, Notion, Sentry, Neon, Asana, Jam e molti altri

Molti MCP nel nostro marketplace possono essere abilitati senza configurazione con 1 clic! Ti basta fare clic su “Enable”. Ti verrà chiesto di collegare un account di servizio durante la sessione con Devin o quando fai clic su “Test listing tools”. Gli MCP disponibili includono:
  • AlloyDB
  • Asana
  • Atlassian
  • BigQuery
  • Cloud SQL (MySQL)
  • Cloud SQL (PostgreSQL)
  • Cloud SQL (SQL Server)
  • Cloudflare
  • Cortex
  • Dataplex
  • Fireflies
  • Firestore
  • Jam
  • Linear
  • Looker
  • Metabase
  • MySQL
  • Neon
  • Notion
  • PostgreSQL
  • Prisma
  • Sentry
  • Spanner
  • SQL Server
  • Vercel
  • Altri qui sotto!
Linear: se hai collegato l’integrazione Linear, Devin dispone già di strumenti Linear nativi e non è necessario configurare l’MCP Linear separatamente.

Datadog

È necessario fornire 2 variabili d’ambiente:
  • DATADOG_API_KEY - chiave API di Datadog, che puoi trovare nella pagina /organization-settings/api-keys in Datadog
  • DATADOG_APP_KEY - chiave di applicazione di Datadog, che puoi trovare nella pagina /organization-settings/application-keys in Datadog
DATADOG_SITE (ad es. datadoghq.eu) è una variabile d’ambiente facoltativa. Documentazione

Slack

Per ottenere le credenziali necessarie: Slack bot token:
Per iniziare, vai su api.slack.com/apps e seleziona la tua app. Quindi:
  • Nella barra laterale, vai su OAuth & Permissions
  • Cerca il Bot User OAuth Token (dovrebbe iniziare con “xoxb-”).
  • Se non vedi il tuo Bot User OAuth Token, assicurati di aver configurato i token a livello di app (in Settings > Basic Information), aggiunto almeno uno scope (in Settings > OAuth & Permissions) e installato la tua app nello spazio di lavoro.
Slack team ID:
  • Usa il comando curl: curl -H "Authorization: Bearer xoxb-your-token" https://slack.com/api/auth.test dove xoxb-your-token deve essere sostituito con il tuo token OAuth
Slack channel IDs:
  • Usa il comando curl: curl -H "Authorization: Bearer xoxb-your-token" https://slack.com/api/conversations.list dove xoxb-your-token è sostituito con il tuo token OAuth
  • Per far funzionare questo comando, devi aggiungere almeno i seguenti scope: channels:read,groups:read,mpim:read,im:read
Documentazione

Supabase

Dovrai fornire un token di accesso personale, che puoi trovare e creare su https://supabase.com/dashboard/account/tokens Documentazione

Figma

Dovrai fornire una chiave API Figma per abilitare questo MCP:
  1. Dalla home page di Figma, fai clic sull’icona del profilo nell’angolo in alto a sinistra e seleziona Settings dal menu a discesa.
  2. Nel menu delle impostazioni, seleziona la scheda Security.
  3. Scorri fino alla sezione Personal access tokens e fai clic su Generate new token.
  4. Inserisci un nome per il token e assicurati di fornire le autorizzazioni appropriate. Ti consigliamo almeno i permessi di sola lettura su File content e Dev resources.
  5. Fai clic su Generate token.
Quando usi questo MCP, assicurati di inviare a Devin il link al tuo file Figma. NOTA: questa è un’integrazione MCP di terze parti non sviluppata né mantenuta da Figma. Documentazione

Stripe

Dovrai fornire un header di autorizzazione nel formato Bearer <TOKEN>, dove <TOKEN> è la tua chiave API di Stripe. Ulteriori informazioni su: https://docs.stripe.com/mcp#bearer-token Documentazione

Zapier

È necessario fornire un header di autorizzazione nel formato Bearer <TOKEN>. Devi estrarre il tuo token Bearer dall’URL del server indicato su https://mcp.zapier.com/mcp/servers > Connect L’URL del tuo server avrà questo aspetto: https://mcp.zapier.com/api/mcp/s/*****/mcp Estrai la parte contrassegnata dagli asterischi (*****) e usala nell’header di autorizzazione che fornisci: Bearer *****
Devin
Documentazione

Airtable

Dovrai fornire una chiave API di Airtable. Puoi trovare la tua chiave API all’indirizzo: https://airtable.com/create/tokens Documentazione

Docker Hub

Credenziali richieste:
  • Nome utente Docker Hub: può essere ottenuto da My Hub
  • Personal Access Token: vai su Impostazioni account > Personal access tokens e crea un token
    Devin
Documentazione

SonarQube

Per ottenere le credenziali necessarie: Documentazione

Netlify

Dovrai fornire un Personal Access Token (PAT), che puoi visualizzare e creare all’indirizzo https://app.netlify.com/user/applications#personal-access-tokens. Assicurati di copiare il PAT non appena viene creato: non potrai più visualizzarlo successivamente!
Devin
Documentazione

Pulumi

È possibile ottenere un token di accesso a Pulumi dalla sezione Access tokens nella barra laterale della dashboard di Pulumi.
Devin
Documentazione

Parallel

È necessario fornire una chiave API, che puoi generare all’indirizzo https://platform.parallel.ai/ Documentazione

Heroku

Dovrai fornire una chiave API, che puoi trovare all’indirizzo https://dashboard.heroku.com/account
Devin
Documentazione

CircleCI

Devi fornire 2 variabili d’ambiente:
Devin
  • CIRCLECI_BASE_URL [Opzionale] - Variabile opzionale, necessaria solo per i clienti on‑prem. Il valore predefinito è "https://circleci.com"
Documentazione

Cortex

Per abilitare questo MCP, devi fornire un personal access token di Cortex:
  1. Accedi alla tua istanza di Cortex.
  2. Dal menu a sinistra, vai su Settings → My access tokens.
  3. Fai clic su Create new token.
  4. Inserisci un nome e una descrizione per il token.
  5. Fai clic su Create token e copia il token.
Quando utilizzi questo MCP, assicurati che Devin sia configurato con l’URL corretto dell’API di Cortex (valore predefinito: https://api.getcortexapp.com). Documentazione

Square

Dovrai fornire un’intestazione Authorization nel formato Bearer &lt;TOKEN&gt;, dove &lt;TOKEN&gt; è il tuo token di accesso Square. Maggiori informazioni: https://developer.squareup.com/docs/build-basics/access-tokens Documentazione

Hubspot

Dovrai fornire un token di accesso come variabile di ambiente. Per ottenere il tuo token di accesso:
  1. Crea una private app in HubSpot:
  2. Vai su Settings > Integrations > Private Apps
  3. Fai clic su “Create private app”
  4. Assegna un nome alla tua app e imposta gli scope richiesti
  5. Fai clic su “Create app”
  6. Copia il token di accesso generato dalla scheda “Auth”
Documentazione

Redis

Credenziali richieste:
  • Host Redis
  • Porta Redis
  • Nome utente Redis
  • Password Redis
Documentazione

Google Maps

Dovrai (1) fornire una chiave API e (2) abilitare le singole API a cui vuoi che Devin abbia accesso. Per ottenere la chiave API, vai su https://console.cloud.google.com/apis/credentials e apri il menu laterale > APIs and services > Credentials. Per abilitare una singola API, cerca l’API e fai clic su Abilita.
Devin
Devin
Devin
Documentazione

Playwright

Non servono variabili d’ambiente per questa integrazione: ti basta abilitarla. Documentazione

Firecrawl

Dovrai fornire una chiave API (FIRECRAWL_API_KEY), che puoi creare e visualizzare su https://www.firecrawl.dev/app/api-keys. Documentazione

ElasticSearch

È necessario fornire 2 variabili d’ambiente:
  • ES_URL - URL o endpoint di ElasticSearch, disponibile nella pagina /overview in Elasticsearch.
  • ES_API_KEY - Chiave API di ElasticSearch, che può essere creata nella pagina /indices/index_details/<name>/data in Elasticsearch.
Devin
ES_SSL_SKIP_VERIFY è una variabile d’ambiente opzionale. Quando è impostata su true, salta la verifica del certificato SSL/TLS durante la connessione a Elasticsearch. Documentazione

Postgres

L’unica credenziale necessaria è la stringa di connessione a Postgres. [Documentazione] (https://www.npmjs.com/package/@modelcontextprotocol/server-postgres?activeTab=readme)

Plaid

L’unica credenziale richiesta è un token di accesso OAuth Bearer che può essere ottenuto eseguendo il seguente codice:
curl -X POST https://production.plaid.com/oauth/token \
-H 'Content-Type: application/json' \
-d '{
"client_id": "YOUR_PLAID_CLIENT_ID",
"client_secret": "YOUR_PRODUCTION_SECRET",
"grant_type": "client_credentials",
"scope": "mcp:dashboard"
}'
Per ottenere il client ID e il client secret di produzione, vai su https://dashboard.plaid.com/developers/keys Documentazione

Replicate

L’unica credenziale richiesta è il token API, disponibile all’indirizzo https://replicate.com/account/api-tokens Documentazione

Grafana

Devi fornire 2 variabili d’ambiente:
  • URL di Grafana
  • Token dell’account di servizio di Grafana: per ottenere il token, nella barra laterale vai su Administration > Users and access > Service accounts > Add service account (se non ne hai già uno) > Add service account token
Devin

Pinecone

NOTA: l’MCP Pinecone supporta solo gli indici con embedding integrato. Gli indici per vettori creati con modelli di embedding esterni non sono ancora supportati al 16/07/25. L’unica credenziale richiesta è la chiave API di Pinecone, che può essere ottenuta dalla pagina delle chiavi API nella dashboard di Pinecone, come mostrato di seguito:
Devin

Snyk

  1. Per prima cosa, configura il server MCP. La documentazione è disponibile qui. Nota: assicurati di aggiungere una variabile d’ambiente alla fine (non elencata nella guida).
    Devin
  2. Installa la Snyk CLI sulla macchina di Devin. La documentazione è disponibile qui.
brew tap snyk/tap
brew install snyk-cli

snyk --disable-trust
Nota: alcuni test Snyk richiedono attendibilità per funzionare correttamente: installali sulla macchina dopo aver installato Homebrew. La documentazione è disponibile qui. Suggerimento:
Se la configurazione è corretta, l’elenco completo delle scansioni Snyk dovrebbe essere eseguito al primo tentativo. Tuttavia, a seconda del framework, alcune scansioni richiedono il passaggio di un flag “unmanaged: true” (ad es. C++). Al momento puoi impostarlo nella knowledge base o durante la tua sessione con Devin: ecco un esempio:
Devin
Suggerimento: Abbiamo scritto un playbook di esempio per aiutarti a iniziare. Documentazione