1密码MCP服务器
 ](https://www.npmjs.com/package/@takescake/1password-mcp) 
社区建设 模型上下文协议(MCP) 将MCP兼容的AI客户端(Claude Desktop、VS Code Copilot、OpenAI Codex、Gemini等)连接到 1密码 金库通过a 服务帐户.
不是官方的1Password产品。 这是一个社区项目。
______________________________________________________________________
特性
工具(8)
| 工具 | 说明 |
|---|---|
vault_list | 列出所有可访问的保险库 |
item_lookup | 在vault中按标题搜索项目 |
item_delete | 从vault中删除项目 |
password_create | 创建新密码/登录项 |
password_read | 通过秘密引用检索密码(op://vault/item/field)或保险库/物品ID |
password_update | 旋转/更新现有密码 |
password_generate | 生成加密安全的随机密码 |
password_generate_memorable | 从约500个词典单词中生成令人难忘的密码 |
提示(4)
| 提示 | 描述 |
|---|---|
generate-secure-password | 生成和存储安全密码的指导性工作流程 |
credential-rotation | 逐步凭证轮换:读取、生成、更新、验证 |
vault-audit | 审核保管库内容:列出项目、分类、标记问题 |
secret-reference-helper | 构建 op://vault/item/field 交互式引用 |
资源(3)
| 资源URI | 描述 |
|---|---|
1password://config | 当前服务器配置(非机密) |
1password://vaults | 所有可访问保管库的可浏览列表 |
1password://vaults/{vaultId}/items | vault中的可浏览项目列表 |
______________________________________________________________________
快速开始
先决条件
- Node.js >= 18
- A. 1密码服务帐户令牌
克劳德桌面/VS代码/IDE(JSON)
{
"mcpServers": {
"1password": {
"command": "npx",
"args": ["-y", "@takescake/1password-mcp"],
"env": {
"OP_SERVICE_ACCOUNT_TOKEN": "YOUR_SERVICE_ACCOUNT_TOKEN"
}
}
}
}macOS钥匙串(JSON)
如果您不想将服务帐户令牌直接存储在MCP配置中,macOS用户可以将其存储在Keychain中,并配置服务器在启动时读取它:
{
"mcpServers": {
"1password": {
"command": "npx",
"args": ["-y", "@takescake/1password-mcp"],
"env": {
"OP_KEYCHAIN_SERVICE": "op-service-account-claude-automation",
"OP_KEYCHAIN_ACCOUNT": "your-macos-username"
}
}
}
}优先级为:CLI参数(--service-account-token / --token) > OP_SERVICE_ACCOUNT_TOKEN >macOS钥匙链查找。 OP_KEYCHAIN_ACCOUNT 如果您的钥匙扣服务名称已经足够唯一,则是可选的。
OpenAI Codex(TOML)
选项A (将令牌存储在配置中):
[mcp_servers."1password"]
command = "npx"
args = ["-y", "@takescake/1password-mcp"]
[mcp_servers."1password".env]
OP_SERVICE_ACCOUNT_TOKEN = "YOUR_SERVICE_ACCOUNT_TOKEN"选项B *(建议:不在Codex配置中存储令牌)*:
[mcp_servers."1password"]
command = "npx"
args = ["-y", "@takescake/1password-mcp"]
env_vars = ["OP_SERVICE_ACCOUNT_TOKEN"]然后设置 OP_SERVICE_ACCOUNT_TOKEN 在您的shell/session/CI环境中。
注:codex mcp add ... --env OP_SERVICE_ACCOUNT_TOKEN=...将令牌写入Codex配置。使用env_vars如果你想让配置只引用变量名。
在macOS上,您也可以省略 OP_SERVICE_ACCOUNT_TOKEN 并设置 OP_KEYCHAIN_SERVICE (加可选 OP_KEYCHAIN_ACCOUNT)在启动时从Keychain读取令牌。
CLI选项
--service-account-token 1Password service account token
--log-level Log level: error, warn, info, debug (default: info)
--integration-name Custom integration name for 1Password SDK
--integration-version Custom integration version______________________________________________________________________
安全与隐私
使用前请阅读此内容。
- LLM隐私风险 --检索/创建的秘密可能会发送给您的LLM提供者,并可能根据您的提供者/帐户设置保留。
- MCP中没有E2E加密 --秘密是MCP工作流中的明文,并在传输到模型的过程中。它们仅在1Password中加密一次。
- 预期用途 --最适合自动/一次性凭据(开发数据库凭据、机器人/服务帐户、CI令牌)。
- 避免高风险的秘密 --请勿用于银行、主要个人账户或其他敏感凭证。使用专用的自动化保险库。
- 令牌安全 --将服务帐户令牌视为主密钥。如果暴露在外,请立即旋转。
- 配置文件 --将MCP配置文件置于版本控制之外(添加到
.gitignore). - 秘密参考 --更喜欢
op://...将原始密码复制到提示或文件中。 - 最小权限 --使用专用保管库和有限范围服务帐户进行自动化工作流程。
______________________________________________________________________
发展
# Clone and install
git clone https://github.com/CakeRepository/1Password-MCP.git
cd 1Password-MCP
npm install
# Build
npm run build
# Run tests
npm test
# Type-check
npm run lint
# Watch mode (dev)
npm run dev项目结构
src/
index.ts # Server entrypoint
types.ts # Shared type definitions
logger.ts # Structured logging (stderr)
config.ts # CLI args, env vars, constants
client.ts # 1Password SDK client singleton
utils.ts # Result helpers, password generation
tools/ # MCP tool handlers
index.ts
vault-list.ts
item-lookup.ts
item-delete.ts
password-create.ts
password-read.ts
password-update.ts
password-generate.ts
password-generate-memorable.ts
prompts/ # MCP prompt definitions
index.ts
resources/ # MCP resource definitions
index.ts看 贡献.md 关于贡献指南。
______________________________________________________________________
