mcpField
P
Proton Drive Cli Mcp

Proton Drive Cli Mcp

本地服务
github.com开发工具020 周前更新

关于 Proton Drive Cli Mcp

Proton Drive Cli Mcp 将 Proton 官方 CLI 封装为 MCP 服务,供 Claude、Codex、VS Code/Copilot 等客户端管理 Drive。认证和加密行为交由官方 CLI 处理,并为破坏性操作设置确认要求。

主要功能

  1. 01浏览、上传和下载文件
  2. 02创建、移动、复制和恢复文件
  3. 03管理分享与邀请
  4. 04处理异步任务
  5. 05破坏性操作需确认

适用场景

  1. 01从 MCP 客户端管理 Proton Drive 文件
  2. 02上传文件并跟踪后台任务
  3. 03读取和修改小型文本文件
  4. 04管理 Drive 分享和邀请

MCP 相关

它以本地 stdio MCP 服务连接客户端,提供结构化的 Proton Drive 工具,并将操作委托给官方 CLI。凭据、登录会话和加密 Drive 行为由 Proton CLI 管理。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"proton-drive-cli": {
"command": "npx",
"args": [
"-y",
"@borealstack/proton-drive-cli-mcp"
]
}
}
}
启动命令npx -y @borealstack/proton-drive-cli-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@borealstack/proton-drive-cli-mcp0.1.2

工具

37

收录的工具列表 · 更新于 2 周前

参数类型必填说明
freshboolean否绕过缓存的身份验证和版本检查。
includeAuthboolean否通过让 CLI 列出 /my-files 来检查身份验证。

详细介绍

Proton Drive CLI MCP

Proton Drive CLI MCP

通过 Proton 官方命令行工具,从 Claude、Codex、VS Code/Copilot 及任何 MCP 客户端管理 Proton Drive。 身份验证和 Drive 加密行为均由 Proton 的工具处理。

npm 版本 npm 下载量 MCP stdio Claude MCPB Codex 插件 Node.js 22+ OpenSSF Scorecard

安装 | 首次运行 | 工具 | 安全性 | 工具参考 | 最新版本


为何创建此项目

AI Agent 已经可以运行 Shell 命令,但 Drive 操作不应依赖根据提示词编写的命令行。此服务将 Proton Drive 封装为具有类型定义的 MCP 工具,同时将敏感操作委托给 Proton 官方的 proton-drive CLI。

你将获得工作方式
Proton 支持的 Drive 行为调用 Proton 官方 Drive CLI,而不是重新实现身份验证或加密的 Drive API。
结构化 MCP 工具Agent 可以通过 schema 列出、上传、下载、共享和移至回收站,还能查看 Drive 路径。
更安全的变更流程具有破坏性或会更改账户的工具需要 confirm: true。
轻松配置通过 npm 和 npx 运行;也可以通过 SHA-512 验证,将官方 CLI 安装到受管理的用户本地目录。
降低常规 token 使用量文件夹列表和后台任务状态响应默认设有大小限制;完整文件仍通过上传/下载或文本辅助工具处理。

说明

本项目是一个独立的互操作封装项目,与 Proton AG 没有关联。

安装

将服务作为本地 stdio 服务添加到 MCP 客户端:

{
  "mcpServers": {
    "proton-drive": {
      "command": "npx",
      "args": ["-y", "@borealstack/proton-drive-cli-mcp"],
      "env": {}
    }
  }
}

此命令运行的是 stdio 服务。若直接在终端中运行,不会显示提示或横幅;它会等待通过 stdin 接收 MCP JSON-RPC 消息。

客户端快捷方式
客户端配置
Claude Codeclaude mcp add --transport stdio proton-drive -- npx -y @borealstack/proton-drive-cli-mcp
Claude Desktop使用上方的 JSON 配置,或安装 MCPB bundle。
Codex使用 plugins/proton-drive-cli-mcp 中的插件元数据。
VS Codecode --add-mcp "{\"name\":\"proton-drive\",\"command\":\"npx\",\"args\":[\"-y\",\"@borealstack/proton-drive-cli-mcp\"]}"
npmnpx -y @borealstack/proton-drive-cli-mcp

首次运行

先进行诊断。服务会报告是否找到了官方 CLI、受管安装路径是否存在、可用的版本,以及 CLI 是否能够访问 /my-files。

Call proton_drive_diagnose

如果缺少 CLI,请运行设置:

Call proton_drive_setup with installIfMissing=true

如果缺少身份验证,请启动浏览器登录流程:

Call proton_drive_auth_login
Finish Proton sign-in in the browser
Call proton_drive_diagnose again

提示

服务不会请求或存储 Proton 凭据。登录、会话存储和加密 Drive 行为仍由 Proton 官方 CLI 负责。

要求

  • 已发布的软件包需要 Node.js 22+。
  • 仓库开发和 Bun 测试覆盖率需要 Bun 1.3+。
  • Proton Drive 官方 CLI,或可访问 Proton CLI 下载索引的网络,以便进行受管安装。
  • 可访问浏览器,以使用 Proton 官方登录流程。

