Skip to main content
Glama
technophile77

idrive-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IDRIVE_COOKIEYesThe session cookie from a logged-in iDrive web console. Log in to idrive.com, open DevTools -> Network, copy the Cookie header from any XHR request to www.idrive.com, and set this to that value. Contains the SES_TOKEN (JWT) and expires after roughly 24 hours.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_account_featuresA

Returns the boolean feature flags iDrive uses to decide which product sections (e.g. Remote PC, E2 object storage, 360 backup) show in the web console's left nav for this account. The exact set of keys isn't guaranteed stable across accounts — treat this as a loose flag bag, not a fixed schema.

get_dashboardA

Returns the raw JSON from iDrive's user dashboard endpoint, as-is. Its response shape is unmapped and unconfirmed — in the one captured session so far it returned an empty array. Callers should treat the result as opaque diagnostic data and must not rely on any specific field being present.

get_cloud_backup_planA

Returns iDrive's cloud-to-cloud (c2c) product tier pricing/upsell info (current plan, monthly/yearly price, any active offer or promo code). This is billing information only — it does NOT list the user's actual connected cloud accounts (Google Drive, iCloud, etc.) or their backed-up data; no endpoint for that has been discovered yet (see docs/api-map.md, 'Still needed from you' item 6).

get_account_usageA

Returns the account's used and total Sync storage quota. There is no dedicated JSON usage endpoint for this — it's scraped from two inline variables on iDrive's account.html page (see docs/api-map.md's 'Account/storage usage' section), so this tool is inherently fragile: a change to that page's markup or variable names could silently break it (it fails with a clear tool error in that case, rather than a crash or a guessed value). Values are returned as raw, free-form strings with their unit suffix (e.g. "0.00 KB", "5000.00 GB"), not parsed into numbers. This reflects the page's own 'Sync' quota naming specifically — whether it also represents total usage across device backups (not just the Sync area) is unconfirmed.

list_devicesA

Lists every device backed up under the authenticated iDrive account, including each device's ID, operating system, nickname, IP address, and backup bucket location.

list_filesA

Lists the files and folders backed up for a given device at a given path, browsing the device's backed-up file tree as shown in iDrive's restore console. Use the sibling list_devices tool to obtain a deviceId. Transparently retries with the alternate Unicode normalization (precomposed NFC vs. decomposed NFD) if path contains accented characters and the first attempt fails to resolve — some devices (confirmed: Mac/APFS-sourced ones) index paths in decomposed form, which differs from how a typed or LLM-generated path is normally encoded.

browse_folderA

Lists the files and folders backed up for a given device at a given path, via the richer EVS-hosted evs/browseFolder endpoint (adds trash/checksum/live-image fields beyond list_files). The path must be in the EVS format ("/C", "/C/Users/...") — use the sibling list_files tool first to discover the available drive letters/roots for this device, since a bare root path has never been observed working here.

get_thumbnailA

Fetches a thumbnail preview image for a backed-up file, via the EVS-hosted evs/getThumbnail endpoint. The path must be in the EVS format ("/C/Users/..."), and timestamp must be the file's lmd_web value from a prior list_files or browse_folder call's entry for it — there's no way to guess a correct timestamp without one of those calls first.

download_fileA

Downloads a backed-up file's actual content, via the EVS-hosted evs/downloadFile endpoint, streaming it straight to a local file at the required destinationPath rather than returning it inline — large files inlined into a single tool response can exceed the MCP stdio transport's message size limit, so this tool always writes to disk and reports back { path, bytesWritten } instead. Use browse_folder or list_files first to discover the path of the file you want. Note: iDrive's Content-Type header on this endpoint is NOT trustworthy for identifying the real file type (it's always text/plain;charset=UTF-8 regardless of actual content) — the downloaded data is an opaque byte stream; use the file's own name/extension (from a prior listing) to infer its type instead. Transparently retries with the alternate Unicode normalization (precomposed NFC vs. decomposed NFD) if path contains accented characters and the first attempt fails to resolve; when that retry is what actually worked, the result includes a sourcePathNormalizedTo field showing the form that succeeded.

get_file_propertiesA

Fetches metadata (size, last-modified date) for a single backed-up file or folder, via the EVS-hosted evs/getProperties endpoint. Matches the "Folder size / File count / Modified date" info dialog in iDrive's own UI. Use browse_folder or list_files first to discover the path to query.

get_file_versionsA

Lists prior backed-up versions of a single file, via the EVS-hosted evs/getVersions endpoint. Only the "no version history" response shape has been confirmed live so far (see docs/api-map.md) — a file with no prior versions is reported as a normal, successful result (not a tool error), with hasVersions: false. The shape of a real version list (a file that DOES have multiple backed-up versions) is unconfirmed, so when iDrive reports success this tool returns iDrive's raw JSON as-is rather than guessing at a mapped shape — treat those fields as unstable until a real example has been observed. Use browse_folder or list_files first to discover the path to query.

create_folderA

MUTATING: creates a new folder inside a device's live backup, via the EVS-hosted evs/createFolder endpoint. This modifies real backed-up data — the new folder appears in subsequent browse_folder/list_files listings (confirmed live against a real device, see docs/api-map.md's "Live mutation testing" section). parentPath must be an existing folder (use browse_folder/list_files first to confirm it exists); folderName is just the new folder's name, not a path.

delete_fileA

MUTATING, DESTRUCTIVE: removes one or more files/folders from a device's live backup, via the EVS-hosted evs/v1/deleteFile endpoint, in a single batch call across all of paths. By default (permanent: false) this moves the path(s) to trash — confirmed live against a real device (see docs/api-map.md's "Live mutation testing" section): the item(s) disappear from browse_folder/list_files listings immediately, and can be undone with the sibling restore_from_trash tool. Setting permanent: true is presumed (NOT independently confirmed — see the permanent parameter's own description) to bypass trash and delete the data with no way to recover it. Always double-check paths before calling this, especially with permanent: true.

restore_from_trashA

MUTATING: restores one or more previously trashed files/folders back to their original location, via the EVS-hosted evs/putBackFromTrash endpoint, in a single batch call across all of paths. Confirmed live against a real device (see docs/api-map.md's "Live mutation testing" section): the item(s) reappear in subsequent browse_folder/list_files listings. Only undoes a prior trash-move (e.g. from the sibling delete_file tool with permanent: false) — there is no confirmed way to enumerate what's currently in trash, so paths must already be known.

get_server_versionA

Reports exactly which build of this MCP server is currently running: the package.json version, a git commit descriptor (short hash, plus a dirty-working-tree indicator) for the checked-out source, and a combined human-readable display string. Exists to tell a stale, already-running server process apart from the current build — this project doesn't bump package.json's version on every fix, so semver alone can't distinguish them. This is purely local diagnostic info: it doesn't call iDrive's API.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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