trackmcp
Back to directory
borealstack

proton-drive-cli-mcp

View on GitHub

Manage Proton Drive from Claude, Codex, VS Code/Copilot, and other MCP clients through Proton's official CLI without exposing Proton credentials.

0 stars TypeScriptOthers Updated Jun 12, 2026
bunclaude-desktopcloud-storagecodex-pluginmcpmcp-servermcpbmodel-context-protocolproton-driveproton-drive-clisecure-file-sharingtypescript

Documentation

Proton Drive CLI MCP

Manage Proton Drive from Claude, Codex, VS Code/Copilot, and any MCP client through Proton's official CLI.

Authentication and encrypted Drive behavior stay with Proton's tooling.

|

|

|

|

|


Why This Exists

AI agents can already run shell commands, but Drive operations should not depend

on prompt-crafted command lines. This server exposes Proton Drive as typed MCP

tools while delegating the sensitive parts to Proton's official `proton-drive`

CLI.

What you getHow it works
Proton-supported Drive behaviorCalls the official Proton Drive CLI instead of reimplementing auth or encrypted Drive APIs.
Structured MCP toolsAgents can list, upload, download, share, trash, and inspect Drive paths through schemas.
Safer mutation flowDestructive or account-changing tools require `confirm: true`.
Low-friction setupRuns from npm with `npx`, and can install the official CLI into a managed user-local directory with SHA-512 verification.
Lower normal token useFolder lists and background job status responses are bounded by default; full files still use upload/download or text helpers.

> [!NOTE]

> This project is an independent interoperability wrapper. It is not affiliated

> with Proton AG.

Install

Add the server to an MCP client as a local stdio server:

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

The command is a stdio server. If you run it directly in a terminal, no prompt

or banner is expected; it waits for MCP JSON-RPC messages on stdin.

Client Shortcuts

ClientSetup
Claude Code`claude mcp add --transport stdio proton-drive -- npx -y @borealstack/proton-drive-cli-mcp`
Claude DesktopUse the JSON config above, or install the MCPB bundle.
CodexUse the plugin metadata in plugins/proton-drive-cli-mcp.
VS Code`code --add-mcp "{\"name\":\"proton-drive\",\"command\":\"npx\",\"args\":[\"-y\",\"@borealstack/proton-drive-cli-mcp\"]}"`
npm`npx -y @borealstack/proton-drive-cli-mcp`

First Run

Start with diagnosis. The server will report whether the official CLI is found,

whether the managed install path exists, which version is available, and whether

the CLI can access `/my-files`.

text
Call proton_drive_diagnose

If the CLI is missing, run setup:

text
Call proton_drive_setup with installIfMissing=true

If authentication is missing, start the browser login flow:

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

> [!TIP]

> The server does not request or store Proton credentials. Login, session

> storage, and encrypted Drive behavior remain delegated to Proton's official

> CLI.

Requirements

  • Node.js 22+ for the published package.
  • Bun 1.3+ for repository development and Bun test coverage.
  • The official Proton Drive CLI, or network access to Proton's CLI download

index for managed install.

  • Browser access for the official Proton login flow.

The CLI is resolved in this order:

1. `PROTON_DRIVE_CLI_PATH`

2. The managed user-local install path

3. `proton-drive` or `proton-drive.exe` in the current directory or common download paths

4. `proton-drive` on `PATH`

5. Managed install from Proton's CLI download index

Useful environment switches:

VariableEffect
`PROTON_DRIVE_CLI_PATH`Use an explicit Proton Drive CLI binary.
`PROTON_DRIVE_CLI_AUTO_INSTALL=0`Disable managed CLI installation.
`PROTON_DRIVE_CLI_INSTALL_DIR`Override the managed install directory.
`PROTON_DRIVE_CLI_MANAGE_PATH=0`Skip managed PATH updates.
`PROTON_DRIVE_AUTH_STATUS_CACHE_MS`Tune successful auth-status caching.
`PROTON_DRIVE_VERSION_CACHE_MS`Tune CLI version caching.

What Agents Can Do

