FastMCP server for 115 cloud storage powered by p115client
24 tools with consistent verb-noun naming (list_, get_, create_, search_, offline_). All tools have descriptions (10-200 chars, baseline 194). Input schemas present with type definitions for all parameters. However, output schemas are undocumented, LLMs cannot predict response structure for chaining. Error handling is absent: no recovery guidance, no categorization of retryable vs fatal errors. Parameter descriptions are present but generic (e.g., 'Numeric 115 directory ID' lacks format/constraint details). No tool annotations (readOnlyHint/destructiveHint). Missing idempotency guidance for write operations. Composition is sound: tools are single-responsibility, but chaining IDs are not guaranteed in responses.
Return local configuration status and optionally verify remote login state.
Count entries in a directory without returning a full listing.
Create a directory under the specified parent directory.
Finish a signed QR-code login session and optionally save cookies to a file.
Return account information for the current 115 user.
Return the ancestor chain for a file or directory.
Output schemas undocumented. LLMs cannot predict response structure, breaking tool chaining. E.g., list_directory returns dict but fields unknown, agent cannot extract IDs for downstream calls.
No error handling guidance. Tools return dict but no documentation of error cases, recovery steps, or retryability. E.g., finish_qrcode_login could fail if session expired, no guidance on what to do.
No tool annotations. Write operations (create_directory, offline_add_urls, offline_add_torrent, finish_qrcode_login) lack destructiveHint. Read-only tools lack readOnlyHint. Agents cannot distinguish safe from risky calls.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
Return dashboard/index information for the current account.
Get metadata for a single 115 file or directory.
Check the current status of a previously started QR-code login session.
Return a stat-like view for a file or directory.
Return 115 storage/quota information for the current account.
Find entries by glob pattern under a directory.
List entries under a 115 directory. Defaults to the root directory when no target is provided.
Create an offline BT task, optionally selecting torrent file indexes.
Create one or more offline download tasks from URLs, magnets, FTP, or ed2k links.
Search/filter offline tasks client-side by query, info hash, and optional status. Reuses a short-lived shared snapshot by default.
Inspect torrent metadata before creating an offline BT task.
List current offline download tasks.
List offline tasks with page size and optional status filtering.
Check whether a file or directory exists.
Resolve a 115 directory path to backend lookup information such as directory id.
Search files and directories under a 115 directory tree.
Start a 115 QR-code login session and return a URL for scanning.
Walk a directory tree with bounded depth and result count.
Parameter descriptions lack format/constraint details. E.g., 'Numeric 115 directory ID' does not specify format (digits only?), length, or range. 'Glob pattern' does not explain syntax. LLMs cannot validate inputs before calling.
Pagination incomplete. search_entries, offline_list_tasks, offline_find_tasks accept limit/offset but response does not document total count or next_cursor. Agents cannot determine if more results exist.