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.
Latest Blog Posts
- 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