Ajouter des serveurs MCP
En ligne de commande
--command) impliquent stdio.
Les serveurs MCP distants utilisent Streamable HTTP par défaut. Si le serveur répond avec une erreur HTTP 4xx, la CLI bascule vers SSE sur la même URL. Définissez
"transport": "sse" explicitement si nécessaire — voir basculement vers l’ancien SSE ci-dessous..devin/config.local.json, ignoré par Git). Utilisez -s/--scope pour le modifier :
Via un fichier de configuration
mcpServers de votre fichier de configuration :
- Configuration du projet
- Configuration utilisateur
- Surcharge locale
Les serveurs définis au niveau du projet sont partagés avec votre Team via le contrôle de version.
Options de configuration des serveurs
Commande locale (stdio)
Serveur distant (Streamable HTTP)
Exemples
GitHub (stdio)
GitHub (stdio)
Notion (HTTP avec OAuth)
Notion (HTTP avec OAuth)
Après avoir ajouté un serveur utilisant OAuth, exécutez
devin mcp login notion pour vous authentifier. Voir Authentification ci-dessous.Linear (HTTP avec OAuth)
Linear (HTTP avec OAuth)
Atlassian / Jira (HTTP avec OAuth)
Atlassian / Jira (HTTP avec OAuth)
Après l’avoir ajouté, exécutez
devin mcp login atlassian pour vous authentifier. Chaque client MCP (Windsurf, Claude Code, Devin CLI) conserve sa propre session OAuth. Vous devez donc vous connecter séparément, même si vous vous êtes déjà authentifié dans un autre outil.Serveur personnalisé (stdio)
Serveur personnalisé (stdio)
Authentification
login :
Si le serveur prend en charge OAuth, une invite d’authentification s’affichera également automatiquement lors de sa première utilisation.
Clients OAuth préenregistrés
oauthClientId / oauthClientSecret :
oauthClientId est défini, Devin CLI ignore l’enregistrement dynamique du client et utilise votre client préenregistré lors du flux OAuth. Exécutez devin mcp login <name> (ou déclenchez l’authentification lors de la première utilisation) pour vous authentifier comme d’habitude.
Vous pouvez également les définir depuis la ligne de commande lors de l’ajout d’un serveur ou de la connexion à celui-ci :
oauthClientId / oauthClientSecret sont des identifiants client OAuth utilisés dans le cadre du flux d’autorisation. Il ne s’agit pas d’identifiants génériques envoyés à chaque requête — si un serveur attend un token statique, utilisez plutôt headers (HTTP) ou env (stdio).Dérogation de la ressource OAuth
resource conforme à la RFC 8707 afin que le serveur d’autorisation puisse émettre des jetons restreints à une audience donnée. Par défaut, la valeur correspond à l’URL du serveur MCP. Remplacez-la par oauthResource :
- Non défini (par défaut) : envoie
resourceavec comme valeur l’URL du serveur MCP. - Valeur non vide : remplace la valeur par défaut par votre valeur (p. ex. un URI d’ID d’application spécifique).
- Chaîne vide (
"") : omet entièrement le paramètreresourceà la fois de l’URL d’autorisation et de l’échange du jeton.
oauthResource prend en charge l’expansion des variables ${env:VAR} et ${file:/path}.
Activation et désactivation des serveurs
"disabled": true pour l’entrée de serveur dans le fichier de configuration. Utilisez -s/--scope pour cibler un périmètre spécifique :
Désactiver un serveur est utile lorsque vous souhaitez conserver sa configuration (y compris les variables d’environnement et les identifiants OAuth) tout en cessant temporairement de l’utiliser — par exemple, pour réduire le temps de démarrage ou isoler un problème.
Gestion des secrets
- Définissez le serveur dans
.devin/config.jsonavec des espaces réservés pour les variables d’environnement, ou sans variables d’environnement - Chaque membre de l’équipe ajoute ses clés personnelles dans
.devin/config.local.json
Autorisations MCP
Restrictions de l’organisation
Dépannage
Authentification requise / erreurs OAuth avec des serveurs distants
Authentification requise / erreurs OAuth avec des serveurs distants
Si vous voyez des erreurs comme Chaque client MCP s’authentifie indépendamment. Même si vous vous êtes déjà authentifié dans Windsurf ou Claude Code, vous devez exécuter
Auth required ou AuthRequired lors de la connexion à un serveur MCP distant, cela signifie que le serveur nécessite une authentification OAuth.Exécutez :devin mcp login séparément pour Devin CLI.Pour vérifier votre statut d’authentification, essayez de supprimer puis de rajouter les identifiants :Le serveur ne démarre pas
Le serveur ne démarre pas
Vérifiez que la commande fonctionne en dehors de Devin CLI :Vérifiez que toutes les variables d’environnement requises sont bien définies.
Les outils n’apparaissent pas
Les outils n’apparaissent pas
Demandez à l’agent de lister les serveurs MCP et les outils. Le serveur peut avoir besoin d’un instant pour s’initialiser.
Autorisation refusée
Autorisation refusée
Vérifiez la configuration de vos autorisations. Par défaut, les outils MCP demandent une approbation. Ajoutez-les à
permissions.allow pour les approuver automatiquement.Erreurs OAuth dues au paramètre resource
Erreurs OAuth dues au paramètre resource
Certains serveurs d’autorisation rejettent les requêtes OAuth qui incluent le paramètre Authentifiez-vous de nouveau ensuite :Consultez Dérogation de la ressource OAuth pour obtenir la liste complète des comportements de
resource de la RFC 8707. Définissez oauthResource sur une chaîne vide afin d’omettre ce paramètre :oauthResource.Basculement vers l’ancien SSE
Basculement vers l’ancien SSE
Lors de la connexion à un serveur HTTP, Devin CLI essaie d’abord Streamable HTTP. Si le serveur renvoie une erreur HTTP 4xx (p. ex. 404 ou 405), il bascule automatiquement vers l’ancien SSE sur la même URL configurée. Cela suit les recommandations de rétrocompatibilité de la spécification MCP.Le basculement ne se déclenche que pour les réponses 4xx — les erreurs de connexion, les délais d’expiration et les réponses 5xx sont signalés directement, sans tentative SSE.Si l’endpoint SSE de votre serveur se trouve sur un chemin différent (p. ex.
/sse au lieu de /mcp), définissez "transport": "sse" avec l’URL SSE pour vous connecter directement, sans tentative préalable via Streamable HTTP.Si les deux transports échouent, le message d’erreur inclut les détails des deux tentatives pour faciliter le dépannage.
