密码管理协议服务器

一个MCP(模型上下文协议)服务器,为Claude Code提供对1Password CLI(op)的完全访问,使其能够通过自然语言安全地管理密码、秘密、保险库、用户和组等。

  • by goodwokdev
  • Rust
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 goodwokdev/op-mcp

使用说明

op mcp

MCP(模型上下文协议)服务器,为Claude Code提供对1Password CLI的完全访问权限(op).这使Claude能够通过自然语言安全地管理密码、机密、保管库、用户、组等。

建筑

┌─────────────────────────────────────────────────────────────────────┐
│                         Claude Code / LLM                           │
└─────────────────────────────────────────────────────────────────────┘
                                   │
                                   │ MCP Protocol (JSON-RPC over stdio)
                                   ▼
┌─────────────────────────────────────────────────────────────────────┐
│                           op-mcp Server                             │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐                 │
│  │   Items     │  │   Vaults    │  │   Users     │  ... 46 tools   │
│  │  (9 tools)  │  │ (11 tools)  │  │  (8 tools)  │                 │
│  └─────────────┘  └─────────────┘  └─────────────┘                 │
└─────────────────────────────────────────────────────────────────────┘
                                   │
                                   │ CLI subprocess execution
                                   ▼
┌─────────────────────────────────────────────────────────────────────┐
│                        1Password CLI (op)                           │
└─────────────────────────────────────────────────────────────────────┘
                                   │
                                   │ Authenticated API calls
                                   ▼
┌─────────────────────────────────────────────────────────────────────┐
│                     1Password Service / Vaults                      │
└─────────────────────────────────────────────────────────────────────┘

先决条件

  1. 1Password命令行界面(op) -从以下位置安装 1password.com/downloads/命令行

    # macOS (Homebrew)
    brew install 1password-cli
    
    # Verify installation
    op --version
    
  2. 1Password应用程序集成 -在1Password桌面应用程序中启用CLI集成:

    • 打开1Password→ 设置→ 开发者
    • 启用“与1Password CLI集成”
    • 这允许对CLI操作进行生物识别解锁
  3. 防锈工具链 (从源头建设)

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    

安装

来自crates.io

cargo install op-mcp

从源代码构建

# Clone the repository
git clone https://github.com/goodwokdev/op-mcp.git
cd op-mcp

# Build release binary
cargo build --release

# The binary is at ./target/release/op-mcp

验证构建

# Check that it responds to MCP protocol
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | ./target/release/op-mcp

Claude代码配置

全局配置(推荐)

使用Claude CLI全局添加服务器(在所有项目中都可用):

# If installed via cargo install
claude mcp add --transport stdio 1password --scope user -- op-mcp

# If using a specific path
claude mcp add --transport stdio 1password --scope user -- ~/.mcp/bin/op-mcp

项目级配置

创建 .mcp.json 在项目根目录中:

{
  "mcpServers": {
    "1password": {
      "command": "op-mcp"
    }
  }
}

验证连接

配置后,重新启动Claude Code或运行 /mcp 以验证服务器是否已连接。

使用示例

配置后,您可以要求Claude自然执行1Password操作:

阅读秘诀

"What's my GitHub token from the Development vault?"

"Read the database password from op://Production/PostgreSQL/password"

"List all items in my Personal vault"

管理项目

"Create a new login item for api.example.com with username 'admin'"

"Update the password for my AWS root account"

"Move the 'Staging DB' item from Development to Production vault"

"Share the WiFi password item with a link that expires in 7 days"

保险库管理

"List all vaults I have access to"

"Create a new vault called 'Client Projects'"

"Who has access to the Production vault?"

"Grant read-only access to the Shared vault for the Engineering group"

用户和组管理

"List all users in my organization"

"Create a new group called 'DevOps Team'"

"Add user@example.com to the DevOps Team group"

"Suspend the user john.doe@example.com"

文件

"List all documents in the Legal vault"

"Download the SSL certificate from the Certificates vault"

"Upload this license file to the Software vault"

秘密注射

"Inject secrets into this .env template"

