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.

MCP (Model Context Protocol) est un protocole qui permet aux LLM d’accéder à des outils et services personnalisés. Un client MCP (Cascade, ici) peut envoyer des requêtes à des serveurs MCP pour accéder aux outils qu’ils fournissent. Cascade s’intègre désormais nativement à MCP, ce qui vous permet d’utiliser les serveurs MCP de votre choix avec Cascade. Consultez la documentation officielle du MCP pour plus d’informations.
Les utilisateurs Enterprise doivent activer cette option manuellement dans les paramètres

Ajouter un nouveau plugin MCP

Vous pouvez ajouter de nouveaux plugins MCP en accédant à la section Settings > Tools > Windsurf Settings > Add Server. Si vous ne trouvez pas le plugin MCP souhaité, vous pouvez l’ajouter manuellement en cliquant sur le bouton View Raw Config, puis en modifiant le fichier mcp_config.json. Lorsque vous sélectionnez un serveur MCP, cliquez simplement sur + Add Server pour exposer le serveur et ses outils à Cascade.
Cascade prend en charge trois types de transport pour les serveurs MCP : stdio, Streamable HTTP et SSE. Cascade prend également en charge OAuth pour chaque type de transport. Pour les serveurs http, l’URL doit correspondre à celle de l’endpoint et ressembler à https://<your-server-url>/mcp.
Assurez-vous de cliquer sur le bouton d’actualisation après avoir ajouté un nouveau plugin MCP.

mcp_config.json

Le fichier ~/.codeium/mcp_config.json est un fichier JSON contenant une liste de serveurs auxquels Cascade peut se connecter. Voici un exemple de configuration qui définit un seul serveur pour GitHub :
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_PERSONAL_ACCESS_TOKEN>"
      }
    }
  }
}
Veillez à fournir les arguments requis et les variables d’environnement nécessaires aux serveurs que vous souhaitez utiliser. Consultez le dépôt de référence officiel des serveurs MCP ou OpenTools pour découvrir quelques exemples de serveurs.

MCP HTTP distants

À noter que pour les MCP HTTP distants, la configuration est légèrement différente et requiert un champ serverUrl ou url. Voici un exemple de configuration pour un serveur HTTP :
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "API_KEY": "value"
      }
    }
  }
}

Interpolation de configuration

Le fichier ~/.codeium/mcp_config.json gère l’interpolation des variables d’environnement dans les champs suivants : command, args, env, serverUrl, url et headers. Voici un exemple de configuration qui utilise une variable d’environnement AUTH_TOKEN dans headers.
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "API_KEY": "Bearer ${env:AUTH_TOKEN}"
      }
    }
  }
}

Contrôles d’administration (Teams & Enterprises)

Les admins d’une Team peuvent activer ou désactiver l’accès MCP pour leur Team, ainsi que mettre sur liste d’autorisation les serveurs MCP approuvés que leur Team peut utiliser :

MCP Team Settings

Paramètres MCP configurables pour votre Team.
Le lien ci-dessus ne fonctionne que si vous disposez des privilèges d’admin pour votre Team.
Par défaut, les users d’une Team peuvent configurer leurs propres serveurs MCP. Toutefois, dès que vous mettez sur liste d’autorisation un seul serveur MCP, tous les serveurs qui ne figurent pas sur la liste d’autorisation seront bloqués pour votre Team.

Fonctionnement de la correspondance des serveurs

Lorsque vous ajoutez un serveur MCP à la liste d’autorisation, le système utilise la correspondance de motifs regex selon les règles suivantes :
  • Correspondance sur la chaîne entière : tous les motifs sont automatiquement ancrés (encadrés par ^(?:pattern)$) afin d’empêcher les correspondances partielles
  • Champ de commande : doit correspondre exactement ou selon votre motif regex
  • Tableau d’arguments : chaque argument est comparé individuellement à son motif correspondant
  • Longueur du tableau : le nombre d’arguments doit correspondre exactement entre la liste d’autorisation et la configuration utilisateur
  • Caractères spéciaux : des caractères comme $, ., [, ], (, ) ont une signification particulière en regex et doivent être échappés avec \ si vous voulez une correspondance littérale

