Proton Drive Cli Mcp について
Proton Drive Cli Mcp は、Proton 公式 CLI を MCP サーバーとして利用し、Claude、Codex、VS Code/Copilot などから Drive を管理します。認証と暗号化処理は公式 CLI に委ね、破壊的な操作には確認を求めます。
主な機能
- 01ファイルの一覧表示、アップロード、ダウンロード
- 02ファイルの作成、移動、コピー、復元
- 03共有と招待の管理
- 04非同期ジョブの追跡
- 05破壊的な操作での確認要求
活用シーン
- 01MCP クライアントから Proton Drive のファイルを管理
- 02ファイルをアップロードしてバックグラウンド処理を追跡
- 03小さなテキストファイルの読み取りと編集
- 04Drive の共有と招待を管理
MCP 対応
ローカルの stdio MCP サーバーとしてクライアントに接続し、構造化された Proton Drive ツールを提供します。認証情報、ログインセッション、暗号化 Drive の処理は Proton 公式 CLI に委ねます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
37掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| fresh | boolean | いいえ | キャッシュされた認証とバージョンの確認をスキップします。 |
| includeAuth | boolean | いいえ | CLI に /my-files を一覧表示させて認証を確認します。 |
詳細
Proton Drive CLI MCP
Proton の公式 CLI を通じて、Claude、Codex、VS Code/Copilot、その他の MCP クライアントから Proton Drive を管理できます。 認証と暗号化された Drive の動作は、Proton のツールに任せられます。
インストール | 初回起動 | ツール | 安全性 | ツールリファレンス | 最新リリース
このプロジェクトの目的
AI エージェントはすでにシェルコマンドを実行できますが、Drive の操作をプロンプトで組み立てたコマンドラインに依存させるべきではありません。このサーバーは、認証や暗号化された Drive API の再実装を避け、機密性の高い処理を Proton の公式 proton-drive CLI に委ねながら、Proton Drive を型付きの MCP ツールとして提供します。
| 得られるもの | 仕組み |
|---|---|
| Proton がサポートする Drive の動作 | 認証や暗号化された Drive API を再実装せず、公式の Proton Drive CLI を呼び出します。 |
| 構造化された MCP ツール | エージェントはスキーマを通じて、Drive のパスの一覧表示、アップロード、ダウンロード、共有、ゴミ箱への移動、詳細の確認を行えます。 |
| より安全な変更フロー | 破壊的な操作やアカウントを変更するツールでは、confirm: true が必要です。 |
| 手軽なセットアップ | npm から npx で実行でき、SHA-512 検証を行いながら、管理対象のユーザー専用ディレクトリに公式 CLI をインストールできます。 |
| 通常時のトークン使用量を削減 | フォルダー一覧とバックグラウンドジョブのステータス応答はデフォルトで上限が設定されています。ファイル全体の処理には引き続きアップロード/ダウンロードまたはテキストヘルパーを使用します。 |
メモ
このプロジェクトは、独立した相互運用ラッパーです。Proton AG とは提携していません。
インストール
ローカルの stdio サーバーとして、MCP クライアントにサーバーを追加します。
{
"mcpServers": {
"proton-drive": {
"command": "npx",
"args": ["-y", "@borealstack/proton-drive-cli-mcp"],
"env": {}
}
}
}
このコマンドは stdio サーバーです。ターミナルから直接実行しても、プロンプトやバナーは表示されません。標準入力で MCP JSON-RPC メッセージを待ち受けます。
クライアント別の設定方法
| クライアント | 設定 |
|---|---|
| Claude Code | claude mcp add --transport stdio proton-drive -- npx -y @borealstack/proton-drive-cli-mcp |
| Claude Desktop | 上記の JSON 設定を使用するか、MCPB バンドルをインストールします。 |
| Codex | 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 |
初回実行
まず診断を行います。公式 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 は次の順序で解決されます。
PROTON_DRIVE_CLI_PATH- 管理対象のユーザーローカルインストール先
- カレントディレクトリまたは一般的なダウンロード先にある
proton-driveまたはproton-drive.exe PATH上のproton-drive- 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 のバージョンキャッシュを調整します。 |
エージェントでできること
| 分野 | ツール |
|---|---|
| セットアップと認証 | 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 をご覧ください。
エージェントでよく使われるワークフロー
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.
小さな UTF-8 ファイルには proton_drive_read_text と proton_drive_write_text を使用します。バイナリファイルや大きなファイルの処理には、proton_drive_download と proton_drive_upload を使用してください。
安全モデル
このプロジェクトでは、MCP レイヤーが認証情報のブローカーにならずに Drive の操作を調整できるよう設計されています。
| ガードレール | 動作 |
|---|---|
| 認証情報の取り扱い | Proton のログインとセッションの保存は、公式 CLI 内で行われます。 |
| 破壊的な操作 | 削除、ごみ箱を空にする操作、ログアウト、共有の解除、招待への対応には、confirm: true が必要です。 |
| 公開リンクのパスワード | CLI の引数はローカルのプロセス検査で表示される可能性があるため、カスタムパスワードは MCP の引数に公開されません。 |
| 出力サイズ | 一覧表示ツールには上限があり、バックグラウンドの 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 Desktop | proton-drive-cli-mcp.mcpb |
| Codex プラグイン | plugins/proton-drive-cli-mcp |
リリースアセットには、次のものが含まれます。
- npm パッケージの tarball
- 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.ts | stdio MCP サーバーのエントリーポイント |
| src/server.ts | MCP ツールの登録インターフェース |
| src/cli.ts | Proton Drive CLI の共通動作 |
| src/installer.ts | 公式 CLI の管理されたダウンロードとチェックサム検証 |
| docs/TOOLS.md | ツールの入力、出力、使用例 |
| server.json | MCP Registry のメタデータ |
| mcpb/manifest.json | Claude MCPB のメタデータ |
| plugins/proton-drive-cli-mcp | Codex プラグインパッケージ |
参考資料
- Proton:Proton Drive CLI の使用方法
- Proton ブログ:Proton Drive CLI の紹介
- Proton Drive CLI 公式 README
- Model Context Protocol TypeScript SDK
見つけてもらうために
このプロジェクトが Proton Drive を MCP クライアントに接続するのに役立った場合は、リポジトリにスターを付けて、他のユーザーがメンテナンスされている公式 CLI のラッパーを見つけられるようにしてください。 borealstack/proton-drive-cli-mcp。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。