rutorrent-mcp
This MCP server enables full management of a ruTorrent/rTorrent instance via ruTorrent's httprpc plugin.
Monitor & Retrieve Information
Global stats (
global_stats): View transfer rates, throttle limits, torrent counts, and disk space.List torrents (
list_torrents): Get a compact torrent list with filtering by label/status and sorting.Get torrent details (
get_torrent): Fetch full info for a specific torrent by hash, optionally including files, trackers, and peers.Get file list (
get_files): View file details including indices, sizes, completion, and priorities.
Manage Torrent Lifecycle
Add torrents (
add_torrent): Add via magnet link, URL, or local.torrentfile, with optional label, download directory, and start/stop control.Remove torrents (
remove_torrent): Remove one or more torrents, with optional data deletion (requireserasedataplugin).Start/Stop/Pause/Recheck (
start_torrent,stop_torrent,pause_torrent,recheck_torrent): Control torrent state by info-hash(es).
Organize & Prioritize
Set labels (
set_label): Assign or clear labels on one or more torrents.Set torrent priority (
set_priority): Set bandwidth priority (off,low,normal,high).Set file priority (
set_file_priority): Set per-file priority (off,normal,high) within a torrent.Move torrents (
move_torrent): Move a torrent to a new directory, optionally moving the data on disk.
Global Settings
Set throttle (
set_throttle): Set global upload/download speed limits in KB/s (0 = unlimited).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rutorrent-mcplist all torrents with label 'linux iso'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
rutorrent-mcp
MCP server for controlling rTorrent through ruTorrent's httprpc plugin —
list/add/remove/start/stop torrents, manage labels and priorities, move data,
and set global throttles from any MCP client.
Requirements
Python 3.11+ and uv
A ruTorrent install with the
httprpcplugin enabled (default on most seedboxes)Optional plugins:
diskspace(disk stats inglobal_stats),erasedata(needed forremove_torrent(delete_data=true)to actually delete files)
Related MCP server: Torrent Search MCP Server
Configuration (environment variables)
Variable | Required | Default | Description |
| yes | — | Base ruTorrent URL, e.g. |
| no | — | HTTP Basic auth username |
| no | — | HTTP Basic auth password |
| no |
| HTTP timeout in seconds |
| no |
| Set |
Install with Claude Code
claude mcp add rutorrent \
-e RUTORRENT_URL=https://host/rutorrent \
-e RUTORRENT_USER=myuser \
-e RUTORRENT_PASSWORD=mypass \
-- uv run --directory /path/to/rutorrent_mcp rutorrent-mcpTools
Tool | Description |
| Compact list; filter by label/status, sort, limit |
| Full details; optional files/trackers/peers |
| Rates, throttle limits, torrent count, disk space |
| Magnet/URL or local |
| Remove; |
| Control by hash(es) |
| Organization, bulk-capable |
| File list with indices, sizes, completion, priorities |
| Per-file priority: |
| Move download directory, optionally moving data |
| Global KB/s limits, 0 = unlimited |
rTorrent XML-RPC quirks
Per-file priority is not set over plain XML-RPC: f.set_priority is missing
on some rTorrent builds and f.priority.set needs the HASH:f<index> target
syntax, which varies by version. set_file_priority instead uses httprpc's
form-urlencoded protocol (mode=setprio&hash=…&s=<prio>&v=<index>…) — the
same path the ruTorrent web UI uses — and the PHP handler runs
d.update_priorities afterwards. File priorities are a 3-level scale
(0 = off/skip, 1 = normal, 2 = high), distinct from the 4-level torrent scale.
Development
uv sync
uv run pytest
# manual live check against a real seedbox:
RUTORRENT_URL=... RUTORRENT_USER=... RUTORRENT_PASSWORD=... uv run python scripts/smoke.pyMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBquality-maintenanceA Python MCP server that allows programmatic interaction with YggTorrent, enabling torrent search, details retrieval, and magnet link generation without exposing your Ygg passkey.Last updated418
- AlicenseAqualityBmaintenanceA Python MCP server that allows programmatic interaction to find torrents programmatically on ThePirateBay, Nyaa and YggTorrent.Last updated227PythonMIT
- AlicenseBqualityCmaintenancePython wrapper & MCP server for the rqbit APILast updated83MIT
- AlicenseAqualityDmaintenanceMCP server for controlling the mpv media player, enabling playback control, music library browsing, YouTube streaming and downloading, and metadata editing from within an MCP client.Last updated17601MIT
Related MCP Connectors
MCP server for the FFmpeg Micro video transcoding API — create, monitor, download transcodes.
Remote MCP server for full read/write access to a Zotero library
MCP server for URL shortening and management
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/abnormalend/rutorrent-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server