idrive-mcp-server
idrive-mcp-server
Ein MCP-Server (Model Context Protocol), der die Web-Backup-/Restore-Konsole von iDrive als Werkzeuge für einen MCP-kompatiblen KI-Assistenten (z. B. Claude Desktop oder Claude Code) bereitstellt. Er spricht mit der undokumentierten internen Web-API von iDrive – denselben Endpunkten, die auch die idrive.com-Konsole aufruft – unter Verwendung eines Session-Cookies, das aus einem angemeldeten Browser kopiert wird, da iDrive keine öffentliche API oder OAuth-Flow für diese Konsole anbietet. Siehe docs/api-map.md für die reverse-engineerte Endpunkt-Referenz, auf der dieser Server basiert.
Abrufen von IDRIVE_COOKIE
Melden Sie sich in Ihrem Browser bei idrive.com an.
Öffnen Sie DevTools -> Netzwerk-Tab.
Klicken Sie auf eine beliebige XHR-Anfrage an
www.idrive.com.Kopieren Sie den vollständigen Wert des
Cookie-Headers dieser Anfrage.Fügen Sie ihn in eine
.env-Datei ein (kopieren Sie.env.example) alsIDRIVE_COOKIE=<value>.
Dieses Cookie enthält ein Session-Token (SES_TOKEN, ein JWT), das nach etwa 24 Stunden abläuft – wenn das passiert, schlagen Tool-Aufrufe mit einer klaren Fehlermeldung „Sitzung aktualisieren" fehl, und Sie müssen die obigen Schritte wiederholen.
Related MCP server: Google Drive MCP Server
Konfiguration in Claude Code / Claude Desktop
Fügen Sie einen Eintrag zu Ihrer MCP-Konfiguration hinzu (.mcp.json für Claude Code oder claude_desktop_config.json für Claude Desktop):
{
"mcpServers": {
"idrive": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "/absolute/path/to/idrive-mcp-server",
"env": {
"IDRIVE_COOKIE": "<your cookie value>"
}
}
}
}Oder, nachdem Sie npm run build ausgeführt haben, richten Sie command/args auf die erstellte Ausgabe aus:
{
"mcpServers": {
"idrive": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/absolute/path/to/idrive-mcp-server",
"env": {
"IDRIVE_COOKIE": "<your cookie value>"
}
}
}
}Verfügbare Tools
list_devices— keine Eingabe. Listet jedes Gerät auf, das unter dem authentifizierten iDrive-Konto gesichert ist (Geräte-ID, Betriebssystem, Spitzname, IP-Adresse und Backup-Bucket-Speicherort) über den von EVS gehosteten Endpunktevs/listDevices. Erfordert keine Konfiguration überIDRIVE_COOKIEhinaus.list_files—deviceId(erforderlich),path(Standard"/"),osType(Standard"win"). Durchsucht den gesicherten Dateibaum eines Geräts über dengetRestoreData-Endpunkt von iDrive.browse_folder—deviceId(erforderlich),path(erforderlich, EVS-Format:"/C","/C/Users/..."). Durchsucht den gesicherten Ordner eines Geräts über den umfangreicheren, von EVS gehosteten Endpunktevs/browseFolder(fügt überlist_fileshinausgehende Felder für Papierkorb/Prüfsumme/Live-Image hinzu). Verwenden Sie zuerstlist_files, um die verfügbaren Laufwerksbuchstaben/Wurzeln eines Geräts zu ermitteln, daevs/browseFoldernoch nie mit einem bloßen Wurzelpfad beobachtet wurde.get_thumbnail—deviceId(erforderlich),path(erforderlich, gleiches EVS-Format wiebrowse_folder),timestamp(erforderlich — derlmd_web-Wert der Datei aus einem früherenlist_files/browse_folder-Aufruf). Ruft ein Vorschaubild für eine gesicherte Datei über den von EVS gehosteten Endpunktevs/getThumbnailab, das als MCP-Bildinhalt zurückgegeben wird.download_file—deviceId(erforderlich),path(erforderlich, gleiches EVS-Format wiebrowse_folder). Lädt den tatsächlichen Inhalt einer gesicherten Datei über den von EVS gehosteten Endpunktevs/downloadFileherunter, der als base64-kodierter MCP-Ressourceninhalt zurückgegeben wird. DerContent-Typevon iDrive auf diesem Endpunkt ist nicht vertrauenswürdig, um den tatsächlichen Dateityp zu identifizieren — leiten Sie ihn stattdessen aus dem Namen/der Erweiterung der Datei ab.get_file_properties—deviceId(erforderlich),path(erforderlich, gleiches EVS-Format wiebrowse_folder). Ruft Metadaten zu Größe/letzter Änderung für eine einzelne gesicherte Datei oder einen Ordner über den von EVS gehosteten Endpunktevs/getPropertiesab.get_file_versions—deviceId(erforderlich),path(erforderlich, gleiches EVS-Format wiebrowse_folder). Listet frühere gesicherte Versionen einer Datei über den von EVS gehosteten Endpunktevs/getVersionsauf. Bisher ist nur die Antwortform „keine Versionshistorie" bestätigt — eine Datei ohne frühere Versionen wird als normales Ergebnis gemeldet (hasVersions: false), nicht als Tool-Fehler; die Form einer echten Versionsliste ist unbestätigt und wird als rohes JSON zurückgegeben.get_account_usage— keine Eingabe. Gibt das verwendete/gesamte Sync-Speicherkontingent des Kontos als rohe Zeichenfolgen zurück (z. B."0.00 KB","5000.00 GB"), extrahiert aus zwei Inline-<script>-Variablen auf deraccount.html-Seite von iDrive — es gibt keinen dedizierten JSON-Nutzungsendpunkt. Von Natur aus fragil (ein HTML-Scrape, keine stabile API) und spiegelt speziell die „Sync"-Kontingentbezeichnung der Seite wider; ob es auch die Gesamtnutzung über Gerätesicherungen darstellt, ist unbestätigt.
Verändernde Tools
Die folgenden Tools ändern echte gesicherte Daten auf dem Konto, anders als alle Tools oben (alle schreibgeschützt). Ihre Beschreibungen und MCP-annotations sagen dies explizit aus (readOnlyHint: false und destructiveHint: true für delete_file).
create_folder—deviceId(erforderlich),parentPath(erforderlich, EVS-Format, muss ein vorhandener Ordner sein),folderName(erforderlich — nur der Name des neuen Ordners, kein Pfad). Erstellt einen neuen Ordner im Live-Backup eines Geräts über den von EVS gehosteten Endpunktevs/createFolder. Live bestätigt: Der neue Ordner erscheint in nachfolgendenbrowse_folder/list_files-Auflistungen.delete_file—deviceId(erforderlich),paths(erforderlich, Array aus einem oder mehreren EVS-Format-Pfaden — gesendet als wiederholtep-Felder in einem einzigen Batch-Aufruf),permanent(optional, Standardfalse). Entfernt Datei(en)/Ordner aus dem Live-Backup eines Geräts über den von EVS gehosteten Endpunktevs/v1/deleteFile.permanent: false(Standard) verschiebt die Pfade in den Papierkorb — live bestätigt und mitrestore_from_trashwiederherstellbar.permanent: truesendettrash=no, was (aufgrund des Feldnamens/-musters) vermutlich eine dauerhafte, nicht wiederherstellbare Löschung bedeutet, aber dies wurde nie unabhängig live bestätigt — behandeln Sie es als unverifiziert, bevor Sie sich darauf verlassen.restore_from_trash—deviceId(erforderlich),paths(erforderlich, Array aus einem oder mehreren EVS-Format-Pfaden, gleiche wiederholte-p-Batchverarbeitung wiedelete_file). Stellt zuvor in den Papierkorb verschobene Datei(en)/Ordner an ihrem ursprünglichen Speicherort wieder her über den von EVS gehosteten Endpunktevs/putBackFromTrash. Live bestätigt. Es gibt keine bestätigte Möglichkeit, den aktuellen Inhalt des Papierkorbs aufzulisten, daher müssenpathsbereits bekannt sein.
Alle von EVS gehosteten Tools (browse_folder, get_thumbnail, download_file, get_file_properties, get_file_versions, list_devices, create_folder, delete_file, restore_from_trash) bootstrappen und cachen transparent die EVSID-Sitzung, die der EVS-Satelliten-Host benötigt (siehe Abschnitt „EVSID: Wie die EVS-Sitzung tatsächlich aufgebaut wird" in docs/api-map.md) — es ist keine zusätzliche Konfiguration über IDRIVE_COOKIE hinaus erforderlich, aber sie benötigen den EVS_SERVER-Wert des Cookies (vorhanden auf Cookies, die von /idrive/home kopiert wurden, nicht unbedingt auf denen von der idriveent-Konsole), um zu wissen, gegen welchen EVS-Host gebootstrappt werden soll.
Testen
npm test führt die Unit-Tests bedingungslos aus, plus eine Reihe von Live-Integrationstests, die hinter Umgebungsvariablen geschaltet sind und sauber übersprungen werden, wenn sie nicht gesetzt sind:
IDRIVE_COOKIE— erforderlich, damit überhaupt ein Integrationstest läuft.IDRIVE_TEST_DEVICE_ID— eine echtedevice_id(auslist_devices), die die meisten Integrationstests benötigen.IDRIVE_TEST_EVS_PATH— ein echter Pfad im EVS-Format (z. B./C), unter dem die meisten Integrationstests browsen/lesen.IDRIVE_TEST_ALLOW_MUTATIONS=1— eine separate, explizite Opt-in-Anforderung, zusätzlich zu den drei obigen Variablen, bevor der Integrationstest fürcreate_folder/delete_file/restore_from_trashinsrc/tools/files.test.tsausgeführt wird. Dieser Test mutiert ein echtes Konto: Er erstellt einen eindeutig benannten Wegwerf-Ordner unterIDRIVE_TEST_EVS_PATH(so dass wiederholte Läufe nie kollidieren), übt alle drei Tools darauf aus und räumt auf, indem er ihn vor Testende in den Papierkorb verschiebt — selbst wenn eine Assertion mittendrin fehlschlägt (try/finally). Ohne diese Variable, die exakt auf"1"gesetzt ist, wird dieser Test übersprungen, sodass ein Entwickler, der nurIDRIVE_COOKIE/IDRIVE_TEST_DEVICE_ID/IDRIVE_TEST_EVS_PATHfür schreibgeschützte Tests eingerichtet hat,npm testausführen kann, ohne dass echte Daten berührt werden.
Der Integrationstest für get_account_usage ist schreibgeschützt und benötigt nur IDRIVE_COOKIE, genau wie die anderen Kontotools.
Status
Das Laden der Konfiguration, die Erkennung des Sitzungsablaufs und der gemeinsame HTTP-Client (src/client/idriveClient.ts) sind vorhanden; MCP-Tools werden schrittweise unter src/tools/ hinzugefügt (siehe „Verfügbare Tools" oben).
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