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

Ajouter un nouveau plugin MCP

Vous pouvez ajouter de nouveaux plugins MCP via 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 et en modifiant directement le fichier mcp_config.json. Quand vous sélectionnez un serveur MCP, cliquez simplement sur + Add Server pour exposer le serveur et ses outils à Cascade.
Cascade prend en charge deux types de transport pour les serveurs MCP : stdio et http. Pour les serveurs http, l’URL doit correspondre à celle de l’endpoint et avoir la forme https://<your-server-url>/mcp. Nous prenons également en charge le transport HTTP en flux (streamable) et l’authentification MCP.
Assurez-vous d’appuyer 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 qui répertorie les serveurs auxquels Cascade peut se connecter. Le JSON doit respecter le même schéma que le fichier de configuration de Claude Desktop. Voici un exemple de configuration qui configure un seul serveur pour GitHub :
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<VOTRE_TOKEN_D_ACCES_PERSONNEL>"
      }
    }
  }
}
Il est important de noter que, pour les serveurs HTTP, la configuration diffère légèrement et requiert un champ serverUrl. Voici un exemple de configuration pour un serveur HTTP :
{
  "mcpServers": {
    "figma": {
      "serverUrl": "<votre-url-de-serveur>/mcp"
    }
  }
}
Pour le serveur MCP Figma Dev Mode, assurez-vous d’avoir mis à jour l’application Figma pour ordinateur vers la dernière version afin d’utiliser le nouvel endpoint « /mcp ».
Veillez à fournir les arguments requis et les variables d’environnement pour les serveurs que vous souhaitez utiliser. Consultez le référentiel officiel des serveurs MCP ou OpenTools pour des exemples de serveurs.

Contrôles d’administration (Teams & Enterprise)

Les administrateurs d’équipe peuvent activer ou désactiver l’accès au MCP pour leur équipe, ainsi qu’autoriser (whitelister) des serveurs MCP approuvés pour leur usage par l’équipe :

MCP Team Settings

Paramètres MCP configurables pour votre équipe.
Le lien ci-dessus ne fonctionnera que si vous disposez des droits d’administrateur de votre équipe.
Par défaut, les membres d’une équipe peuvent configurer leurs propres serveurs MCP. En revanche, dès que vous autorisez ne serait-ce qu’un seul serveur MCP, tous les serveurs non autorisés seront bloqués pour votre équipe.

Fonctionnement de la mise en correspondance des serveurs

Lorsque vous autorisez un serveur MCP, le système utilise une correspondance par expressions régulières (regex) selon les règles suivantes :
  • Correspondance sur la chaîne complète : Tous les motifs sont automatiquement ancrés (encapsulés avec ^(?:pattern)$) pour éviter les correspondances partielles
  • Champ Command : Doit correspondre exactement ou selon votre motif regex
  • Tableau d’arguments : Chaque argument est évalué individuellement par rapport à 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 souhaitez une correspondance littérale

Options de configuration

Configuration de la liste d’autorisation Admin :
  • Server ID : 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 n’importe quelle configuration valide, tant que l’ID du serveur correspond à l’entrée du Plugin Store.
Configuration de la liste d’autorisation Admin :
  • Server ID : 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 exactement cette configuration : toute divergence dans command ou args sera bloquée. La section env peut contenir des valeurs différentes.
Configuration de la liste d’autorisation Admin :
  • Server ID : 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 maintenant la sécurité :
  • La regex /.*\\.py fait correspondre tout chemin de fichier Python, comme /home/user/my_server.py
  • La regex [0-9]+ fait correspondre tout port numérique, comme 8080 ou 3000
  • Les utilisateurs peuvent personnaliser les chemins de fichiers et les ports, tandis que les administrateurs veillent à ce que seuls des scripts Python soient exécutés

Modèles regex courants

ModèleCorrespond àExemple
.*Toute chaîne/home/user/script.py
[0-9]+Tout nombre8080, 3000
[a-zA-Z0-9_]+Alphanumérique + underscoreapi_key_123
\\$HOMELittéral $HOME$HOME (non développé)
\\.pyLittéral .pyscript.py
\\[cli\\]Littéral [cli]mcp[cli]

Remarques

Directives de configuration pour les administrateurs

  • Variables d’environnement : La section env n’est pas évaluée par regex et peut être configurée librement par les utilisateurs
  • Outils désactivés : Le tableau disabledTools est géré séparément et n’entre pas dans la correspondance par liste blanche
  • Sensibilité à la casse : Toutes les correspondances sont sensibles à la casse
  • Gestion des erreurs : Les expressions régulières invalides seront journalisées et entraîneront un refus d’accès
  • Tests : Testez soigneusement vos expressions régulières — des règles trop restrictives peuvent bloquer des cas d’utilisation légitimes

Dépannage

Si des utilisateurs signalent que leurs serveurs MCP ne fonctionnent pas après ajout à la liste autorisée :
  1. Vérifier la correspondance exacte : Assurez-vous que le motif de la liste autorisée correspond exactement à la configuration de l’utilisateur
  2. Vérifier l’échappement des regex : Les caractères spéciaux peuvent nécessiter un échappement (p. ex. : \. pour des points littéraux)
  3. Consulter les logs : Les motifs regex invalides sont consignés avec des avertissements
  4. Tester les motifs : Utilisez un testeur de regex pour vérifier que vos motifs fonctionnent comme prévu
Rappel : Une fois que vous autorisez un serveur, tous les autres serveurs sont automatiquement bloqués pour les membres de votre équipe.

Informations générales

  • Étant donné que les appels d’outils MCP peuvent invoquer du code écrit par des implémenteurs de serveurs tiers, nous déclinons toute responsabilité en cas d’échec de ces appels. Pour rappel :
  • Nous prenons actuellement en charge les tools et les resources d’un serveur MCP, mais pas les prompts.