集成

VS Code(GitHub Copilot)

两分钟内在 VS Code 中通过 GitHub Copilot 代理模式设置 zn-gate:将其添加为 MCP 服务器,以及 zn-gate 目前在此尚未覆盖的内容。

查看 .md

快速开始(无需编程)

  1. 检查是否已安装 Node.js。 打开终端(在大多数编辑器中:菜单 Terminal → New Terminal;或使用计算机自带的终端应用),输入 node --version 并按回车。如果看到版本号(18 或更高),继续下一步。如果看到 "command not found",请从 nodejs.org 安装 LTS 版本,然后重启 VS Code。

  2. 打开命令面板(Ctrl+Shift+P,在 Mac 上为 Cmd+Shift+P),输入 MCP: Open User Configuration 并按回车。VS Code 会打开一个名为 mcp.json 的文件。

  3. 粘贴以下内容:

    {
      "servers": {
        "zn-gate": {
          "type": "stdio",
          "command": "npx",
          "args": [
            "-y",
            "zn-gate",
            "mcp"
          ]
        }
      }
    }

    如果文件中已有 "servers" 部分,只需在其中添加 "zn-gate": {...} 部分。

  4. 保存文件,然后点击 zn-gate 条目上方显示的小链接中的 Start(或在命令面板中运行 MCP: List Servers)。

状态:以上步骤依据 VS Code 官方文档整理;我们尚未在 VS Code 中亲自验证。

zn-gate 在 VS Code 中保护什么,不保护什么

在 VS Code 中,zn-gate 作为 MCP 服务器运行:代理可以请求它检查提示词、工具调用或工具结果(analyze_prompt、check_tool_call、check_tool_result)。由代理决定何时调用这些工具,因此仅靠这一点并不是自动防护。

在 VS Code 中
代理可使用的 zn-gate 检查(MCP) 是
你的其他 MCP 服务器检查提示词注入和机密信息 是,如果你按下文方式进行包装
阻止读取 .env 和凭据文件 否
从 shell 输出和文件内容中移除机密信息 否
阻止粘贴到聊天中的机密信息 否

VS Code 有处于预览阶段的代理钩子(PreToolUse、PostToolUse 等,位于 .github/hooks/*.json),但 zn-gate 目前尚未为 VS Code 安装钩子,我们也尚未确认 VS Code 钩子能否捕获 MCP 工具调用。因此在 VS Code 中,zn-gate 不会阻止读取你的 .env 或凭据文件,也不会从 shell 输出或文件内容中移除机密信息。如果你现在需要这些功能,请在 Claude Code、Codex CLI、Cursor 或 OpenCode 中使用 zn-gate:参见 compat.md。

技术参考

配置文件位置

用户级:MCP: Open User Configuration。项目级:项目根目录下的 .mcp.json(顶层键为 mcpServers),VS Code 现已推荐使用此方式;.vscode/mcp.json(顶层键为 servers)仍然有效。

检查其他 MCP 服务器的输出

要检查你在 VS Code 中使用的其他 MCP 服务器的输出,请通过 zn-gate 启动每个本地服务器:将其命令替换为 npx,并在其原始命令和参数前加上 -y zn-gate shield --。例如,原本通过 uvx mcp-server-fetch 启动的服务器会变为:

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

此后,该服务器的每个结果都会在代理看到之前检查提示词注入,并移除 zn-gate 能够识别的机密信息。zn-gate init 会为 Claude Desktop、Claude Code、Cursor、Codex 和 OpenCode 自动完成此操作,但不会修改 VS Code 的设置。

VS Code 文档