CLI 按以下顺序解析:

  1. PROTON_DRIVE_CLI_PATH
  2. 用户本地受管安装路径
  3. 当前目录或常见下载路径中的 proton-drive 或 proton-drive.exe
  4. PATH 中的 proton-drive
  5. 从 Proton CLI 下载索引进行受管安装

实用的环境开关:

变量作用
PROTON_DRIVE_CLI_PATH使用指定的 Proton Drive CLI 二进制文件。
PROTON_DRIVE_CLI_AUTO_INSTALL=0禁用受管 CLI 安装。
PROTON_DRIVE_CLI_INSTALL_DIR覆盖受管安装目录。
PROTON_DRIVE_CLI_MANAGE_PATH=0跳过受管 PATH 更新。
PROTON_DRIVE_AUTH_STATUS_CACHE_MS调整成功的身份验证状态缓存。
PROTON_DRIVE_VERSION_CACHE_MS调整 CLI 版本缓存。

Agent 可以执行的操作

范围工具
设置和身份验证proton_drive_diagnose、proton_drive_setup、proton_drive_auth_status、proton_drive_auth_login、proton_drive_auth_login_status、proton_drive_auth_login_cancel、proton_drive_auth_logout
CLI 元数据proton_drive_cli_install、proton_drive_cli_version、proton_drive_cli_help
文件proton_drive_list、proton_drive_info、proton_drive_create_folder、proton_drive_upload、proton_drive_download
长时间运行的任务proton_drive_list_async、proton_drive_upload_async、proton_drive_download_async、proton_drive_job_status、proton_drive_job_cancel
小型文本文件proton_drive_read_text、proton_drive_write_text
修改操作proton_drive_rename、proton_drive_copy、proton_drive_move、proton_drive_trash、proton_drive_restore、proton_drive_delete、proton_drive_empty_trash
共享proton_drive_sharing_status、proton_drive_sharing_invite、proton_drive_sharing_remove、proton_drive_sharing_set_url、proton_drive_sharing_remove_url
邀请proton_drive_invitation_list、proton_drive_invitation_accept、proton_drive_invitation_reject

完整的架构和示例请参阅 docs/TOOLS.md。

常见 Agent 工作流
List the top 20 items in /my-files/Reports.

使用 proton_drive_list,并提供有界输出和分页元数据。

Upload these local files to /my-files/Reports, then poll until done.

使用 proton_drive_upload_async,然后调用 proton_drive_job_status。

Read /my-files/Notes/todo.txt, update the text, and write it back.

使用 proton_drive_read_text 和 proton_drive_write_text 处理较小的 UTF-8 文件。完整的二进制文件或大型文件操作应使用 proton_drive_download 和 proton_drive_upload。

安全模型

本项目经过专门设计,让 MCP 层能够协调 Drive 操作,同时不充当凭证中介。

防护措施行为
凭证处理Proton 登录和会话存储始终由官方 CLI 负责。
破坏性操作删除、清空回收站、注销、移除共享以及邀请决定都需要 confirm: true。
公共链接密码不会通过 MCP 参数传递自定义密码,因为 CLI 参数可能会被本地进程检查工具看到。
输出大小列表工具设有输出上限;后台 JSON 输出会附带字节数和截断元数据摘要。
来源证明npm 发布包带有来源证明;发布资源包含校验和以及由 Sigstore 支持的证明。

重要

proton_drive_delete 和 proton_drive_empty_trash 是永久性操作。 除非用户明确要求删除,否则请优先使用 proton_drive_trash。

发布渠道

渠道资源
npm@borealstack/proton-drive-cli-mcp
GitHub 发布最新发布资源
MCP Registry 清单server.json
Claude Desktopproton-drive-cli-mcp.mcpb
Codex 插件plugins/proton-drive-cli-mcp

发布资源包含:

  • npm 包归档文件
  • MCPB 程序包
  • SHA256SUMS
  • Sigstore JSON 证明包

本地开发

bun install
bun run typecheck
bun test
bun run build
npm test

通过 Bun 运行开发服务器:

{
  "mcpServers": {
    "proton-drive-dev": {
      "command": "bun",
      "args": ["run", "<path-to-repo>/src/index.ts"],
      "env": {}
    }
  }
}

只有在确实要操作已登录的 Proton Drive 账户时,才运行真实账户冒烟测试。生成的冒烟测试文件请保留在本地,不要提交到 git。

项目结构

路径用途
src/index.tsstdio MCP 服务入口点
src/server.tsMCP 工具注册接口
src/cli.ts共享的 Proton Drive CLI 行为
src/installer.ts官方 CLI 的托管下载和校验和验证
docs/TOOLS.md工具输入、输出和示例
server.jsonMCP Registry 元数据
mcpb/manifest.jsonClaude MCPB 元数据
plugins/proton-drive-cli-mcpCodex 插件包

参考资料

帮助他人发现项目

如果本项目帮助你将 Proton Drive 连接到 MCP 客户端,请为仓库点亮星标,让其他用户也能找到这个维护中的官方 CLI 封装: borealstack/proton-drive-cli-mcp。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。