Passer au contenu principal
MCP est un protocole ouvert qui permet à Devin d’exploiter des centaines d’outils et de sources de données externes. Devin prend en charge 3 méthodes de transport (stdio, SSE et HTTP).

Pourquoi utiliser MCP ?

Avec MCP, Devin peut vous aider à :
  • analyser les logs Sentry, Datadog et Vercel
  • utiliser Devin comme data analyst dans Slack avec des MCP de base de données
  • examiner en détail les problèmes SonarQube, CircleCI et Jam
  • créer en masse des tickets Linear, des documents Notion, des Google Docs (via Zapier) et plus encore
  • récupérer du contexte et interagir avec Airtable, Stripe et Hubspot
  • et bien plus encore !

Prise en main des MCP

Accédez à Paramètres > MCP Marketplace pour activer un MCP.

Conseils de configuration

Pour les MCP utilisant l’authentification OAuth, Devin vous demandera de vous rendre sur une URL pour lier votre compte. Nous vous recommandons vivement d’utiliser un compte de service, et non votre compte personnel, car l’accès sera partagé au sein de votre organisation.
Vous ne voyez pas le MCP que vous recherchez ? Configurez-le en utilisant l’option « Add Your Own » !Vous rencontrez des difficultés ? Contactez-nous via notre page d’assistance ou à l’adresse support@cognition.ai.

Configuration d’un serveur MCP personnalisé

Si le MCP dont vous avez besoin n’est pas disponible sur la marketplace, vous pouvez ajouter n’importe quel serveur MCP à l’aide de l’option Add Your Own. Devin prend en charge trois types de transport pour les serveurs personnalisés :
TransportIdéal pourChamps requis
STDIOServeurs locaux accessibles en ligne de commande (par ex. : npx, uvx, Docker)Commande, arguments, variables d’environnement
SSEServeurs distants utilisant Server-Sent EventsURL du serveur, en-têtes
HTTPServeurs distants utilisant Streamable HTTPURL du serveur, en-têtes

Étapes pour ajouter un serveur MCP personnalisé

  1. Accédez à Settings > MCP Marketplace.
  2. Cliquez sur Add Your Own en haut de la page.
  3. Renseignez les détails du serveur :
    • Server Name : un nom descriptif pour le serveur (par exemple « Internal API Gateway »).
    • Icon (optionnel) : un emoji ou une URL à utiliser comme icône du serveur.
    • Short Description : un bref résumé de ce que fait le serveur.
  4. Sélectionnez le type de transport (STDIO, SSE ou HTTP).
  5. Renseignez les champs de configuration spécifiques au transport (voir Configuration format ci-dessous).
  6. Cliquez sur Save pour créer le serveur.
  7. Cliquez sur Test listing tools pour vérifier la connexion. Devin lancera un environnement de test isolé, se connectera à votre serveur et tentera de découvrir les outils disponibles.
Le bouton Test listing tools est désactivé tant que vous n’avez pas enregistré votre configuration. Si la validation échoue, vérifiez le message d’erreur affiché : il indiquera si le problème concerne la connectivité, l’authentification ou un dépassement de délai.

Format de configuration

Les exemples ci-dessous montrent des représentations JSON des champs de configuration de chaque transport. En pratique, vous les complétez via le formulaire en ligne — vous n’avez pas besoin d’écrire ou de coller du JSON. Le format JSON est présenté ici pour plus de clarté et comme référence pour les configurations programmatiques ou via l’API.

Transport STDIO

Utilisez STDIO pour les serveurs qui s’exécutent en tant que processus locaux. Vous fournissez la commande pour lancer le serveur, ainsi que les arguments et les variables d’environnement. Champs :
  • Commande (obligatoire) : l’exécutable à lancer (par exemple, npx, uvx, docker).
  • Arguments : les arguments de ligne de commande transmis au serveur.
  • Variables d’environnement : paires clé-valeur définies dans l’environnement de processus du serveur. Utilisez-les pour transmettre des clés d’API, des jetons ou des valeurs de configuration.
Exemple — un serveur STDIO personnalisé utilisant 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"
  }
}
Exemple — un serveur STDIO personnalisé utilisant 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"
  }
}

Transports SSE et HTTP