"Run this deployment script with secrets from the Production vault"

可用工具(共66个)

身份验证(3)

工具 说明
whoami 获取当前经过身份验证的用户信息
signin 登录1Password
signout 退出1Password

账户管理(4)

工具 说明
account_list 列出已配置的帐户
account_get 获取帐户详细信息
account_add 添加新帐户
account_forget 从设备中删除帐户

保险库管理(11)

工具 说明
vault_list 列出可访问的保险库
vault_get 获取保险库详细信息
vault_create 创建新vault
vault_edit 编辑vault属性
vault_delete 删除vault
vault_user_list 列出具有vault访问权限的用户
vault_user_grant 授予用户对保管库的访问权限
vault_user_revoke 撤销用户的保险库访问权限
vault_group_list 列出具有vault访问权限的组
vault_group_grant 授予组对vault的访问权限
vault_group_revoke 撤销组的保险库访问权限

项目管理(9)

工具 说明
item_list 列出项目(带过滤器)
item_get 获取商品详细信息
item_create 创建新项目
item_edit 编辑项目字段
item_delete 删除或存档项目
item_move 在保管库之间移动物品
item_share 创建共享链接
item_template_list 列出可用模板
item_template_get 获取模板详细信息

文件管理(5)

工具 说明
document_list 列出文件
document_get 下载文档内容
document_create 上传新文档
document_edit 替换文档内容
document_delete 删除文档

用户管理(8)

工具 说明
user_list 列出帐户中的用户
user_get 获取用户详细信息
user_provision 创建新用户
user_confirm 确认待处理用户
user_edit 编辑用户属性
user_suspend 暂停用户
user_reactivate 重新激活挂起的用户
user_delete 从帐户中删除用户

集团管理(8)

工具 说明
group_list 列出组
group_get 获取组详细信息
group_create 创建新组
group_edit 编辑组属性
group_delete 删除组
group_user_list 列出组成员
group_user_grant 将用户添加到组
group_user_revoke 从组中删除用户

连接服务器管理(11)

工具 说明
connect_server_list 列出连接服务器
connect_server_get 获取服务器详细信息
connect_server_create 创建Connect服务器
connect_server_edit 编辑服务器属性
connect_server_delete 删除Connect服务器
connect_token_list 列出服务器令牌
connect_token_create 创建新令牌
connect_token_edit 编辑令牌属性
connect_token_delete 撤销令牌
connect_vault_grant 授予服务器保管库访问权限
connect_vault_revoke 撤销服务器保管库访问权限

服务帐户(2)

工具 说明
service_account_create 创建服务帐户
service_account_ratelimit 检查速率限制状态

事件API(1)

工具 说明
events_api_create 设置事件API集成

秘密(3)

工具 说明
secret_read 通过引用阅读秘密
secret_inject 将机密注入模板
secret_run 将secrets作为env变量运行命令

安全注意事项

  • 生物认证:当与1Password应用程序集成时,操作需要生物识别确认
  • 无秘密存储:此服务器不存储任何机密;它将请求代理到 op 命令行界面
  • 审计跟踪:所有操作均由1Password记录
  • 权限范围界定:访问权限仅限于您的1Password帐户可以访问的内容

故障排除

“未找到密码CLI(op)”

确保 op 已安装,在您的PATH中:

which op
op --version

“未登录1Password”

使用1Password应用程序或CLI登录:

op signin

“权限被拒绝”

  • 检查1Password应用程序设置中是否启用了CLI集成
  • 验证您是否有权访问请求的保管库/项目
  • 对于团队帐户,请确保您的角色具有所需的权限

服务器未出现在Claude代码中

  1. 检查配置中的路径是否绝对正确
  2. 验证二进制文件是否可执行: chmod +x /path/to/op-mcp
  3. 配置更改后重新启动Claude代码
  4. 跑 /mcp 在Claude Code中查看服务器状态

发展

# Run in debug mode
cargo run

# Run tests
cargo test

# Check formatting
cargo fmt --check

# Run linter
cargo clippy

许可证

麻省理工学院