 
](https://app.codacy.com/gh/hesreallyhim/proton-pass-community-mcp/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_coverage)   
proton-pass-community-mcp 是Proton Pass的MCP服务器,覆盖范围广泛 pass-cli 操作。
这是一个独立的社区项目。它与Proton AG没有附属关系,也没有得到Proton AG的认可。
它被设计为生产就绪的集成层:
- 键入工具输入
zod - MCP客户端的stdio传输
📌 当前版本 pass-cli 用于开发:v2.0.2
可用工具
服务器显示以下MCP工具界面:
| 工具 | 目的 |
|---|---|
view_session_info | 会话/帐户状态来自 pass-cli info |
view_user_info | 用户帐户详细信息来自 pass-cli user info |
check_status | 检查用户身份验证状态和CLI版本 |
inject | 将机密注入模板文件 |
run | 运行已解析秘密引用的命令 |
list_vaults | 列出保管库 |
list_shares | 列出股份 |
list_invites | 列出待处理的邀请 |
accept_invite | 接受邀请令牌 |
reject_invite | 拒绝邀请令牌 |
view_settings | 查看当前Proton Pass CLI设置 |
list_vault_members | 列出特定保管库的成员 |
update_vault_member | 更新vault成员角色 |
remove_vault_member | 删除vault成员 |
list_items | 列出保管库或共享项目,省略内容 |
search_items | 按标题搜索项目 |
view_item | 按URI或选择器查看项目 |
create_vault | 创建vault |
update_vault | 更新保管库名称 |
delete_vault | 删除vault |
share_vault | 与用户共享保管库 |
transfer_vault | 转移保管库所有权 |
create_login_item | 创建登录项 |
create_login_item_from_template | 从模板负载创建登录项 |
create_note_item | 创建注释项 |
create_credit_card_item | 创建信用卡项目 |
create_wifi_item | 创建WiFi项目 |
create_custom_item | 从模板负载创建自定义项 |
create_identity_item | 从模板负载创建标识项 |
move_item | 在保管库之间移动物品 |
trash_item | 将物品移至回收站 |
untrash_item | 从回收站还原项目 |
update_item | 更新项目字段集 |
delete_item | 删除项目 |
download_item_attachment | 下载项目附件 |
list_item_members | 列出项目的成员 |
update_item_member | 更新项目成员角色 |
remove_item_member | 删除项目成员 |
create_item_alias | 创建别名项 |
share_item | 与用户共享项目 |
generate_item_totp | 生成项目TOTP代码 |
generate_random_password | 生成随机密码 |
generate_passphrase | 生成密码 |
generate_totp | 从secret/URI生成TOTP |
score_password | 评分密码强度 |
覆盖目标:为符合MCP工具语义的Proton Pass CLI工作流提供全面支持。 故意排除纯粹交互式或不适合可靠MCP工具执行的CLI行为。
这 search_items 操作是基本CLI不提供的附加功能。
可变工具目前需要写门选择加入(ALLOW_WRITE=1)以及明确的每次通话确认(confirm: true).
建议的协议一致确认策略(先启发,后失败后关闭回退)记录在 docs/TOOL_SCHEMA_PLAN.md.
可用资源
服务器还为项目创建模板快照公开静态MCP资源:
pass://templates/item-create(目录/索引)pass://templates/item-create/loginpass://templates/item-create/notepass://templates/item-create/credit-cardpass://templates/item-create/wifipass://templates/item-create/custompass://templates/item-create/identity
快照工件源:
这些模板资源是来自的示例格式良好的有效载荷 pass-cli --get-template,不是权威验证模式。
项目发现合同
list_items 和 search_items 返回令牌高效结果。这些操作不包含任何项目的全部内容或秘密,从而防止敏感数据从CLI不必要地泄漏到主机应用程序或LLM。
list_items 和 search_items 两者都支持MCP分页:
- 输入字段:
- pageSize (可选, 1..250,默认值 100 JSON输出) - cursor (例如,可选的非负整数字符串偏移量 "100")
- 行为:
- 响应包括 items, pageSize, cursor, returned, total,以及 nextCursor. - 使用 nextCursor 在后续呼叫中获取下一页。
list_items 也转发 filterType, filterState,以及 sortBy 到 pass-cli item list.
search_items 语义:
- 仅标题搜索(
field: "title") - 匹配模式:
contains,prefix,exact - 可选的
caseSensitive
需求
\[!注意\] 目前,服务器希望用户处理身份验证。如果它无法进行身份验证,它只会提示用户使用以下方式之一进行身份验证 pass-cli 方法。- Node.js
24(.nvmrc) pass-cli已安装并验证- 支持stdio传输的MCP客户端
- 对于项目开发和测试,使用repo包装器(
npm run pass --或scripts/pass-dev.sh)而不是裸露pass-cli因此auth保持在repo本地会话范围内。
在本地运行
npm ci
npm run build
npm run dev项目方 pass-cli 工作,更喜欢:
npm run pass -- info这通过repo包装器进行路由,该包装器使用项目本地会话目录,默认情况下避免操作系统密钥链/密钥环。要断言活动的repo本地会话是变异工作之前预期的一次性帐户:
export PASS_DEV_EXPECTED_ACCOUNT=
npm run pass:dev:preflight通过npm/npx安装并运行
从npm安装或直接运行 npx:
npm install --global proton-pass-community-mcp
proton-pass-community-mcp --allow-version-drift或者:
npx -y proton-pass-community-mcp --allow-version-drift维护人员的发布操作记录在 文档/部署.md.
匿名演示Shell(Docker)
在录制演示时使用此选项,并且您希望在工具元数据中有一个中立的工作区路径:
npm run demo:shell这将启动一个容器,其中安装了项目 /workspace/project.
要运行单个命令而不是交互式shell:
npm run demo:shell -- npm run check笔记:
- Shell提示别名/PS1调整仅更改终端显示;它们不会改变工具发出的实际工作目录元数据。
- 为了在日志中实现真正的路径匿名化,请在此容器化工作区内运行主机/工具流程。
MCP客户端配置
MCP服务器配置示例 npx 包执行:
{
"mcpServers": {
"proton-pass-community-mcp": {
"command": "npx",
"args": ["-y", "proton-pass-community-mcp", "--allow-version-drift"]
}
}
}如果您是从源代码本地开发的,请使用直接的本地构建路径:
使用命令行参数的MCP服务器配置示例:
{
"mcpServers": {
"proton-pass-community-mcp": {
"command": "node",
"args": ["/absolute/path/to/proton-pass-community-mcp/dist/index.js", "--allow-version-drift"]
}
}
}使用环境覆盖的MCP服务器配置示例:
{
"mcpServers": {
"proton-pass": {
"command": "node",
"args": ["/absolute/path/to/proton-pass-community-mcp/dist/index.js"],
"env": {
"PASS_CLI_BIN": "pass-cli",
"PASS_CLI_ALLOW_VERSION_DRIFT": "true"
}
}
}
}认证模型
- 身份验证由MCP外部的用户管理
pass-cli login. - 这
pass-cli会话可以用正常的帐户凭证或用预先配置的个人访问令牌(PAT)建立。 - 认证失败时,工具返回标准化
AUTH_*错误和重试指令。 - MCP服务器不收集凭据、OTP代码、私钥或PAT值。
- PAT支持的登录不会改变边界:登录/注销仍在MCP之外,PAT配置当前未作为MCP工具界面公开。
- 对于项目开发,规范
pass-cli入口点是repo包装器(npm run pass --/scripts/pass-dev.sh),不裸露pass-cli. - repo包装器将项目身份验证隔离到
.tmp/proton-pass-dev-session并避免了默认的钥匙链/钥匙圈访问,但它本身并不能证明正确的帐户是活动的;使用scripts/pass-dev-preflight.sh或npm run pass:dev:preflight断言预期的一次性账户。 - 使用
check_status一次作为会话飞行前(不是每次工具调用);依赖AUTH_*如果会话稍后到期,则出现回退错误。 check_status将本地CLI版本与开发基线进行比较,并报告LLM的版本评估:
- equal:完全匹配 - compatible:semver不同,但似乎与策略兼容 - possibly_incompatible:semver表示潜在的偏差,或版本解析/执行阻止了严格的比较
- 版本评估是咨询性的。
check_status仅当连接/身份验证失败时,才会标记为MCP错误。 - 此服务器中没有特定于MCP的API令牌身份验证层。身份验证方法是以下支持的方法
pass-cli在服务器进程环境中。
测试帐户工作流
有关本地开发和CI中的一次性测试帐户使用情况(包括帐户飞行前检查和会话隔离),请参阅 docs/tests/TEST_ACCOUNT_WORKFLOW.md.
启动标志
--allow-version-drift:将semver不匹配/版本解析不确定性视为兼容check_status
等效环境变量:
PASS_CLI_ALLOW_VERSION_DRIFT=true|false(公认的真理价值观:true,1,yes,on假 :false,0,no,off)- 如果两者都设置,则CLI标志优先。
例子:
npm run dev -- --allow-version-drift备注
- 这不是Proton的官方项目。
- 该项目目前的目标是质子通道
pass-cli只有。 - 看 ROADMAP.md 对于计划中的功能。
- 除了MCP服务器,还有一个代理 技能档案 该计划旨在与该MCP整合,但目前还只是一个草案。
- 开发人员运行时配置和验证工作流记录在 贡献.md.
- 一次性账户设置和贡献者/CI指南记录在 docs/tests/TEST_ACCOUNT_WORKFLOW.md.
- 看 贡献.md 如果你有兴趣为这个项目做出贡献。欢迎投稿人。
许可证
GPL-3©2026真的是他
