Skip to main content
Glama
technophile77

idrive-mcp-server

idrive-mcp-server

Un servidor MCP (Model Context Protocol) que expone la consola web de copia de seguridad/restauración de iDrive como herramientas para un asistente de IA compatible con MCP (por ejemplo, Claude Desktop o Claude Code). Se comunica con la API web interna no documentada de iDrive — los mismos endpoints que llama la propia consola de idrive.com — usando una cookie de sesión copiada de un navegador con sesión iniciada, ya que iDrive no ofrece una API pública ni un flujo OAuth para esta consola. Consulta docs/api-map.md para la referencia de endpoints de ingeniería inversa en la que se basa este servidor.

Obtención de IDRIVE_COOKIE

  1. Inicia sesión en idrive.com en tu navegador.

  2. Abre DevTools -> pestaña Network.

  3. Haz clic en cualquier solicitud XHR realizada a www.idrive.com.

  4. Copia el valor completo del encabezado Cookie de esa solicitud.

  5. Colócalo en un archivo .env (copia .env.example) como IDRIVE_COOKIE=<valor>.

Esta cookie contiene un token de sesión (SES_TOKEN, un JWT) que caduca aproximadamente después de 24 horas — cuando caduca, las llamadas a las herramientas fallarán con un error claro de "renueva tu sesión" y tendrás que repetir los pasos anteriores.

Related MCP server: Google Drive MCP Server

Configuración en Claude Code / Claude Desktop

Añade una entrada a tu configuración de MCP (.mcp.json para Claude Code, o claude_desktop_config.json para Claude Desktop):

{
  "mcpServers": {
    "idrive": {
      "command": "npx",
      "args": ["tsx", "src/index.ts"],
      "cwd": "/absolute/path/to/idrive-mcp-server",
      "env": {
        "IDRIVE_COOKIE": "<your cookie value>"
      }
    }
  }
}

O, después de ejecutar npm run build, apunta command/args a la salida compilada en su lugar:

{
  "mcpServers": {
    "idrive": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/absolute/path/to/idrive-mcp-server",
      "env": {
        "IDRIVE_COOKIE": "<your cookie value>"
      }
    }
  }
}

Herramientas disponibles

  • list_devices — sin entrada. Lista todos los dispositivos respaldados en la cuenta de iDrive autenticada (ID del dispositivo, SO, apodo, dirección IP y ubicación del bucket de respaldo), a través del endpoint evs/listDevices alojado en EVS. No requiere más configuración que IDRIVE_COOKIE.

  • list_filesdeviceId (obligatorio), path (por defecto "/"), osType (por defecto "win"). Navega por el árbol de archivos respaldados de un dispositivo a través del endpoint getRestoreData de iDrive.

  • browse_folderdeviceId (obligatorio), path (obligatorio, formato EVS: "/C", "/C/Users/..."). Navega por la carpeta respaldada de un dispositivo a través del endpoint evs/browseFolder alojado en EVS, más completo (añade campos de papelera/checksum/imagen en vivo más allá de list_files). Usa list_files primero para descubrir las letras de unidad/raíces disponibles de un dispositivo, ya que nunca se ha observado que evs/browseFolder maneje una ruta raíz desnuda.

  • get_thumbnaildeviceId (obligatorio), path (obligatorio, mismo formato EVS que browse_folder), timestamp (obligatorio — el valor lmd_web del archivo de una llamada previa a list_files/browse_folder). Obtiene una imagen de vista previa en miniatura para un archivo respaldado a través del endpoint evs/getThumbnail alojado en EVS, devuelta como contenido de imagen MCP.

  • download_filedeviceId (obligatorio), path (obligatorio, mismo formato EVS que browse_folder). Descarga el contenido real de un archivo respaldado a través del endpoint evs/downloadFile alojado en EVS, devuelto como contenido de recurso MCP codificado en base64. El Content-Type de iDrive en este endpoint no es fiable para identificar el tipo de archivo real — infiérelo a partir del nombre/extensión del archivo en su lugar.

  • get_file_propertiesdeviceId (obligatorio), path (obligatorio, mismo formato EVS que browse_folder). Obtiene metadatos de tamaño/última modificación para un único archivo o carpeta respaldado a través del endpoint evs/getProperties alojado en EVS.

  • get_file_versionsdeviceId (obligatorio), path (obligatorio, mismo formato EVS que browse_folder). Lista versiones respaldadas anteriores de un archivo a través del endpoint evs/getVersions alojado en EVS. Solo se ha confirmado la forma de respuesta de "sin historial de versiones" hasta ahora — un archivo sin versiones anteriores se informa como un resultado normal (hasVersions: false), no como un error de herramienta; la forma de una lista de versiones real no está confirmada y se devuelve como JSON sin procesar.

  • get_account_usage — sin entrada. Devuelve la cuota de almacenamiento de Sync usada/total de la cuenta como cadenas sin procesar (por ejemplo, "0.00 KB", "5000.00 GB"), extraída de dos variables <script> en línea en la página account.html de iDrive — no hay un endpoint JSON de uso dedicado. Frágil por naturaleza (un raspado de HTML, no una API estable) y refleja específicamente la nomenclatura de cuota "Sync" de la propia página; si también representa el uso total en las copias de seguridad de dispositivos no está confirmado.

