Passer au contenu principal
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 MCP

De nouveaux MCP peuvent être ajoutés depuis le Marketplace MCP, auquel vous accédez en cliquant sur l’icône MCPs dans le menu en haut à droite du panneau Cascade, ou depuis la section Windsurf Settings > Cascade > MCP Servers. Si vous ne trouvez pas le MCP souhaité, vous pouvez l’ajouter manuellement en modifiant directement le fichier brut mcp_config.json. Les MCP officiels apparaissent avec une coche bleue, indiquant qu’ils sont fournis par le service d’origine. Quand vous cliquez sur un MCP, il suffit de cliquer sur Install pour rendre le serveur et ses outils accessibles à Cascade. Windsurf prend en charge trois types de transport pour les serveurs MCP : stdio, Streamable HTTP et SSE. Windsurf prend également en charge OAuth pour chaque type de transport. Pour les serveurs http, l’URL doit correspondre à celle de l’endpoint et être de la forme https://<your-server-url>/mcp.

Configuration des outils MCP

Chaque MCP dispose d’un certain nombre d’outils auxquels il peut accéder. Cascade est limitée à 100 outils au total accessibles à un instant donné. Sur chaque page de paramètres d’un MCP, vous pouvez activer ou désactiver les outils que vous souhaitez utiliser. Pour ouvrir les paramètres d’un MCP, cliquez sur l’icône MCPs dans le menu en haut à droite du panneau Cascade, puis sélectionnez le MCP souhaité.

mcp_config.json

Le fichier ~/.codeium/windsurf/mcp_config.json est un fichier JSON qui répertorie les 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": "<VOTRE_TOKEN_D_ACCES_PERSONNEL>"
      }
    }
  }
}
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.

MCP HTTP distants

Il convient de noter que, pour les MCP HTTP distants, la configuration diffère légèrement et nécessite un champ serverUrl ou url. Voici un exemple de configuration pour un serveur HTTP :
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<votre-url-de-serveur>/mcp",
      "headers": {
        "API_KEY": "value"
      }
    }
  }
}

Interpolation de la configuration

Le fichier ~/.codeium/windsurf/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 administrateurs d’équipe peuvent activer ou désactiver l’accès MCP pour leur équipe, ainsi qu’ajouter à la liste blanche des serveurs MCP approuvés pour que leur équipe puisse les utiliser :

Paramètres MCP de l'équipe

Paramètres MCP configurables pour votre équipe.
Le lien ci-dessus ne fonctionnera que si vous disposez de privilèges d’administrateur pour votre équipe.
Par défaut, les membres d’une équipe peuvent configurer leurs propres serveurs MCP. Cependant, dès que vous ajoutez ne serait-ce qu’un seul serveur MCP à la liste blanche, 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, les resources et les prompts d’un serveur MCP.