MCP服务器自动注册扩展

一款VS Code/Cursor扩展,启动时自动注册多个MCP服务器并解析1Password中的密钥。

  • by adinath
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 adinath/mcp-bundles

使用说明

MCP捆绑包

一个VS代码/游标扩展,在启动时注册多个MCP服务器,解析 1Password中的秘密会自动泄露。

运作原理

  1. 启动时,扩展程序读取捆绑的 mcp.json
  2. 任何匹配的值 op://vault/item/field 通过解决 op 命令行界面
  3. 每个服务器都使用相应的IDE API进行注册:
    • 光标: vscode.cursor.mcp.registerServer()
    • VS代码 (使用GitHub Copilot时为1.99+): mcp.servers 用户设置
  4. 如果一个秘密无法解析,则跳过该服务器,并注册其余的秘密
  5. mcp.json 被监视——任何更改都会触发自动重新注册

先决条件

通过以下方式进行验证: op --version

配置 mcp.json

该文件位于扩展包的根目录下。编辑它以定义您的服务器:

{
  "servers": [
    {
      "name": "my-remote-server",
      "type": "remote",
      "server": {
        "url": "https://mcp.example.com/sse",
        "headers": {
          "Authorization": "Bearer op://Personal/MyService/api_key"
        }
      }
    },
    {
      "name": "my-local-server",
      "type": "stdio",
      "server": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-example"],
        "env": {
          "SECRET_TOKEN": "op://Work/MyTool/token"
        }
      }
    }
  ]
}

机密引用遵循1Password URI格式: op://<vault>/<item>/<field>

命令

命令 描述
MCP Bundles: Re-register MCP Servers 手动触发(重新)注册

也可以通过单击右侧的状态栏项进行访问。

状态栏

状态 含义
$(plug) MCP: 3/3 registered 所有服务器均已成功注册
$(warning) MCP: 2/3 registered 跳过了一个或多个服务器
$(error) MCP: config error mcp.json 解析失败

发展

首次设置

npm install

在扩展开发主机中运行

./scripts/dev.sh   # starts TS compiler in watch mode
# then press F5 in VS Code / Cursor

仅构建

./scripts/build.sh

包装到 .vsix

./scripts/package.sh

安装打包的扩展

# Cursor
cursor --install-extension mcp-bundles-*.vsix

# VS Code
code --install-extension mcp-bundles-*.vsix

VS代码注释

在普通VS代码(没有GitHub Copilot)上,MCP服务器条目会写入您的用户 settings.json 在...之下 mcp.servers,但除非您有 已安装MCP感知扩展(例如GitHub Copilot Chat v1.99+)。

建筑

看 adrs/ 用于架构决策记录。

src/
├── extension.ts      Activation, commands, status bar, file watching
├── configLoader.ts   Reads and validates mcp.json
├── secretResolver.ts Resolves op:// references via `op read`
├── mcpRegistrar.ts   IDE-specific registration (Cursor API / VS Code settings)
└── types.ts          Shared TypeScript interfaces