idrive-mcp-server
idrive-mcp-server
iDrive の Web バックアップ/リストアコンソールを、MCP 互換の AI アシスタント(例: Claude Desktop や Claude Code)向けのツールとして公開する MCP(Model Context Protocol)サーバーです。iDrive にはこのコンソール向けの公開 API や OAuth フローがないため、ログイン済みブラウザからコピーしたセッション Cookie を使って、idrive.com コンソール自身が呼び出すものと同じ、iDrive の非公開内部 Web API と通信します。このサーバーの基になっているリバースエンジニアリング済みエンドポイントのリファレンスは docs/api-map.md を参照してください。
IDRIVE_COOKIE の取得方法
ブラウザで idrive.com にログインします。
DevTools -> Network タブを開きます。
www.idrive.comへの XHR リクエストをクリックします。そのリクエストの
Cookieヘッダーの完全な値をコピーします。.envファイル(.env.exampleをコピー)にIDRIVE_COOKIE=<値>として入れます。
この Cookie にはセッショントークン(SES_TOKEN、JWT)が含まれており、約 24 時間で期限切れになります。期限が切れると、ツールの呼び出しは「セッションを更新してください」という明確なエラーで失敗するため、上記の手順を繰り返す必要があります。
Related MCP server: Google Drive MCP Server
Claude Code / Claude Desktop での設定
MCP 設定(Claude Code の場合は .mcp.json、Claude Desktop の場合は claude_desktop_config.json)にエントリを追加します:
{
"mcpServers": {
"idrive": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "/absolute/path/to/idrive-mcp-server",
"env": {
"IDRIVE_COOKIE": "<your cookie value>"
}
}
}
}または、npm run build を実行した後、command/args をビルド出力に向けます:
{
"mcpServers": {
"idrive": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/absolute/path/to/idrive-mcp-server",
"env": {
"IDRIVE_COOKIE": "<your cookie value>"
}
}
}
}利用可能なツール
list_devices— 入力なし。認証された iDrive アカウントでバックアップされているすべてのデバイス(デバイス ID、OS、ニックネーム、IP アドレス、バックアップバケットの場所)を、EVS ホストのevs/listDevicesエンドポイント経由で一覧表示します。IDRIVE_COOKIE以外の設定は不要です。list_files—deviceId(必須)、path(デフォルト"/")、osType(デフォルト"win")。iDrive のgetRestoreDataエンドポイント経由で、デバイスのバックアップ済みファイルツリーを閲覧します。browse_folder—deviceId(必須)、path(必須、EVS 形式:"/C"、"/C/Users/...")。よりリッチな EVS ホストのevs/browseFolderエンドポイント(list_filesにはないゴミ箱/チェックサム/ライブイメージフィールドを追加)経由で、デバイスのバックアップ済みフォルダを閲覧します。evs/browseFolderがルートパスを直接処理するのはこれまで観測されていないため、まずlist_filesを使用してデバイスの利用可能なドライブ文字/ルートを発見してください。get_thumbnail—deviceId(必須)、path(必須、browse_folderと同じ EVS 形式)、timestamp(必須 — 以前のlist_files/browse_folder呼び出しによるファイルのlmd_web値)。EVS ホストのevs/getThumbnailエンドポイント経由で、バックアップ済みファイルのサムネイルプレビュー画像を取得し、MCP 画像コンテンツとして返します。download_file—deviceId(必須)、path(必須、browse_folderと同じ EVS 形式)。EVS ホストのevs/downloadFileエンドポイント経由で、バックアップ済みファイルの実際のコンテンツをダウンロードし、base64 エンコードされた MCP リソースコンテンツとして返します。このエンドポイントの iDrive のContent-Typeは実際のファイルタイプを識別するのに信頼できないため、ファイル名/拡張子から推測してください。get_file_properties—deviceId(必須)、path(必須、browse_folderと同じ EVS 形式)。EVS ホストのevs/getPropertiesエンドポイント経由で、単一のバックアップ済みファイルまたはフォルダのサイズ/最終更新メタデータを取得します。get_file_versions—deviceId(必須)、path(必須、browse_folderと同じ EVS 形式)。EVS ホストのevs/getVersionsエンドポイント経由で、ファイルの以前のバックアップバージョンを一覧表示します。現時点で確認されているのは「バージョン履歴なし」の応答形式のみです — 以前のバージョンがないファイルは、ツールエラーではなく通常の結果(hasVersions: false)として報告されます。実際のバージョンリストの形式は未確認で、生の JSON として返されます。get_account_usage— 入力なし。アカウントの使用済み/合計 Sync ストレージクォータを生の文字列(例:"0.00 KB"、"5000.00 GB")として返します。iDrive のaccount.htmlページの 2 つのインライン<script>変数からスクレイピングします — 専用の JSON 使用量エンドポイントはありません。本質的に壊れやすい(安定した API ではなく HTML スクレイピング)ものであり、ページ自身の「Sync」クォータ命名を具体的に反映しています。デバイスのバックアップ全体の合計使用量も表すかどうかは未確認です。
変更を加えるツール
以下のツールは、上記のすべてのツール(すべて読み取り専用)とは異なり、アカウント上の実際のバックアップ済みデータを変更します。それらの説明と MCP annotations はそれを明示的に示しています(readOnlyHint: false、および delete_file の場合は destructiveHint: true)。
create_folder—deviceId(必須)、parentPath(必須、EVS 形式、既存のフォルダである必要があります)、folderName(必須 — パスではなく新しいフォルダの名前のみ)。EVS ホストのevs/createFolderエンドポイント経由で、デバイスのライブバックアップ内に新しいフォルダを作成します。ライブで確認済み: 新しいフォルダは、その後のbrowse_folder/list_filesの一覧に表示されます。delete_file—deviceId(必須)、paths(必須、1 つ以上の EVS 形式パスの配列 — 単一のバッチ呼び出しで繰り返しのpフィールドとして送信されます)、permanent(オプション、デフォルトfalse)。EVS ホストのevs/v1/deleteFileエンドポイント経由で、デバイスのライブバックアップからファイル/フォルダを削除します。permanent: false(デフォルト)はパスをゴミ箱に移動します — ライブで確認済みで、restore_from_trashで復元可能です。permanent: trueはtrash=noを送信し、フィールド名/パターンから永続的で復元不可能な削除を意味すると推定されますが、これはライブで独立に確認されたことはありません — 依存する前に未検証として扱ってください。restore_from_trash—deviceId(必須)、paths(必須、1 つ以上の EVS 形式パスの配列、delete_fileと同じ繰り返しpバッチ処理)。EVS ホストのevs/putBackFromTrashエンドポイント経由で、以前ゴミ箱に移動したファイル/フォルダを元の場所に復元します。ライブで確認済み。現在ゴミ箱にあるものを列挙する確認済みの方法はないため、pathsは既にわかっている必要があります。
すべての EVS ホストツール(browse_folder、get_thumbnail、download_file、get_file_properties、get_file_versions、list_devices、create_folder、delete_file、restore_from_trash)は、EVS サテライトホストが必要とする EVSID セッションを透過的にブートストラップしてキャッシュします(docs/api-map.md の「EVSID: EVS セッションが実際に確立される方法」セクションを参照)— IDRIVE_COOKIE 以外の追加設定は不要ですが、ブートストラップする EVS ホストを知るために、Cookie の EVS_SERVER 値(/idrive/home からコピーした Cookie に存在し、idriveent コンソールからコピーしたものには必ずしも存在しない)が必要です。
テスト
npm test はユニットテストを無条件に実行し、さらに環境変数でゲートされ、未設定の場合はきれいにスキップされる一連のライブ統合テストを実行します:
IDRIVE_COOKIE— 統合テストを実行するために必須。IDRIVE_TEST_DEVICE_ID— ほとんどの統合テストが必要とする実際のdevice_id(list_devicesから)。IDRIVE_TEST_EVS_PATH— ほとんどの統合テストがその下で閲覧/読み取りを行う実際の EVS 形式パス(例:/C)。IDRIVE_TEST_ALLOW_MUTATIONS=1— 上記 3 つの変数に加えて、src/tools/files.test.tsのcreate_folder/delete_file/restore_from_trash統合テストを実行するために必要な別個の明示的なオプトイン。そのテストは実際のアカウントを変更します:IDRIVE_TEST_EVS_PATHの下に一意の名前の使い捨てフォルダを作成し(繰り返し実行しても衝突しない)、そのフォルダに対して 3 つのツールすべてを実行し、テスト終了前にゴミ箱に移動してクリーンアップします — 途中でアサーションが失敗しても(try/finally)。この変数が正確に"1"に設定されていない場合、そのテストはスキップされるため、読み取り専用テスト用にIDRIVE_COOKIE/IDRIVE_TEST_DEVICE_ID/IDRIVE_TEST_EVS_PATHのみを設定した開発者は、実際のデータに触れるリスクなしにnpm testを実行できます。
get_account_usage の統合テストは読み取り専用で、他のアカウントツールと同じく IDRIVE_COOKIE のみが必要です。
ステータス
設定読み込み、セッション期限切れ検出、共有 HTTP クライアント(src/client/idriveClient.ts)は実装済みです。MCP ツールは src/tools/ の下に段階的に追加されています(上記「利用可能なツール」を参照)。
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.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables comprehensive Google Drive integration through MCP, supporting file management, content operations, permission handling, commenting, version control, and shared drive management through natural language interactions.
- AlicenseNot gradedqualityAmaintenanceEnables management of Google Drive files, Docs, Sheets, Slides, and Calendar events through natural language using the MCP protocol.12,825207MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to interact with Google Drive, supporting file operations like list, search, read, create, update, delete, share, and manage permissions.74654MIT
- AlicenseNot gradedqualityDmaintenanceEnables management of Google Drive files, Docs, Sheets, and Slides through natural language using MCP, with support for file operations, search, and shared drives.13MIT
Related MCP Connectors
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/technophile77/idrive-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server