MCP (Model Context Protocol) est un protocole qui permet aux LLM d’accéder à des outils et services personnalisés. Un client MCP (Cascade, en l’occurrence) peut envoyer des requêtes à des serveurs MCP pour utiliser les outils qu’ils fournissent. 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 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 depuis le Plugin Store, accessible en cliquant sur l’icône Plugins dans le menu en haut à droite du panneau Cascade, ou via Windsurf Settings > Cascade > Plugins. Si vous ne trouvez pas le plugin MCP souhaité, vous pouvez l’ajouter manuellement en modifiant le fichier brut mcp_config.json. Les plugins MCP officiels s’affichent avec une coche bleue, indiquant qu’ils sont publiés par l’entreprise du service parent. Lorsque vous sélectionnez un plugin, cliquez simplement sur Install pour rendre le serveur et ses outils accessibles à Cascade. Windsurf prend en charge deux types de transport pour les serveurs MCP : stdio et http. Pour les serveurs http, l’URL doit correspondre à celle du point de terminaison et ressembler à https://<your-server-url>/mcp. Nous prenons également en charge le transport HTTP en streaming et l’authentification MCP.
Assurez-vous d’appuyer sur le bouton d’actualisation après avoir ajouté un nouveau plugin MCP.

Configuration des outils MCP

Chaque plugin dispose d’un certain nombre d’outils auxquels il peut accéder. Cascade est limitée à 100 outils au total accessibles à un instant donné. Au niveau du plugin, vous pouvez ouvrir l’onglet Tools et activer ou désactiver les outils que vous souhaitez utiliser. Vous pouvez aussi, depuis les Windsurf Settings, cliquer sur le bouton Manage plugins.

mcp_config.json

Le fichier ~/.codeium/windsurf/mcp_config.json est un fichier JSON qui répertorie les serveurs auxquels Cascade peut se connecter. Le JSON doit suivre le même schéma que le fichier de configuration de Claude Desktop. 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": "<VOTRE_TOKEN_D_ACCES_PERSONNEL>"
      }
    }
  }
}
Il convient de noter que, pour les serveurs HTTP, la configuration diffère légèrement et nécessite un champ serverUrl. Voici un exemple de configuration pour un serveur HTTP :
{
  "mcpServers": {
    "figma": {
      "serverUrl": "<votre-url-de-serveur>/mcp"
    }
  }
}
Pour le serveur MCP de Figma en mode Dev, assurez-vous d’avoir mis à jour l’application Figma pour bureau à 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 dépôt de référence 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 MCP pour leur équipe et autoriser une liste de serveurs MCP approuvés que leur équipe pourra utiliser :

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 utilisateurs d’une équipe peuvent configurer leurs propres serveurs MCP. Toutefois, 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 correspondance de serveurs

Lorsque vous ajoutez un serveur MCP à la liste d’autorisation (whitelist), 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 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 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 toute configuration valide, tant que le Server ID 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 différence 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 correspond à n’importe quel chemin vers un 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 administrateurs s’assurent que seuls des scripts Python sont exécutés

Motifs regex courants

MotifCorrespond àExemple
.*N’importe quelle chaîne/home/user/script.py
[0-9]+N’importe quel 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 administrateur

  • Variables d’environnement : La section env n’est pas soumise à une correspondance 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 ne fait pas partie de la correspondance par liste d’autorisation
  • Sensibilité à la casse : Toutes les correspondances sont sensibles à la casse
  • Gestion des erreurs : Les expressions régulières invalides seront consignées et entraîneront un refus d’accès
  • Tests : Testez soigneusement vos expressions régulières — des motifs trop restrictifs peuvent bloquer des cas d’usage légitimes

Dépannage

Si des utilisateurs signalent que leurs serveurs MCP ne fonctionnent pas après leur ajout à la liste d’autorisation :
  1. Vérifier la correspondance exacte : Assurez-vous que le motif de la liste d’autorisation correspond exactement à la configuration de l’utilisateur
  2. Vérifier l’échappement des expressions régulières : Certains caractères spéciaux doivent être échappés (p. ex., \. pour un point littéral)
  3. Consulter les logs : Les motifs d’expressions régulières invalides sont consignés avec des avertissements
  4. Tester les motifs : Utilisez un testeur d’expressions régulières pour vérifier que vos motifs fonctionnent comme prévu
À retenir : Une fois qu’un serveur est ajouté à la liste d’autorisation, 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 exécuter du code écrit par n’importe quel implémenteur de serveur, nous déclinons toute responsabilité en cas d’échec de ces appels. Pour le rappeler :
  • Nous prenons actuellement en charge les tools et les resources d’un serveur MCP, mais pas les prompts.