Mega.nz MCP server and Claude-powered CLI for cloud storage management
Server has 7 tools with complete JSON schemas and basic descriptions. However, descriptions are minimal (10-50 chars, well below the 194-char baseline), lack actionable context, and omit critical safety guidance for destructive operations. Parameter descriptions are present but terse. No output schemas documented. Error handling returns generic JSON errors without recovery guidance. Tool naming follows verb_noun convention but lacks clarity on resource types (e.g., 'mega_delete' doesn't distinguish file vs folder). No tool annotations (readOnlyHint, destructiveHint) despite having READ_ONLY, WRITE, and DESTRUCTIVE operations. Missing idempotency guidance for retry-prone operations like upload/download.
Create a new folder on Mega.nz
Delete a file or folder from Mega.nz
Download a file from Mega.nz to a local directory
List files and folders. Optionally filter by folder path.
Search for files or folders by name
Get Mega.nz storage usage and quota
Upload a local file to Mega.nz
Destructive tool (mega_delete) lacks safety guidance. Description is 31 chars, does not warn of irreversibility, and code comment admits no interactive confirmation. LLMs need explicit 'DESTRUCTIVE' language and recovery options.
No output schemas documented. Tools return JSON but LLMs cannot infer field names, types, or structure. E.g., mega_list_files returns what? Array of objects? Fields: name, size, type, modified_date? Unknown.
Descriptions are 10 - 50 chars (baseline 194 chars). Too terse to guide LLM selection. E.g., 'Upload a local file to Mega.nz' omits: what happens if file exists? Is it overwritten or versioned? What formats/sizes are supported? When should the LLM call this vs mega_create_folder?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). MCP spec supports these to guide agent behavior. mega_delete should be marked destructiveHint=true; mega_storage_info, mega_list_files, mega_search should be readOnlyHint=true.
Error handling returns generic {'error': str(e)} JSON. No recovery guidance. E.g., if mega_upload fails due to quota, LLM sees error but doesn't know to call mega_storage_info or delete old files. No categorization (retryable vs user-fixable vs fatal).