Passer au contenu principal

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.

Ajouter des serveurs MCP

En ligne de commande

Le moyen le plus rapide d’ajouter un serveur MCP :
# Serveur stdio — passez simplement la commande après --
devin mcp add <name> -- <command> [args...]

# Serveur HTTP — passez l'URL comme argument positionnel
devin mcp add <name> <URL>

# Serveur HTTP — ou utilisez l'option --url
devin mcp add <name> --url <URL>
Le type de transport est déduit automatiquement : une URL implique HTTP (Streamable HTTP), et des arguments en fin de commande (ou --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.
Par défaut, les serveurs sont enregistrés dans le périmètre local (.devin/config.local.json, ignoré par Git). Utilisez -s/--scope pour le modifier :
devin mcp add -s project <name> <URL>   # partagé via .devin/config.json
devin mcp add -s user <name> <URL>      # global (~/.config/devin/config.json ; %APPDATA%\devin\config.json sous Windows)
Vous pouvez également gérer les serveurs en ligne de commande :
devin mcp list              # Lister tous les serveurs configurés
devin mcp get <name>        # Afficher les détails d'un serveur spécifique
devin mcp remove <name>     # Supprimer un serveur configuré
devin mcp login <name>      # S'authentifier auprès d'un serveur via OAuth
devin mcp logout <name>     # Supprimer les identifiants OAuth enregistrés

Via un fichier de configuration

Ajoutez des serveurs directement dans la section mcpServers de votre fichier de configuration :
// .devin/config.json
{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "@company/mcp-server"],
      "env": {
        "API_KEY": "your-key"
      }
    }
  }
}
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

Les serveurs MCP peuvent être configurés de deux manières : comme commande locale (transport stdio) ou comme serveur distant (transport HTTP).

Commande locale (stdio)

ChampTypeRequisDescription
commandstringOuiL’exécutable à lancer
argsstring[]NonArguments de ligne de commande
envobjectNonVariables d’environnement à définir

Serveur distant (Streamable HTTP)

ChampTypeObligatoireDescription
urlstringOuiL’URL de l’endpoint du serveur MCP
transportstringNon"http" (Streamable HTTP, valeur par défaut pour les serveurs configurés via une URL) ou "sse" (SSE ancien). Lorsqu’il est défini sur "http" ou omis, la CLI essaie d’abord Streamable HTTP, puis bascule sur SSE en cas d’erreurs 4xx (selon la spécification). Définissez "sse" explicitement si l’endpoint SSE du serveur se trouve sur un chemin différent.
headersobjectNonEn-têtes HTTP personnalisés à inclure dans les requêtes

Exemples

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_..."
      }
    }
  }
}
{
  "mcpServers": {
    "notion": {
      "url": "https://mcp.notion.com/mcp",
      "transport": "http"
    }
  }
}
Après avoir ajouté un serveur utilisant OAuth, exécutez devin mcp login notion pour vous authentifier. Voir Authentification ci-dessous.
{
  "mcpServers": {
    "linear": {
      "url": "https://mcp.linear.app/mcp",
      "transport": "http"
    }
  }
}
{
  "mcpServers": {
    "atlassian": {
      "url": "https://mcp.atlassian.com/v1/mcp",
      "transport": "http"
    }
  }
}
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.
{
  "mcpServers": {
    "my-tools": {
      "command": "python",
      "args": ["./scripts/mcp-server.py"],
      "env": {
        "DB_URL": "postgres://localhost/mydb"
      }
    }
  }
}

Authentification

Certains serveurs MCP distants nécessitent une authentification OAuth. Après avoir ajouté un serveur utilisant OAuth à votre configuration, authentifiez-vous à l’aide de la commande login :
devin mcp login <server-name>
Par exemple :
devin mcp login notion    # S'authentifier avec Notion
devin mcp login linear    # S'authentifier avec Linear
Cela ouvre une fenêtre de navigateur dans laquelle vous pouvez autoriser l’accès. Les tokens OAuth sont stockés localement et renouvelés automatiquement. Vous pouvez également demander des périmètres OAuth spécifiques :
devin mcp login notion --scopes read,write
Pour supprimer les identifiants OAuth enregistrés pour un serveur :
devin mcp logout <server-name>
Si le serveur prend en charge OAuth, une invite d’authentification s’affichera également automatiquement lors de sa première utilisation.

Gestion des secrets

N’ajoutez jamais de clés API ou de secrets au contrôle de version. Utilisez .devin/config.local.json pour les données sensibles.
Pour les projets d’équipe, la méthode recommandée est la suivante :
  1. Définissez le serveur dans .devin/config.json avec des espaces réservés pour les variables d’environnement, ou sans variables d’environnement
  2. Chaque membre de l’équipe ajoute ses clés personnelles dans .devin/config.local.json
Le fichier de configuration local est automatiquement exclu de git.

Autorisations MCP

Vous pouvez approuver à l’avance, refuser ou toujours demander pour des outils MCP spécifiques dans votre configuration des autorisations :
{
  "permissions": {
    "allow": [
      "mcp__github__list_issues",
      "mcp__github__create_issue"
    ],
    "deny": [
      "mcp__github__delete_repo"
    ],
    "ask": [
      "mcp__linear__*"
    ]
  }
}
Motifs de correspondance des autorisations :
MotifCorrespond à
mcp__server__toolUn outil spécifique sur un serveur spécifique
mcp__server__*Tous les outils sur un serveur spécifique
mcp__*Tous les outils MCP sur tous les serveurs

Dépannage

Si vous voyez des erreurs comme 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 <server-name>
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 devin mcp login séparément pour Devin CLI.Pour vérifier votre statut d’authentification, essayez de supprimer puis de rajouter les identifiants :
devin mcp logout <server-name>
devin mcp login <server-name>
Vérifiez que la commande fonctionne en dehors de Devin CLI :
npx -y @modelcontextprotocol/server-github
Vérifiez que toutes les variables d’environnement requises sont bien définies.
Demandez à l’agent de lister les serveurs MCP et les outils. Le serveur peut avoir besoin d’un instant pour s’initialiser.
Vérifiez la configuration de vos autorisations. Par défaut, les outils MCP demandent une approbation. Ajoutez-les à permissions.allow pour les approuver automatiquement.
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.