AreaTools
Setup and auth`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 metadata`proton_drive_cli_install`, `proton_drive_cli_version`, `proton_drive_cli_help`
Files`proton_drive_list`, `proton_drive_info`, `proton_drive_create_folder`, `proton_drive_upload`, `proton_drive_download`
Long-running work`proton_drive_list_async`, `proton_drive_upload_async`, `proton_drive_download_async`, `proton_drive_job_status`, `proton_drive_job_cancel`
Small text files`proton_drive_read_text`, `proton_drive_write_text`
Mutations`proton_drive_rename`, `proton_drive_copy`, `proton_drive_move`, `proton_drive_trash`, `proton_drive_restore`, `proton_drive_delete`, `proton_drive_empty_trash`
Sharing`proton_drive_sharing_status`, `proton_drive_sharing_invite`, `proton_drive_sharing_remove`, `proton_drive_sharing_set_url`, `proton_drive_sharing_remove_url`
Invitations`proton_drive_invitation_list`, `proton_drive_invitation_accept`, `proton_drive_invitation_reject`

Full schemas and examples are in docs/TOOLS.md.

Common Agent Workflows

text
List the top 20 items in /my-files/Reports.

Uses `proton_drive_list` with bounded output and pagination metadata.

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

Uses `proton_drive_upload_async` followed by `proton_drive_job_status`.

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

Uses `proton_drive_read_text` and `proton_drive_write_text` for small UTF-8

files. Full binary or large-file work should use `proton_drive_download` and

`proton_drive_upload`.

Safety Model

This project is designed so the MCP layer can orchestrate Drive work without

becoming a credential broker.

GuardrailBehavior
Credential handlingProton login and session storage stay inside the official CLI.
Destructive actionsDelete, empty trash, logout, sharing removal, and invitation decisions require `confirm: true`.
Public-link passwordsCustom passwords are not exposed through MCP arguments because CLI arguments can be visible to local process inspection.
Output sizeList tools are bounded; background JSON output is summarized with byte counts and truncation metadata.
Provenancenpm publishes with provenance; release assets include checksums and Sigstore-backed attestations.

> [!IMPORTANT]

> `proton_drive_delete` and `proton_drive_empty_trash` are permanent operations.

> Prefer `proton_drive_trash` first unless the user explicitly asks to delete.

Release Channels

ChannelArtifact
npm@borealstack/proton-drive-cli-mcp
GitHub releaselatest release assets
MCP Registry manifestserver.json
Claude Desktopproton-drive-cli-mcp.mcpb
Codex pluginplugins/proton-drive-cli-mcp

Release assets include:

  • npm package tarball
  • MCPB bundle
  • `SHA256SUMS`
  • Sigstore JSON attestation bundle

Develop Locally

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

Run the development server through Bun:

json
{
  "mcpServers": {
    "proton-drive-dev": {
      "command": "bun",
      "args": ["run", "/src/index.ts"],
      "env": {}
    }
  }
}

Run real-account smoke checks only when you intentionally want to touch a

logged-in Proton Drive account. Keep generated smoke artifacts local and out of

git.

Project Map

PathPurpose
src/index.tsstdio MCP server entry point
src/server.tsMCP tool registration surface
src/cli.tsshared Proton Drive CLI behavior
src/installer.tsmanaged official CLI download and checksum verification
docs/TOOLS.mdtool inputs, outputs, and examples
server.jsonMCP Registry metadata
mcpb/manifest.jsonClaude MCPB metadata
plugins/proton-drive-cli-mcpCodex plugin package

References

Help Discovery

If this project helps you connect Proton Drive to an MCP client, star the

repository so other users can find the maintained official-CLI wrapper:

borealstack/proton-drive-cli-mcp.

Frequently asked questions

What is proton-drive-cli-mcp?

proton-drive-cli-mcp is Manage Proton Drive from Claude, Codex, VS Code/Copilot, and other MCP clients through Proton's official CLI without exposing Proton credentials.

How do I install proton-drive-cli-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is proton-drive-cli-mcp open source?

Yes — it is hosted on GitHub at https://github.com/borealstack/proton-drive-cli-mcp.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP