Intégrations

Windsurf (Devin Desktop)

Configurer zn-gate dans Windsurf (Devin Desktop, Cascade) en deux minutes : l'ajouter comme serveur MCP, et ce que zn-gate ne couvre pas encore sur cet outil.

Voir le .md

Démarrage rapide (sans programmation)

  1. Vérifiez que Node.js est installé. Ouvrez un terminal (dans la plupart des éditeurs : menu Terminal → New Terminal ; ou l'application Terminal de votre ordinateur), tapez node --version et appuyez sur Entrée. Si un numéro de version s'affiche (18 ou plus récent), passez à l'étape suivante. Si vous voyez « command not found », installez la version LTS depuis nodejs.org puis redémarrez Windsurf.

  2. Ouvrez le fichier de configuration MCP : sur macOS et Linux ~/.config/devin/mcp_config.json, sur Windows %APPDATA%\devin\mcp_config.json. S'il n'existe pas, créez-le. (~ désigne votre dossier utilisateur. Les anciennes versions de Windsurf utilisaient ~/.codeium/windsurf/mcp_config.json, non vérifié.)

  3. Collez ceci :

    {
      "mcpServers": {
        "zn-gate": {
          "command": "npx",
          "args": [
            "-y",
            "zn-gate",
            "mcp"
          ]
        }
      }
    }

    Si le fichier contient déjà une section "mcpServers", ajoutez uniquement la partie "zn-gate": {...} à l'intérieur.

  4. Enregistrez le fichier et actualisez les serveurs MCP dans le panneau Cascade (ou redémarrez l'application).

Statut : ces étapes suivent la documentation de Windsurf ; elles ne sont pas encore vérifiées par nos soins dans Windsurf.

Ce que zn-gate protège dans Windsurf, et ce qu'il ne protège pas

Dans Windsurf, zn-gate fonctionne comme un serveur MCP : l'agent peut lui demander de vérifier un prompt, un appel d'outil ou un résultat d'outil (analyze_prompt, check_tool_call, check_tool_result). C'est l'agent qui décide quand appeler ces outils ; à lui seul, cela n'offre donc pas de protection automatique.

Dans Windsurf
Contrôles de zn-gate disponibles pour l'agent (MCP) Oui
Vos autres serveurs MCP vérifiés pour l'injection de prompt et les secrets Oui, si vous les encapsulez (voir ci-dessous)
Bloque la lecture de .env et des fichiers d'identifiants Non
Supprime les secrets de la sortie du shell et du contenu des fichiers Non
Bloque un secret collé dans le chat Non

Cascade dispose de hooks : pre_mcp_tool_use, pre_run_command et pre_read_code peuvent bloquer une action (code de sortie 2), mais sa documentation ne décrit pas de moyen pour les hooks de modifier la sortie d'un outil, et zn-gate n'installe pas encore de hooks pour Cascade. Ainsi, dans Windsurf, zn-gate ne bloque pas la lecture de vos fichiers .env ou d'identifiants et ne supprime pas les secrets de la sortie du shell ni du contenu des fichiers. Si vous en avez besoin dès aujourd'hui, utilisez zn-gate avec Claude Code, Codex CLI, Cursor ou OpenCode : voir compat.md.

Référence technique

Emplacement de la configuration

macOS et Linux : ~/.config/devin/mcp_config.json. Windows : %APPDATA%\devin\mcp_config.json.

Vérifier la sortie de vos autres serveurs MCP

Pour vérifier la sortie des autres serveurs MCP que vous utilisez dans Windsurf, lancez chaque serveur local via zn-gate : remplacez sa commande par npx et placez -y zn-gate shield -- devant sa commande et ses arguments d'origine. Par exemple, un serveur lancé avec uvx mcp-server-fetch devient :

{
  "mcpServers": {
    "fetch": {
      "command": "npx",
      "args": [
        "-y",
        "zn-gate",
        "shield",
        "--",
        "uvx",
        "mcp-server-fetch"
      ]
    }
  }
}

Chaque résultat de ce serveur est alors vérifié pour l'injection de prompt, et les secrets reconnus par zn-gate sont supprimés, avant que l'agent ne le voie. zn-gate init, qui réalise cette opération automatiquement pour Claude Desktop, Claude Code, Cursor, Codex et OpenCode, ne modifie pas les paramètres de Windsurf.

Documentation de Windsurf