mega-mcp has 20 tools with complete input schemas and non-empty descriptions. Naming is consistent (mega_* prefix with verb-noun pattern). However, descriptions are uniformly brief (12-65 chars), well below the 50-200 char LLM-optimized baseline for production tools. Most parameter descriptions lack detail on constraints, formats, and use cases. No output schemas are documented. Error handling is minimal, the server wraps external process output but provides no recovery guidance, retryability classification, or actionable next steps for LLMs. The tool set is well-composed (single responsibilities, clear separation), but schema quality is below production standards for an agent integration.
Display contents of a remote file
Change current working directory in MEGA cloud
Copy files/folders within MEGA cloud storage
Show MEGA cloud storage space usage
Show disk usage of remote path
Create a public link for a file/folder
Search for files/folders in MEGA cloud storage
Tool descriptions are uniformly too brief (12-65 chars, median ~32 chars). Production baseline is 50-200 chars for LLM-optimized clarity. Current descriptions lack actionable context on WHEN to use each tool vs. similar ones, what the tool actually returns, and any prerequisites or side effects.
Output schemas are completely undocumented. Tools return raw command output from the MEGA CLI without explicit schema contracts. LLMs cannot plan downstream tool chains, extract specific fields, or validate what they receive. This violates the pattern for structured tool output.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 61 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 29 | - | v1 |
Download files from MEGA cloud to local filesystem
Import a public MEGA link
List files and folders in MEGA cloud storage
Create a directory in MEGA cloud storage
Move or rename files/folders in MEGA cloud storage
Upload files from local filesystem to MEGA cloud
Print current working directory in MEGA cloud
Remove files or folders from MEGA cloud storage
Share a folder with another MEGA user
Set up sync between local and remote folders
Show current transfers (uploads/downloads)
Show directory tree
Get current logged-in MEGA account information
No error handling guidance. The runMegaCommand() function catches errors and returns them as plain text, but provides no recovery hints, retryability classification (retryable vs. user-fixable vs. fatal), or actionable next steps for the LLM. A missing file returns raw error text with no suggestion to check the path or list available files.
Parameter descriptions lack constraint specification. Examples: 'path' is described as 'Remote path to list' with no guidance on format (absolute vs relative), max length, or what happens with invalid paths. 'expire' in mega_export mentions format like '1d', '1w', '1m' but this should be an enum or regex constraint, not free-text. 'access_level' in mega_share has an enum, but others do not.
Destructive tools (mega_rm) lack confirmation/dry-run pattern. The force flag exists but does not prevent accidental deletions. No tool offers a preview or requires explicit confirmation. An agent could delete an entire folder tree with a single miscalibrated call.
No pagination support documented or implemented for list-like tools (mega_ls, mega_find). Large directory listings will be truncated or cause context overflow. No limit parameter or cursor/offset guidance is visible in schemas.
Tool composition: mega_cd changes state (working directory) across calls, but the MCP protocol is stateless. Each request is independent, the working directory change from mega_cd will not persist to the next tool call. This will confuse agents that assume state carries forward (e.g., 'cd to /folder, then ls'). All paths must be absolute or relative scoping must be explicit.
mega_sync and mega_transfers reference ongoing operations but provide no way to cancel, pause, or track progress. No tool for status polling or interruption. Agents may have no safe way to manage long-running transfers.