Herramientas de mutación

Las herramientas siguientes cambian datos reales respaldados en la cuenta, a diferencia de todas las herramientas anteriores (todas de solo lectura). Sus descripciones y annotations de MCP lo dicen explícitamente (readOnlyHint: false, y destructiveHint: true para delete_file).

  • create_folderdeviceId (obligatorio), parentPath (obligatorio, formato EVS, debe ser una carpeta existente), folderName (obligatorio — solo el nombre de la nueva carpeta, no una ruta). Crea una nueva carpeta dentro de la copia de seguridad en vivo de un dispositivo a través del endpoint evs/createFolder alojado en EVS. Confirmado en vivo: la nueva carpeta aparece en los listados posteriores de browse_folder/list_files.

  • delete_filedeviceId (obligatorio), paths (obligatorio, matriz de una o más rutas en formato EVS — enviadas como campos p repetidos en una sola llamada por lotes), permanent (opcional, por defecto false). Elimina archivo(s)/carpeta(s) de la copia de seguridad en vivo de un dispositivo a través del endpoint evs/v1/deleteFile alojado en EVS. permanent: false (por defecto) mueve la(s) ruta(s) a la papelera — confirmado en vivo, y recuperable con restore_from_trash. permanent: true envía trash=no, presumiblemente (por el nombre/patrón del campo) significa una eliminación permanente, no recuperable, pero esto nunca se ha confirmado de forma independiente en vivo — trátalo como no verificado antes de confiar en ello.

  • restore_from_trashdeviceId (obligatorio), paths (obligatorio, matriz de una o más rutas en formato EVS, mismo agrupamiento de p repetido que delete_file). Restaura archivo(s)/carpeta(s) previamente enviados a la papelera a su ubicación original a través del endpoint evs/putBackFromTrash alojado en EVS. Confirmado en vivo. No hay una forma confirmada de enumerar lo que hay actualmente en la papelera, por lo que paths ya debe ser conocido.

Todas las herramientas alojadas en EVS (browse_folder, get_thumbnail, download_file, get_file_properties, get_file_versions, list_devices, create_folder, delete_file, restore_from_trash) arrancan y almacenan en caché de forma transparente la sesión EVSID que requiere el host satélite EVS (consulta la sección "EVSID: cómo se establece realmente la sesión EVS" de docs/api-map.md) — no se necesita configuración adicional más allá de IDRIVE_COOKIE, pero sí requieren el valor EVS_SERVER de la cookie (presente en las cookies copiadas de /idrive/home, no necesariamente en las copiadas de la consola idriveent) para saber contra qué host EVS arrancar.

Pruebas

npm test ejecuta las pruebas unitarias incondicionalmente, más un conjunto de pruebas de integración en vivo que están controladas por variables de entorno y se omiten limpiamente cuando no están configuradas:

  • IDRIVE_COOKIE — requerida para que cualquier prueba de integración se ejecute.

  • IDRIVE_TEST_DEVICE_ID — un device_id real (de list_devices) que la mayoría de las pruebas de integración necesitan.

  • IDRIVE_TEST_EVS_PATH — una ruta real en formato EVS (por ejemplo, /C) bajo la que la mayoría de las pruebas de integración navegan/leen.

  • IDRIVE_TEST_ALLOW_MUTATIONS=1 — una aceptación explícita y separada requerida, además de las tres variables anteriores, antes de que la prueba de integración de create_folder/delete_file/restore_from_trash en src/tools/files.test.ts se ejecute. Esa prueba muta una cuenta real: crea una carpeta desechable con nombre único bajo IDRIVE_TEST_EVS_PATH (para que las ejecuciones repetidas nunca colisionen), ejercita las tres herramientas contra ella y limpia moviéndola a la papelera antes de que termine la prueba — incluso si una aserción falla a mitad de camino (try/finally). Sin esta variable configurada exactamente como "1", esa prueba se omite, por lo que un desarrollador que solo haya configurado IDRIVE_COOKIE/IDRIVE_TEST_DEVICE_ID/IDRIVE_TEST_EVS_PATH para pruebas de solo lectura puede ejecutar npm test sin riesgo de que toque datos reales.

La prueba de integración de get_account_usage es de solo lectura y solo necesita IDRIVE_COOKIE, igual que las otras herramientas de cuenta.

Estado

La carga de configuración, la detección de expiración de sesión y el cliente HTTP compartido (src/client/idriveClient.ts) están en su lugar; las herramientas MCP se están añadiendo de forma incremental bajo src/tools/ (consulta "Herramientas disponibles" arriba).

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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

View all MCP Connectors

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/technophile77/idrive-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server