将 VS Code 连接到 MCP 网关
Visual Studio Code 可以作为远程 Streamable HTTP 客户端连接到 AISIX MCP 端点。它发送 AISIX 调用方 API Key,仅发现该密钥有权使用的工具,并通过网关调用这些工具,无需获取上游服务器凭证。
VS Code 继续负责选择模型、决定何时请求工具、获取所需批准和展示结果。此连接将 MCP 工具流量发送到 AISIX,不会将模型请求路由到网关。如果 VS Code 支持兼容的模型覆盖配置,且模型流量也需要使用 AISIX,请单独配置该路径。
本指南将 VS Code 连接到聚合的 /mcp 端点。你可以接着设置 MCP 网关继续操作,该指南仅向调用方授予 everything__echo 权限;也可以使用现有 AISIX 环境,以及调用方有权访问且可安全调用的工具。
前置条件
开始之前,请准备以下内容:
- 完成设置 MCP 网关并保留
AISIX_PROXY和AISIX_MCP_KEY,或向网关运维团队获取 AISIX 代理源地址和调用方 API Key。对于现有环境,请使用这两个变量名导出相应值,并选择一个已获许可且可安全调用的工具进行验证。 - 安装 Visual Studio Code,并配置支持 Agent 的聊天服务提供方。
- 确保 VS Code 可访问 AISIX 代理 URL。运行在网关宿主机上的 VS Code 可以使用快速入门中的地址;远程开发环境则需要使用其可访问的地址。
本示例使用工作区配置和受保护的输入,既可随项目审查连接设置,又无需提交调用方 API Key。
配置连接
在工作区中创建 .vscode/mcp.json,将示例 URL 替换为 $AISIX_PROXY/mcp:
{
"inputs": [
{
"type": "promptString",
"id": "aisix-mcp-key",
"description": "AISIX caller API key",
"password": true
}
],
"servers": {
"aisix": {
"type": "http",
"url": "https://gateway.example.com/mcp",
"headers": {
"Authorization": "Bearer ${input:aisix-mcp-key}"
}
}
}
}
此配置适用于在本地 VS Code 扩展宿主中运行的聊天。VS Code 不会将需要 ${input:aisix-mcp-key} 等交互式输入的服务器转发给 Agent Host 会话。对于 Agent Host 会话,请使用其可移植的工作区配置 .mcp.json 或用户级路径 ~/.copilot/mcp-config.json,并采用受支持的非交互式密钥来源。
打开命令面板,运行 MCP: List Servers。选择 aisix,再选择 Start Server。如果 VS Code 询问是否信任工作区或服务器配置,请先检查文件再批准。出现提示时,输入 AISIX_MCP_KEY 中保存的调用方 API Key 值,而非变量名。VS Code 将受保护的输入与工作区文件分开存储。
通过 Configure Tools 打开聊天工具选择器,确认所选的已授权工具显示在 AISIX 服务器下。对于 Everything 测试服务,应仅显示 everything__echo,且 MCP 输出日志应报告发现了一个工具。
验证工具调用
以下提示词使用设置指南中的 Everything 测试服务。对于现有 MCP 服务器,请替换为已授权的工具名称、有效参数和预期结果。在 VS Code Agent 聊天中明确要求使用指定工具,不要依赖自动工具选择:
使用 MCP 工具 everything__echo,消息为 "hello through AISIX"。原样返回工具结果。
如果 VS Code 请求确认,请审查并批准此次调用。使用 Everything 测试服务时,结果应为:
Echo: hello through AISIX
确认完整路径:
- VS Code 显示已授权工具,不显示调用方有效授权范围之外的工具。对于此测试服务,应仅显示
everything__echo。 - AISIX MCP 可观测性记录预期调用方 API Key 和服务器的一次成功
tools/call。 - VS Code 显示经由 AISIX 返回的工具结果。
工具发现成功说明连接和调用方授权正常,但不能证明模型会选择工具,也不能证明 VS Code 的批准策略允许执行。因此,仍需保留显式工具调用测试。
VS Code 故障排查
| 现象 | 检查项 |
|---|---|
| VS Code 未启动服务器 | 信任预期工作区,运行 MCP: List Servers,并启动 aisix。使用 Show Output 检查 MCP 连接日志。 |
VS Code 返回 401 | 确认受保护的输入包含 AISIX 调用方 API Key,而非上游 MCP 凭证。 |
| 连接成功但未显示工具 | 按照工具访问故障排查检查服务器和有效授权。更改授权后,运行 MCP: Reset Cached Tools。 |
| 工具已显示,但 Agent 未调用它 | 明确指定所选工具的名称,通过 Configure Tools 启用它,并检查工具批准策略。对于测试服务,请选择 everything__echo。 |
| Agent Host 无法使用服务器 | 交互式 ${input:...} 值不会转发给 Agent Host。请使用其可移植 MCP 配置和非交互式密钥来源。 |