集成
VS Code(GitHub Copilot)
两分钟内在 VS Code 中通过 GitHub Copilot 代理模式设置 zn-gate:将其添加为 MCP 服务器,以及 zn-gate 目前在此尚未覆盖的内容。
快速开始(无需编程)
-
检查是否已安装 Node.js。 打开终端(在大多数编辑器中:菜单 Terminal → New Terminal;或使用计算机自带的终端应用),输入
node --version并按回车。如果看到版本号(18 或更高),继续下一步。如果看到 "command not found",请从 nodejs.org 安装 LTS 版本,然后重启 VS Code。 -
打开命令面板(Ctrl+Shift+P,在 Mac 上为 Cmd+Shift+P),输入 MCP: Open User Configuration 并按回车。VS Code 会打开一个名为
mcp.json的文件。 -
粘贴以下内容:
{ "servers": { "zn-gate": { "type": "stdio", "command": "npx", "args": [ "-y", "zn-gate", "mcp" ] } } }如果文件中已有
"servers"部分,只需在其中添加"zn-gate": {...}部分。 -
保存文件,然后点击
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 的设置。