Utilisez SSE ou HTTP pour les serveurs distants accessibles via le réseau. HTTP (Streamable HTTP) est recommandé pour les nouvelles intégrations ; SSE est pris en charge pour les serveurs existants. Champs :
  • Server URL (obligatoire) : l’URL du point de terminaison (endpoint) du serveur MCP.
  • Authentication method : choisissez entre None, Auth Header ou OAuth.
    • Pour Auth Header : indiquez la clé d’en-tête (par défaut Authorization) et la valeur de l’en-tête (par exemple, Bearer your-token).
    • Pour OAuth : Devin vous demandera de compléter un flux OAuth lors de votre première session.
Exemple — un serveur HTTP distant avec authentification par jeton Bearer :
{
  "transport": "HTTP",
  "url": "https://mcp.internal-service.example.com/mcp",
  "auth_method": "auth_header",
  "headers": {
    "Authorization": "Bearer your-api-token"
  }
}
Exemple — un serveur SSE distant sans authentification :
{
  "transport": "SSE",
  "url": "https://mcp.example.com/sse"
}
Lorsque vous choisissez entre SSE et HTTP, privilégiez HTTP (HTTP diffusé en continu). SSE est un protocole historique, progressivement abandonné dans l’écosystème MCP.

Schémas courants

Connexion à une API interne

Exposez votre API interne sous la forme d’un serveur MCP afin que Devin puisse l’interroger directement. Utilisez le transport STDIO avec un adaptateur qui traduit les appels d’outils MCP en requêtes 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"
  }
}
Sinon, si votre API interne est accessible via le réseau, utilisez le transport HTTP :
{
  "transport": "HTTP",
  "url": "https://api.internal.example.com/mcp",
  "headers": {
    "Authorization": "Bearer your-internal-api-token"
  }
}

Connexion à une base de données

Utilisez un serveur MCP de base de données pour accorder à Devin un accès en lecture ou en écriture à vos données. De nombreux serveurs communautaires existent pour les bases de données les plus courantes.
{
  "transport": "STDIO",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:password@host:5432/database"]
}
Pour les bases de données de production, utilisez une chaîne de connexion en lecture seule ou un utilisateur de base de données avec des droits restreints. Devin exécute des requêtes en fonction des instructions de l’utilisateur, il est donc important de limiter correctement les accès.

Connexion à un outil ou script personnalisé

Encapsulez n’importe quel outil ou script en ligne de commande en tant que serveur MCP. Par exemple, un serveur Python utilisant uvx :
{
  "transport": "STDIO",
  "command": "uvx",
  "args": ["my-custom-mcp-server"],
  "env_variables": {
    "CONFIG_PATH": "/path/to/config.json"
  }
}
Ou un serveur Docker pour une exécution isolée :
{
  "transport": "STDIO",
  "command": "docker",
  "args": ["run", "-i", "--rm", "my-org/custom-mcp-server:latest"]
}

Utilisation des variables d’environnement pour les secrets

Transmettez les valeurs sensibles via des variables d’environnement plutôt que de les coder en dur dans les arguments. La fonctionnalité Secrets de Devin peut gérer ces valeurs : stockez vos clés API ou jetons en tant que secrets, puis utilisez-les dans la configuration de votre serveur MCP.

Dépannage des serveurs MCP personnalisés

Échec de “Test listing tools”

SymptomCause probableCorrectif
”Verify server URL and network connectivity”L’URL du serveur est injoignableVérifiez que l’URL est correcte et accessible depuis Internet (ou depuis le réseau de Devin si vous utilisez un VPN)
“Check authentication credentials and permissions”Informations d’authentification invalides ou manquantesVérifiez votre API key, votre jeton ou votre configuration OAuth
”Server took too long to respond - check server status”Le serveur n’a pas répondu avant l’expiration du délaiAssurez-vous que le serveur est en cours d’exécution et réactif ; vérifiez l’absence de règles de pare-feu bloquant la connexion
”MCP server validation failed” (générique)Commande introuvable, dépendances manquantes ou arrêt brutal du serveurPour les serveurs STDIO, vérifiez que la commande existe et s’exécute localement ; assurez-vous que toutes les variables d’environnement requises sont définies

Le serveur se connecte mais les outils ne sont pas disponibles

  • Vérifiez que le serveur implémente correctement la méthode tools/list du protocole MCP.
  • Pour les serveurs STDIO, assurez-vous que le processus écrit des messages JSON-RPC valides sur stdout et lit depuis stdin — tout journal ou sortie de débogage envoyés sur stdout fera échouer le protocole.
  • Vérifiez que les variables d’environnement sont correctement définies. Des valeurs manquantes (par exemple, une API key vide) peuvent permettre au serveur de démarrer mais l’empêcher d’enregistrer les outils.

