使用说明
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 │
└─────────────────────────────────────────────────────────────────────┘
先决条件
-
1Password命令行界面(
op) -从以下位置安装 1password.com/downloads/命令行# macOS (Homebrew) brew install 1password-cli # Verify installation op --version -
1Password应用程序集成 -在1Password桌面应用程序中启用CLI集成:
- 打开1Password→ 设置→ 开发者
- 启用“与1Password CLI集成”
- 这允许对CLI操作进行生物识别解锁
-
防锈工具链 (从源头建设)
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代码中
- 检查配置中的路径是否绝对正确
- 验证二进制文件是否可执行:
chmod +x /path/to/op-mcp - 配置更改后重新启动Claude代码
- 跑
/mcp在Claude Code中查看服务器状态
发展
# Run in debug mode
cargo run
# Run tests
cargo test
# Check formatting
cargo fmt --check
# Run linter
cargo clippy
许可证
麻省理工学院