MCP server for interacting with Real-Debrid API and Jackett torrent search
Server has 8 tools with basic descriptions and schemas, but significant quality gaps. Tool names lack consistent verb-noun structure (e.g., 'premium_expiration' should be 'get_premium_expiration'). Most parameter descriptions are minimal (10-30 chars, well below the 72-char baseline). Output schemas are undocumented, tools return complex objects (RDTorrent, RDTorrentInfo) with no field documentation. Error handling returns mixed types (strings and objects) inconsistently. Search tools return JSON strings instead of structured objects, violating the response-shaper pattern. No pagination guidance despite get_torrents accepting limit/offset. Missing parameter constraints (e.g., quality enum for search_movie/search_tvshow). Overall, definitions are functional but lack LLM-optimization and composition clarity.
Adds a torrent file from a URL to Real-Debrid.
Deletes a torrent from downloads in Real-Debrid.
Returns details of a specific torrent download from Real-Debrid.
Returns the active torrents from Real-Debrid.
Returns how much time left before Real-Debrid premium expires.
Searches for a torrent for the movie.
Tool names lack consistent verb-noun structure. 'premium_expiration' should be 'get_premium_expiration'; 'get_torrents' is correct but inconsistent with others. LLMs rely on verb prefixes to infer action type.
Search tools (search_torrent, search_tvshow, search_movie) return JSON strings instead of structured objects. Violates response-shaper pattern, LLMs must parse unstructured text, wasting tokens and increasing hallucination risk.
Output schemas undocumented. Tools return RDTorrent, RDTorrentInfo, RDAddMagnet objects with no field descriptions. LLMs cannot plan downstream calls or extract required data without knowing response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Searches for a torrent.
Searches for a torrent for tv series.
Parameter descriptions are minimal (10-30 chars vs. 72-char baseline). 'Quality of the video. Default is "1080p".' lacks format constraints. No enum for quality values, LLMs may hallucinate invalid options like '4K' or '720p'.
Error handling returns inconsistent types (strings for errors, objects for success). add_torrent and delete_torrent return error strings; get_torrent_details returns mixed types. No guidance on retry logic or recovery steps.