Proton Drive CLI MCP
Integrates with Proton's ecosystem via Proton Drive, enabling authentication and encrypted Drive operations using Proton's official CLI, without handling credentials directly.
Manage Proton Drive files and folders from AI agents: list, upload, download, create folders, share, trash, restore, delete, and more, through typed MCP tools that delegate to Proton's official CLI.
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 get | How it works |
Proton-supported Drive behavior | Calls the official Proton Drive CLI instead of reimplementing auth or encrypted Drive APIs. |
Structured MCP tools | Agents can list, upload, download, share, trash, and inspect Drive paths through schemas. |
Safer mutation flow | Destructive or account-changing tools require |
Low-friction setup | Runs from npm with |
Lower normal token use | Folder lists and background job status responses are bounded by default; full files still use upload/download or text helpers. |
This project is an independent interoperability wrapper. It is not affiliated with Proton AG.
Related MCP server: Proton Drive MCP
Install
Add the server to an MCP client as a local stdio server:
{
"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
Client | Setup |
Claude Code |
|
Claude Desktop | Use the JSON config above, or install the MCPB bundle. |
Codex | Use the plugin metadata in plugins/proton-drive-cli-mcp. |
VS Code |
|
npm |
|
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.
Call proton_drive_diagnoseIf the CLI is missing, run setup:
Call proton_drive_setup with installIfMissing=trueIf authentication is missing, start the browser login flow:
Call proton_drive_auth_login
Finish Proton sign-in in the browser
Call proton_drive_diagnose againThe 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:
PROTON_DRIVE_CLI_PATHThe managed user-local install path
proton-driveorproton-drive.exein the current directory or common download pathsproton-driveonPATHManaged install from Proton's CLI download index
Useful environment switches:
Variable | Effect |
| Use an explicit Proton Drive CLI binary. |
| Disable managed CLI installation. |
| Override the managed install directory. |
| Skip managed PATH updates. |
| Tune successful auth-status caching. |
| Tune CLI version caching. |
What Agents Can Do
Area | Tools |
Setup and auth |
|
CLI metadata |
|
Files |
|
Long-running work |
|
Small text files |
|
Mutations |
|
Sharing |
|
Invitations |
|
Full schemas and examples are in docs/TOOLS.md.
Common Agent Workflows
List the top 20 items in /my-files/Reports.Uses proton_drive_list with bounded output and pagination metadata.
Upload these local files to /my-files/Reports, then poll until done.Uses proton_drive_upload_async followed by proton_drive_job_status.
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.
Guardrail | Behavior |
Credential handling | Proton login and session storage stay inside the official CLI. |
Destructive actions | Delete, empty trash, logout, sharing removal, and invitation decisions require |
Public-link passwords | Custom passwords are not exposed through MCP arguments because CLI arguments can be visible to local process inspection. |
Output size | List tools are bounded; background JSON output is summarized with byte counts and truncation metadata. |
Provenance | npm publishes with provenance; release assets include checksums and Sigstore-backed attestations. |
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
Channel | Artifact |
npm | |
GitHub release | |
MCP Registry manifest | |
Claude Desktop | |
Codex plugin |
Release assets include:
npm package tarball
MCPB bundle
SHA256SUMSSigstore JSON attestation bundle
Develop Locally
bun install
bun run typecheck
bun test
bun run build
npm testRun the development server through Bun:
{
"mcpServers": {
"proton-drive-dev": {
"command": "bun",
"args": ["run", "<path-to-repo>/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
Path | Purpose |
stdio MCP server entry point | |
MCP tool registration surface | |
shared Proton Drive CLI behavior | |
managed official CLI download and checksum verification | |
tool inputs, outputs, and examples | |
MCP Registry metadata | |
Claude MCPB metadata | |
Codex 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.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/borealstack/proton-drive-cli-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server