Problèmes d’authentification OAuth

  • Lorsqu’il vous est demandé de vous authentifier, terminez le flux d’authentification OAuth dans la fenêtre de navigateur qui s’ouvre. Devin attendra le callback.
  • Si l’authentification échoue, vérifiez que l’URI de redirection OAuth est correctement configurée côté fournisseur.
  • Seuls les administrateurs de l’organisation peuvent authentifier les serveurs MCP basés sur OAuth. Si vous voyez une erreur d’autorisation, contactez l’administrateur de votre organisation.
Pour les MCP basés sur OAuth, utilisez un compte de service plutôt que votre compte personnel. L’accès est partagé au sein de votre organisation et les sessions de tous les membres utiliseront la même connexion authentifiée.

Conseils généraux de débogage

  • Testez d’abord le serveur en local. Avant d’ajouter un serveur personnalisé à Devin, vérifiez qu’il fonctionne en exécutant la commande ou en accédant à l’URL depuis votre propre machine.
  • Consultez les journaux de session de Devin. Si un serveur échoue pendant une session, Devin consigne l’erreur. Recherchez les messages liés au MCP dans la sortie de la session.
  • Simplifiez et itérez. Commencez avec la configuration minimale (par exemple, sans authentification, paramètres par défaut) et ajoutez de la complexité une fois que la connexion de base fonctionne.
  • Vérifiez les variables d’environnement. Un problème courant est l’absence ou le nommage incorrect de variables d’environnement. Vérifiez soigneusement que chaque variable requise est définie dans la configuration.
Si vous créez votre propre serveur MCP, la spécification Model Context Protocol fournit une documentation détaillée sur le protocole, les types de transport et les définitions d’outils.

MCP du Marketplace

Vous trouverez ci-dessous les détails de configuration de certains MCP disponibles sur le Marketplace.

Vercel, Atlassian, Notion, Sentry, Neon, Asana, Jam et bien d’autres

De nombreux MCP dans notre marketplace peuvent être activés sans configuration, en un clic ! Cliquez simplement sur « Enable ». Il vous sera demandé de connecter un compte de service pendant votre session Devin ou lorsque vous cliquerez sur « Test listing tools ». Les MCP disponibles comprennent :
  • 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
  • Et bien d’autres ci-dessous !
Linear : Si vous avez l’intégration Linear connectée, Devin dispose déjà d’outils Linear natifs et vous n’avez pas besoin de configurer séparément le MCP Linear.

Datadog

Vous devez fournir 2 variables d’environnement :
  • DATADOG_API_KEY - clé d’API Datadog, que vous pouvez trouver sur la page /organization-settings/api-keys dans Datadog
  • DATADOG_APP_KEY - clé d’application Datadog, que vous pouvez trouver sur la page /organization-settings/application-keys dans Datadog
DATADOG_SITE (par exemple datadoghq.eu) est une variable d’environnement facultative. Documentation

Slack

Pour obtenir les identifiants nécessaires : Slack bot token :
Pour commencer, allez sur api.slack.com/apps et sélectionnez votre application. Ensuite :
  • Dans la barre latérale, accédez à OAuth & Permissions
  • Recherchez le Bot User OAuth Token (il doit commencer par « xoxb- »).
  • Si vous ne voyez pas votre Bot User OAuth Token, assurez-vous d’avoir configuré des jetons au niveau de l’application (dans Settings > Basic Information), ajouté au moins un scope (dans Settings > OAuth & Permissions) et installé votre application dans votre espace de travail.
Slack team ID :
  • Utilisez la commande curl : curl -H "Authorization: Bearer xoxb-your-token" https://slack.com/api/auth.testxoxb-your-token doit être remplacé par votre jeton OAuth
Slack channel IDs :
  • Utilisez la commande curl : curl -H "Authorization: Bearer xoxb-your-token" https://slack.com/api/conversations.listxoxb-your-token est remplacé par votre jeton OAuth
  • Pour que cette commande fonctionne, vous devez ajouter au minimum les scopes suivants : channels:read,groups:read,mpim:read,im:read
Documentation

Supabase

Vous devrez fournir un token d’accès personnel, que vous pouvez générer ou récupérer à l’adresse https://supabase.com/dashboard/account/tokens Documentation

Figma

Vous devez fournir une clé API Figma pour activer ce MCP :
  1. Depuis la page d’accueil de Figma, cliquez sur l’icône de profil en haut à gauche et sélectionnez Settings dans le menu déroulant.
  2. Dans le menu des paramètres, sélectionnez l’onglet Security.
  3. Faites défiler jusqu’à la section Personal access tokens et cliquez sur Generate new token.
  4. Saisissez un nom pour le jeton et assurez-vous de lui attribuer les autorisations appropriées. Nous recommandons au minimum les autorisations de lecture sur File content et Dev resources.
  5. Cliquez sur Generate token.
Lorsque vous utilisez ce MCP, veillez à envoyer à Devin un lien vers votre fichier Figma. REMARQUE : Il s’agit d’une intégration MCP tierce qui n’est ni développée ni maintenue par Figma. Documentation

Stripe

Vous devez fournir un en-tête d’autorisation au format Bearer <TOKEN>, dans lequel <TOKEN> correspond à votre clé d’API Stripe. Plus d’informations sur : https://docs.stripe.com/mcp#bearer-token Documentation

Zapier

Vous devez fournir un en-tête d’autorisation au format Bearer <TOKEN>. Vous devez extraire votre jeton Bearer à partir de l’URL de serveur indiquée sur https://mcp.zapier.com/mcp/servers > Connect Votre URL de serveur aura la forme suivante : https://mcp.zapier.com/api/mcp/s/*****/mcp Extrayez la partie indiquée par des astérisques (*****) et utilisez-la dans l’en-tête d’autorisation que vous fournissez : Bearer *****
Devin
Documentation

Airtable

Vous devrez fournir une clé API Airtable. Vous pouvez trouver vos clés API à l’adresse suivante : https://airtable.com/create/tokens Documentation

Docker Hub

Identifiants requis :
  • Nom d’utilisateur Docker Hub : vous pouvez l’obtenir depuis My Hub
  • Jeton d’accès personnel : accédez à Account settings > Personal access tokens et créez un jeton
    Devin
Documentation

SonarQube

Pour obtenir les identifiants requis :
  • SonarQube token : allez dans My Account > Security et générez votre jeton d’API
  • SonarQube org : il s’agit de votre nom d’utilisateur, comme illustré dans l’image ci-dessous
    Devin
  • SonarQube URL :
Documentation

Netlify

Vous devrez fournir un jeton d’accès personnel, que vous pouvez afficher et créer à l’adresse https://app.netlify.com/user/applications#personal-access-tokens. Assurez-vous de copier le PAT dès qu’il est créé. Vous ne pourrez plus l’afficher par la suite !
Devin
Documentation

Pulumi

Vous pouvez obtenir un jeton d’accès Pulumi depuis la section « Access tokens » dans la barre latérale du tableau de bord Pulumi.
Devin
Documentation

Parallel

Vous devrez fournir une clé API, que vous pouvez générer sur https://platform.parallel.ai/ Documentation

Heroku

Vous devrez fournir une clé API, que vous pouvez récupérer sur https://dashboard.heroku.com/account
Devin
Documentation

CircleCI

Vous devrez fournir 2 variables d’environnement :
  • CIRCLECI_TOKEN - Jeton d’API CircleCI, qui peut être créé à l’adresse https://app.circleci.com/settings/user/tokens. Assurez-vous de copier le jeton d’API dès sa création. Vous ne pourrez plus l’afficher par la suite !
Devin
  • CIRCLECI_BASE_URL [Optionnel] - Variable facultative, requise uniquement pour les clients on-premises. La valeur par défaut est "https://circleci.com"
Documentation

Cortex

Vous devez fournir un jeton d’accès personnel Cortex pour activer ce MCP :
  1. Connectez-vous à votre instance Cortex.
  2. Dans le menu de gauche, accédez à Settings → My access tokens.
  3. Cliquez sur Create new token.
  4. Saisissez un nom et une description pour le jeton.
  5. Cliquez sur Create token et copiez le jeton.
Lorsque vous utilisez ce MCP, assurez-vous que Devin est configuré avec l’URL correcte de l’API Cortex (par défaut https://api.getcortexapp.com). Documentation

Square

Vous devrez fournir un en-tête d’autorisation suivant le format Bearer <TOKEN>, où <TOKEN> est votre jeton d’accès Square. Plus d’informations sur : https://developer.squareup.com/docs/build-basics/access-tokens Documentation

Hubspot

Vous devez fournir un jeton d’accès comme variable d’environnement. Pour obtenir votre jeton d’accès :
  1. Créez une application privée dans HubSpot :
  2. Accédez à Settings > Integrations > Private Apps
  3. Cliquez sur « Create private app »
  4. Nommez votre application et définissez les autorisations requises
  5. Cliquez sur « Create app »
  6. Copiez le jeton d’accès généré depuis l’onglet « Auth »
Documentation

Redis

Identifiants requis :
  • Hôte Redis
  • Port Redis
  • Nom d’utilisateur Redis
  • Mot de passe Redis
Documentation

Google Maps

Vous devrez (1) fournir une clé d’API et (2) activer individuellement les API auxquelles vous souhaitez que Devin ait accès. Pour obtenir votre clé d’API, accédez à https://console.cloud.google.com/apis/credentials puis ouvrez le menu latéral > APIs and services > Credentials. Pour activer une API, recherchez-la puis cliquez sur « Enable ».
Devin
Devin
Devin
Documentation

Playwright

Aucune variable d’environnement n’est requise pour cela ! Il suffit d’activer l’intégration. Documentation

Firecrawl

Vous devez fournir une clé d’API (FIRECRAWL_API_KEY), que vous pouvez consulter et créer à l’adresse https://www.firecrawl.dev/app/api-keys. Documentation

ElasticSearch

Vous devez fournir deux variables d’environnement :
  • ES_URL - URL ou endpoint ElasticSearch, que vous trouverez sur la page /overview dans Elasticsearch.
  • ES_API_KEY - clé d’API ElasticSearch, que vous pouvez créer sur la page /indices/index_details/<name>/data dans Elasticsearch.
Devin
ES_SSL_SKIP_VERIFY est une variable d’environnement facultative. Lorsqu’elle est définie sur true, la vérification du certificat SSL/TLS est ignorée lors de la connexion à Elasticsearch. Documentation

Postgres

Le seul identifiant requis est la chaîne de connexion Postgres. Documentation

Plaid

Le seul identifiant requis est un jeton d’accès OAuth Bearer, que vous pouvez obtenir en exécutant le code suivant :
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"
}'
Pour obtenir l’ID client et le secret client de production, rendez-vous sur https://dashboard.plaid.com/developers/keys Documentation

Replicate

La seule information d’authentification requise est le jeton API, que vous pouvez trouver à l’adresse https://replicate.com/account/api-tokens Documentation

Grafana

Vous devrez fournir deux variables d’environnement :
  • URL de Grafana
  • Jeton de compte de service Grafana : pour obtenir ce jeton, dans la barre latérale, accédez à Administration > Users and access > Service accounts > Add service account (si vous n’en avez pas déjà un) > Add service account token
Devin

Pinecone

REMARQUE : le MCP Pinecone ne prend en charge que les index avec embeddings intégrés. Les index pour les vecteurs que vous créez avec des modèles d’embeddings externes ne sont pas encore pris en charge au 16/07/25. La seule donnée d’authentification requise est la clé API Pinecone, qui peut être obtenue via la page des clés API dans le tableau de bord Pinecone, comme illustré ci-dessous :
Devin

Snyk

  1. Commencez par configurer le serveur MCP. La documentation est disponible ici. Remarque : assurez-vous d’ajouter une variable d’environnement à la fin (elle ne figure pas dans le guide de documentation).
    Devin
  2. Installez le CLI Snyk sur la machine de Devin. La documentation est disponible ici
brew tap snyk/tap
brew install snyk-cli

snyk --disable-trust
Remarque : certains tests Snyk nécessitent une approbation pour pouvoir s’exécuter — installez-les sur la machine après l’installation de Homebrew. La documentation est disponible ici. Conseil : Si la configuration est correcte, la liste complète des analyses Snyk doit s’exécuter dès le premier passage. Toutefois, selon le framework, certaines analyses nécessitent qu’un paramètre unmanaged: true (par ex. C++) soit transmis. Vous pouvez actuellement le définir dans Knowledge ou pendant votre session Devin — voici un exemple :
Devin
Conseil : Nous avons rédigé un playbook d’exemple pour vous aider à démarrer. Documentation