MCP捆绑包
一个VS代码/游标扩展,在启动时注册多个MCP服务器,解析 1Password中的秘密会自动泄露。
运作原理
- 启动时,扩展程序读取捆绑的
mcp.json - 任何匹配的值
op://vault/item/field通过解决op命令行界面 - 每个服务器都使用相应的IDE API进行注册:
- 光标: vscode.cursor.mcp.registerServer() - VS代码 (使用GitHub Copilot时为1.99+): mcp.servers 用户设置
- 如果一个秘密无法解析,则跳过该服务器,并注册其余的秘密
mcp.json被监视——任何更改都会触发自动重新注册
先决条件
- 1Password桌面应用程序
- 1Password命令行界面 (
op) - 启用CLI集成:1Password→ 设置→ 开发者→ CLI集成
通过以下方式进行验证: 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:////
命令
| 命令 | 描述 |
|---|---|
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-*.vsixVS代码注释
在普通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