Options de configuration

Configuration de la liste d’autorisation des admins :
  • ID du serveur : github-mcp-server
  • Server Config (JSON) : (laisser vide)
{}
Configuration utilisateur correspondante (mcp_config.json) :
{
  "mcpServers": {
    "github-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
      }
    }
  }
}
Cela permet aux utilisateurs d’installer le serveur MCP GitHub avec toute configuration valide, à condition que l’ID du serveur corresponde à l’entrée du Plugin Store.
Configuration de la liste d’autorisation des admins :
  • ID du serveur : github-mcp-server
  • Server Config (JSON) :
{
  "command": "docker",
  "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "ghcr.io/github/github-mcp-server"
  ],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": ""
  }
}
Configuration utilisateur correspondante (mcp_config.json) :
{
  "mcpServers": {
    "github-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
      }
    }
  }
}
Les utilisateurs doivent utiliser cette configuration exacte ; tout écart dans command ou args sera bloqué. La section env peut contenir des valeurs différentes.
Configuration de la liste d’autorisation des admins :
  • ID du serveur : python-mcp-server
  • Server Config (JSON) :
{
  "command": "python3",
  "args": ["/.*\\.py", "--port", "[0-9]+"]
}
Configuration utilisateur correspondante (mcp_config.json) :
{
  "mcpServers": {
    "python-mcp-server": {
      "command": "python3",
      "args": ["/home/user/my_server.py", "--port", "8080"],
      "env": {
        "PYTHONPATH": "/home/user/mcp"
      }
    }
  }
}
Cet exemple offre de la flexibilité aux utilisateurs tout en préservant la sécurité :
  • La regex /.*\\.py correspond à n’importe quel chemin de fichier Python, comme /home/user/my_server.py
  • La regex [0-9]+ correspond à n’importe quel port numérique, comme 8080 ou 3000
  • Les utilisateurs peuvent personnaliser les chemins de fichiers et les ports, tandis que les admins veillent à ce que seuls des scripts Python soient exécutés

Motifs Regex courants

PatternCorrespond àExemple
.*N’importe quelle chaîne/home/user/script.py
[0-9]+N’importe quel nombre8080, 3000
[a-zA-Z0-9_]+Alphanumérique + trait de soulignementapi_key_123
\\$HOME$HOME littéral$HOME (non développé)
\\.py.py littéralscript.py
\\[cli\\][cli] littéralmcp[cli]

Remarques

Consignes de configuration d’administration

  • Variables d’environnement : la section env n’est pas comparée via des expressions régulières et peut être configurée librement par les utilisateurs
  • Outils désactivés : le tableau disabledTools est traité séparément et ne fait pas partie de la correspondance avec la liste blanche
  • Sensibilité à la casse : toute correspondance tient compte de la casse
  • Gestion des erreurs : les motifs regex non valides seront consignés et entraîneront un refus d’accès
  • Tests : testez soigneusement vos motifs regex - des motifs trop restrictifs peuvent bloquer des cas d’utilisation légitimes

Dépannage

Si des utilisateurs signalent que leurs serveurs MCP ne fonctionnent plus après leur ajout à la liste blanche :
  1. Vérifier la correspondance exacte : assurez-vous que le motif de la liste blanche correspond exactement à la configuration de l’utilisateur
  2. Vérifier l’échappement des expressions régulières : les caractères spéciaux peuvent devoir être échappés (p. ex., \. pour les points littéraux)
  3. Consulter les logs : les motifs regex non valides sont consignés avec des avertissements
  4. Tester les motifs : utilisez un testeur regex pour vérifier que vos motifs fonctionnent comme prévu
N’oubliez pas : dès que vous mettez un serveur sur liste blanche, tous les autres serveurs sont automatiquement bloqués pour les membres de votre Team.

Informations générales

  • Comme les appels aux outils MCP peuvent invoquer du code écrit par des implémenteurs de serveurs tiers, nous déclinons toute responsabilité en cas d’échec d’un appel à un outil MCP. En d’autres termes :
  • Nous prenons actuellement en charge les tools, les resources et les prompts d’un serveur MCP.