使用说明
MCP发生器
VS代码扩展名:
- 在以下位置嵌入内部MCP配置
resources/mcp.json - 生成
contributes.languageModelTools在package.json通过查询所有MCP服务器 - 在激活时启动这些服务器并将每个VS Code工具调用代理到正确的MCP服务器/工具。
配置服务器
编辑 resources/mcp.json:
{
"servers": {
"brop-mcp": {
"command": "npx",
"args": ["@borgius/brop-mcp@latest"],
"transport": { "type": "stdio", "framing": "ndjson" }
}
}
}
支持的stdio框架:
content-length(默认)ndjson
生成工具
运行:
npm run update-tools
这将从以下位置启动所有服务器 resources/mcp.json,呼叫MCP tools/list,并重写 package.json.contributes.languageModelTools.
生成的工具ID使用友好的格式(例如 brop_cdp_navigate).每个贡献的工具还包括显式路由元数据(mcpServer 和 mcpTool)因此,扩展知道在运行时调用哪个MCP服务器和工具。
运行/调试
npm run compile- 按
F5启动扩展主机。
注意:一些MCP服务器(如浏览器自动化服务器)可能需要在工具调用成功之前连接外部应用程序/扩展程序(如Chrome扩展程序)。
将此存储库用作模板✅
您可以将此项目用作创建自己的VS Code扩展的起点,该扩展公开了MCP支持的工具。以下是分步说明和示例,可帮助您分叉、自定义、测试和发布扩展。
副驾驶辅助设置(推荐)
如果您将此仓库用作模板,并希望通过最快的路径“使用我的MCP工具进行扩展”,您可以让 GitHub Copilot 为您定制。
-
克隆你的分叉并在VS Code中打开它。
-
打开 副驾驶聊天.
-
类型
@init-extension并描述你想要什么。例如:@init-extension Set up my extension with: - name: my-browser-tools - displayName: My Browser Tools - publisher: mycompany - description: Browser automation tools for VS Code - GitHub owner: @myhandle - MCP server: npx @anthropic/mcp-server-puppeteer这
init-extension代理定义见.github/agents/init-extension.md. -
回答任何后续问题。副驾驶将:
- 更新
package.json元数据 - 更新
.github/CODEOWNERS - 写
resources/mcp.json - 跑
npm install,npm run update-tools,以及npm run compile
- 更新
发布前查看差异。
手册
-
使用GitHub 使用此模板 按钮或分叉仓库以创建自己的副本。
-
在本地克隆您的fork并安装依赖项:
git clone <your-repo-url> cd <your-repo-folder> npm install -
更新中的扩展元数据
package.json: 变化最小 这name,displayName,description,以及publisher字段,以便唯一标识您的扩展名。例子:
{ "name": "my-mcp-extension", "displayName": "My MCP Extension", "description": "My custom tools backed by MCP servers", "publisher": "your-publisher-id" } -
在中配置MCP服务器
resources/mcp.json每个服务器都需要一个command(或绝对路径),可选args和atransport定义。示例(使用
npx):{ "servers": { "my-server": { "command": "npx", "args": ["@example/my-mcp-server@latest"], "transport": { "type": "stdio", "framing": "ndjson" } } } }提示:如果您的命令不在GUI PATH上(在macOS上很常见),请使用绝对命令路径(例如。
/opt/homebrew/bin/npx)或者从终端启动VS Code,使其继承您的shell PATH。 -
生成工具贡献并将其写入
package.json:npm run update-tools这将启动服务器,调用
tools/list并重写contributes.languageModelTools具有友好的工具ID和路由元数据(mcpServer/mcpTool). -
构建和测试:
- 构建:
npm run compile - 磨合开发:Press
F5启动扩展主机并使用工具。 - 测验:
npm test
- 构建:
-
发布(可选):
-
安装
vsce或使用@vscode/vsce打包并发布扩展。 -
典型步骤:
npm install -g vsce vsce package vsce publish确保你的
publisher已设置,并且您已在VS Code Marketplace上创建了发布者。
-
常见定制和提示
- 工具ID命名:生成器使用
serverShort_toolName(例如。,brop_cdp_navigate).您可以稍后在中重命名package.json,但要保持mcpServer和mcpTool指向原始MCP工具的元数据。 - PATH问题:如果服务器无法生成
ENOENT,从终端启动VS Code或设置command到绝对路径,或添加env进入resources/mcp.json. - 外部依赖性:一些MCP服务器需要外部组件(例如浏览器扩展、正在运行的浏览器)。在README中记录先决条件。
- 安全:永远不要将秘密或私钥提交给
resources/mcp.json.改用环境变量,并记录如何在本地或通过CI提供它们。
模板检查表
- 分叉或使用此模板
- 更新
package.json元数据(name,displayName,publisher,description) - 编辑
resources/mcp.json包括您的服务器 - 跑
npm install然后npm run update-tools - 构建和测试:
npm run compile+F5,npm test - 使用项目特定的说明和先决条件更新README
- 准备就绪后打包并发布
GitHub Actions工作流包含在 .github/workflows/ci.yml;它运行编译、测试和验证 update-tools该工作流还包括一个可选的自动提交步骤(在向默认分支推送时运行),该步骤将提交 package.json 更改时 update-tools 更新贡献的工具——如果您更喜欢手动提交,请编辑或删除该步骤。
更喜欢编辑 resources/mcp.example.json 开始时将其复制到 resources/mcp.json 准备好后放在叉子里。看 TEMPLATE.md 获取简明的入职检查表。使用交互式助手快速构建分叉项目: npm run init-extension --它会更新 package.json,写道 resources/mcp.json,以及更新 .github/CODEOWNERS 为你。更新 .github/CODEOWNERS 如果你喜欢手动操作,可以使用你的GitHub句柄。
