MCP代理扩展

一个VS Code扩展,用于代理一个或多个MCP服务器到VS Code的语言模型工具API。

  • by borgius
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 borgius/mcp-proxy

使用说明

MCP代理

此VS Code扩展将一个或多个MCP(模型上下文协议)服务器代理到VS Code的 语言模型工具 API

为什么?

  • 如果出于任何原因,您的VS代码 聊天/MCP访问 设置为 无 (并且您可以更改它),此扩展允许您将工作区配置文件中定义的MCP服务器作为可调用工具公开。
  • 该扩展可以在本地生成MCP服务器(stdio JSON-RPC),也可以通过WebSocket或HTTP JSON-RPC连接到远程MCP服务器,具体取决于您如何配置每个服务器。

它提供了什么

  • mcp-list:列出了所有加载的MCP服务器及其工具。
  • mcp-call:调用特定服务器上的特定MCP工具。

这些是通过VS Code的语言模型工具API注册的(vscode.lm.registerTool).

配置

默认情况下,扩展从以下位置加载MCP服务器配置:

  • .vscode/mcp.json (每个工作区文件夹)

您可以通过设置将其指向其他文件:

  • mcpProxy.configFile (默认值: .vscode/mcp.json)

笔记:

  • 从每个工作区文件夹解析相对路径。
  • 如果你设置一个 绝对的 路径,扩展仍将加载它,但可能会禁用文件更改时的自动重新加载(因为VS Code文件监视器是相对于工作区的)。

示例配置文件

创建文件(默认) .vscode/mcp.json:

{
	"servers": {
		"myProcessServer": {
			"type": "stdio",
			"command": "node",
			"args": ["/absolute/or/workspace-relative/path/to/server.js"],
			"env": {
				"SOME_VAR": "value"
			}
		},
		"myWebsocketServer": {
			"type": "websocket",
			"url": "ws://localhost:12345"
		},
		"myHttpServer": {
			"type": "http",
			"url": "https://example.com/mcp"
		}
	}
}

命令

  • MCP代理:刷新服务器 (mcp-proxy.refresh)重新加载配置并重新启动MCP服务器进程。
  • MCP代理:显示输出 (mcp-proxy.showOutput)显示了扩展输出通道。

要求/权限

  • 此扩展仅在VS Code可以运行语言模型工具并且您有权在您的环境中启用相关的聊天/MCP访问时有用。
  • MCP服务器是您从配置文件本地运行的进程;将配置视为代码,只使用您信任的服务器。