Skip to main content
Glama

rTorrent MCP Server

📖 Installation Guide — quick start, manual setup, and troubleshooting

rTorrent MCP FastMCP 3.1.0 server for anime BitTorrent automation with Austrian legal context, talking to rTorrent over XML-RPC/SCGI (not a generic site scraper).

What this is: A BitTorrent control plane: add/list/pause torrents, search indexers (Nyaa, etc.), workflows, and post-processing against your rTorrent instance. It is not a generic systems MCP, and it is not a qBittorrent Web API client.

Web UI (web_sota/): A small Vite + React dashboard + REST bridge (/api/*) on the same uvicorn process as MCP (status, torrent list, magnet add). It is a deliberately minimal alternative to the ruTorrent WebUI bundled with Dockersee Quick Start (subsection ruTorrent vs this projects webapp) and web_sota/README.md. Agents still use MCP tools for full workflows. cd rtorrent-mcp just


This opens an interactive dashboard showing all available commands. Run `just bootstrap` to install dependencies, then `just serve` or `just dev` to start.

### Manual Setup

If you don't have `just` installed:
### Prerequisites
- Python 3.10 or higher
- Docker Desktop (for rTorrent) - **Recommended**
- Claude Desktop (for MCP integration)
### rTorrent stack (Docker, recommended)
#### What [crazy-max/docker-rtorrent-rutorrent](https://github.com/crazy-max/docker-rtorrent-rutorrent) is
**CrazyMax** maintains a well-used Docker setup that packages **rTorrent** (the actual client), **ruTorrent** (a PHP web UI on top of rTorrent), and **nginx** as a front door. Nginx exposes **XML-RPC** on a TCP port so clients (this MCP server, scripts, other tools) can call rTorrents RPC at `/RPC2` without you wiring SCGI sockets by hand. The image is aimed at install Docker, get a working rTorrent + classic WebUI, not at building rTorrent from source.
This repos root [`docker-compose.yml`](docker-compose.yml) pins **`crazymax/rtorrent-rutorrent:latest`**, maps **XML-RPC** to **12224** and **ruTorrent** to **12222**, and uses volumes under `./config`, your downloads folder, `./watch`, and `./logs` (see the compose file for exact bind paths on Windows).
#### Install (minimal)
1. Install **Docker Desktop** and ensure it is running.
2. Clone this repository (or copy `docker-compose.yml` and related layout).
3. From the **repository root**:
docker compose up -d
(Use `docker-compose up -d` if your Docker install only provides the hyphenated CLI.)
4. Check the container:
docker logs rtorrent-mcp
5. **Endpoints (defaults in this repo):**
- **XML-RPC (for MCP):** `http://localhost:12224/RPC2`
- **ruTorrent WebUI:** `http://localhost:12222`
Point the MCP server at the RPC endpoint with **`RTORRENT_HOST`** / **`RTORRENT_PORT`** (see [docs/RTORRENT_REFERENCE.md](docs/RTORRENT_REFERENCE.md)).
#### ruTorrent vs this projects webapp (`web_sota/`)
**ruTorrent** (bundled in CrazyMaxs image) is the full UI: plugins, RSS, autotools, labels, and a lot of surface area. Many people find it **overcomplicated** and the UI **dated**; it is still the right place when you need **plugin workflows** (RSS rules, auto-move, unpack, etc.) that we do not replicate.
**Our webapp** under [`web_sota/`](web_sota/) is intentionally **rudimentary**: a small **Vite + React** dashboard on a **REST bridge** (`/api/*`) served by the same Python process as MCPsee [`web_sota/README.md`](web_sota/README.md). Today it is a **light substitute** for day-to-day glances: health, rTorrent probe, torrent list, **magnet add**. It is **not** a feature-complete ruTorrent replacement. Use it when you want something simple; keep ruTorrent (or MCP tools) when you need depth.
Run the stack (backend + Vite) with:
.\web_sota\start.ps1
Default dev URLs are documented in `web_sota/README.md` (Vite + uvicorn ports).
#### Optional: ruTorrent plugins (CrazyMax image)
The upstream image ships ruTorrent with many plugins; common automation-related ones include RSS/feeds, autotools, scheduler, unpack, ratio/seedingtime. See [docs/RTORRENT_SETUP.md](docs/RTORRENT_SETUP.md) for a longer list and configuration notes.

## Installation

**rTorrent in Docker (CrazyMax image), ports, and webapp vs ruTorrent** are covered under **[Quick Start  rTorrent stack (Docker, recommended)](#rtorrent-stack-docker-recommended)** above. This section is for the **Python MCP package** and optional **desktop** wiring.

### Prerequisites
- [uv](https://docs.astral.sh/uv/) installed (RECOMMENDED)
- Python 3.12+

### Quick Start
Run immediately via `uvx`:
```bash
uvx rtorrent-mcp

Claude Desktop Integration

Add to your claude_desktop_config.json:

"mcpServers": {
  "rtorrent-mcp": {
    "command": "uv",
    "args": ["--directory", "D:/Dev/repos/rtorrent-mcp", "run", "rtorrent-mcp"]
  }
}

Platform setup

Prerequisites: Docker Desktop must be installed and running.

# Download the project files
# Place docker-compose.yml and install.bat in your desired directory

# Run the installation script
install.bat

# The script will:
# - Create necessary directories
# - Configure rTorrent with SCGI support
# - Start the Docker containers
# - Test the connection

Management Commands:

start.bat      # Start rTorrent containers
stop.bat       # Stop rTorrent containers  
status.bat     # Check container status and health
uninstall.bat  # Remove everything

Alternative: WSL2 Setup

# Enable WSL2 (run as Administrator)
wsl --install -d Ubuntu

# Inside WSL2 Ubuntu
sudo apt update
sudo apt install rtorrent

Linux/macOS Setup

# Ubuntu/Debian
sudo apt update
sudo apt install rtorrent

# CentOS/RHEL/Fedora
sudo yum install rtorrent
# or
sudo dnf install rtorrent

# macOS
brew install rtorrent

# Verify SCGI support
rtorrent -h | grep -i scgi

Basic Configuration

For Docker (Windows):

  1. Create rTorrent configuration

    # Create config directory
    mkdir C:\rtorrent-mcp\config
    
    # Create rtorrent.rc configuration
    @"
    # SCGI configuration for MCP server
    scgi_port = 0.0.0.0:5000
    
    # Basic settings
    session.path.set = /config/session
    directory.default.set = /downloads
    log.execute = /config/rtorrent.log
    
    # Performance settings
    max_uploads.set = 50
    max_connections.set = 200
    max_peers.set = 100
    
    # Austrian Legal Compliance
    system.method.set_key = event.download.inserted_new, anime_category, "d.custom1.set=anime"
    "@ | Out-File -FilePath "C:\rtorrent-mcp\config\rtorrent.rc" -Encoding UTF8
  2. Restart container to apply configuration

    docker-compose restart
  3. Verify connection

    # Test SCGI connection from Windows
    Invoke-RestMethod -Uri "http://localhost:5000/RPC2" -Method POST -ContentType "text/xml" -Body '<?xml version="1.0"?><methodCall><methodName>system.listMethods</methodName></methodCall>'

For WSL2/Linux/macOS:

  1. Create rTorrent configuration

    mkdir -p ~/.rtorrent
    cat > ~/.rtorrent.rc << 'EOF'
    # SCGI configuration for MCP server
    scgi_port = localhost:5000
    
    # Basic settings
    session.path.set = ~/.rtorrent/session
    directory.default.set = ~/Downloads
    log.execute = ~/.rtorrent/rtorrent.log
    
    # Performance settings
    max_uploads.set = 50
    max_connections.set = 200
    max_peers.set = 100
    EOF
  2. Start rTorrent daemon

    # Start in background
    rtorrent -d
    
    # Or with systemd (create service)
    sudo systemctl start rtorrent
    sudo systemctl enable rtorrent
  3. Verify connection

    # Test SCGI connection
    curl -X POST -H "Content-Type: text/xml" \
      -d '<?xml version="1.0"?><methodCall><methodName>system.listMethods</methodName></methodCall>' \
      http://localhost:5000/RPC2

For Windows, macOS, Docker, and advanced configuration options, see docs/RTORRENT_SETUP.md.

Configuration

  1. Create a .env file (or set environment variables)

    # rTorrent settings
    RTORRENT_HOST=localhost
    RTORRENT_PORT=12224
    RTORRENT_PATH=/var/lib/rtorrent/session
    
    # Nyaa.si settings
    NYAA_BASE_URL=https://nyaa.si
    
    # Application settings
    DEBUG=false
    LOG_LEVEL=INFO

Running the Server

# Run with stdio transport (for Claude Desktop)
python -m rtorrent_mcp.server --transport stdio

# Or with HTTP transport
python -m rtorrent_mcp.server --transport http

# Custom config file
python -m rtorrent_mcp.server --config /path/to/config.env

# Direct module execution
python src/rtorrent_mcp/server.py

Development

Testing

# Run all tests
uv run pytest

# Run with coverage report
uv run pytest --cov=rtorrent_mcp --cov-report=html

Code Style

# Format code with ruff
uv run ruff format .

# Lint code with ruff
uv run ruff check . --fix

# Type checking with pyright
uv run pyright

# Security scanning
uv run bandit -r src/
uv run safety scan

Related MCP server: rutorrent-mcp

Features in Detail

# Basic search
await search_anime("Detective Conan", resolution="720p", group="ASW")

# Advanced search with filters
await search_anime(
    query="One Piece",
    resolution="1080p",
    group="Erai-raws"
)

rTorrent Integration

# Add torrent from magnet link
magnet = "magnet:?xt=urn:btih:..."
await add_torrent(magnet, category="anime")

# Monitor and manage downloads
await list_torrents()
await pause_torrent("torrent_hash")
await resume_torrent("torrent_hash")
await delete_torrent("torrent_hash", delete_files=True)

# Check connection status
await get_status()
# Check if content is safe for Austria
is_safe = await check_austrian_legal_status(torrent_info)
if is_safe:
    await add_torrent(torrent_info["magnet"])
else:
    logger.warning("Content may not be legal in Austria")

Extended Search Capabilities

# Search manga
await search_manga("One Piece", subcategory="translated")

# Search Japanese TV shows
await search_japanese_tv("Terrace House", subcategory="translated")

# Search movies on YTS
await search_movies("The Matrix", quality="1080p", sort_by="seeds")

# Search ebooks on Anna's Archive (60M+ books!)
await search_ebooks_annas("Python Programming", content_type="books")

# Search comics on Pirate Bay
await search_comics("Watchmen", max_results=20)

Metadata Services

# Get IMDb metadata for a movie
await get_imdb_metadata("The Matrix", year=1999)

# Search IMDb for multiple matches
await search_imdb("Matrix", year=1999)

# Get TVDB metadata (requires API subscription)
await get_tvdb_metadata("Breaking Bad", year=2008)

# Get detailed Anna's Archive torrent info
await get_annas_detail("https://annas-archive.org/...")

Post-Processing System

# Check for completed downloads
completed = await check_completed_downloads()

# Process a completed download
await process_completed_download("torrent_hash")

# Start automatic post-processing (background polling)
await start_post_processing()

# Stop post-processing
await stop_post_processing()

# Normalize a filename
normalized = await normalize_filename("Show.Name.S01E01.RELEASE-GROUP.mkv", category="tv")

Natural Language Processing

# English commands
await sandra_anime_command("get me this weeks asw anime, 720p")

# German commands
await sandra_anime_command("lade detective conan asw 720p")

# Parse commands without executing
await parse_anime_command("asw attack on titan 1080p")

# Get command help
await get_command_help()

System Tools

# Server help / tool listing
await help()

# System status and health check
await get_system_status()

# Analyze the repository
await analyze_repo()

Configuration Options

Environment Variables

Variable

Default

Description

RTORRENT_HOST

localhost

rTorrent SCGI host

RTORRENT_PORT

12224

rTorrent XML-RPC port

RTORRENT_PATH

/var/lib/rtorrent/session

rTorrent session path

NYAA_BASE_URL

https://nyaa.si

Nyaa.si base URL

LOG_LEVEL

INFO

Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)

DEBUG

false

Enable debug mode

ALLOWED_CATEGORIES

["Anime"]

Allowed content categories

ALLOWED_RESOLUTIONS

["720p", "1080p"]

Allowed video resolutions

MAX_TORRENT_SIZE_GB

10

Maximum allowed torrent size in GB

POST_PROCESSING_ENABLED

false

Enable automatic post-processing

POST_PROCESSING_POLL_INTERVAL

60

Seconds between polling for completed downloads

DELETE_TORRENT_AFTER_COMPLETE

true

Remove torrent after completion

NORMALIZE_FILENAMES

true

Normalize filenames before moving

INGESTION_ANIME_PATH

-

Path to temporary ingestion folder for anime

INGESTION_TV_PATH

-

Path to temporary ingestion folder for TV shows

INGESTION_MOVIES_PATH

-

Path to temporary ingestion folder for movies

OMDB_API_KEY

-

OMDb API key for IMDb metadata (free at omdbapi.com)

TVDB_API_KEY

-

TVDB API key for TV metadata (requires subscription)

API_KEY

-

Bearer/X-API-Key auth for REST API (optional, set to enable)

NYAA_ASW_USERNAME

AkihitoSubsWeeklies

ASW user page on nyaa.si for direct lookup

PIRATEBAY_BASE_URL

https://thepiratebay10.xyz

The Pirate Bay domain (changes frequently)

RTORRENT_SAMPLING_BASE_URL

http://127.0.0.1:11434/v1

OpenAI-compatible LLM endpoint (Ollama default)

RTORRENT_SAMPLING_MODEL

llama3.2

LLM model for agentic workflow

RTORRENT_SAMPLING_USE_CLIENT_LLM

-

Set to 1 to prefer host LLM over server-side

PLEX_URL

-

Plex server URL (enables library refresh after post-process)

PLEX_TOKEN

-

Plex authentication token

JELLYFIN_URL

-

Jellyfin server URL (enables library scan after post-process)

JELLYFIN_API_KEY

-

Jellyfin API key

Media Service Integration

Architecture

Two paths, depending on whether *arr is in the loop:

Direct (anime via nyaa — no *arr)

rTorrent (rtorrent-mcp initiated)
  → PostProcessor (normalize + move to ingestion)
    → MediaIntegrator (scan Plex/Jellyfin)

For content downloaded directly through rtorrent-mcp (anime, manga from nyaa), the MediaIntegrator fires Plex/Jellyfin scans so files appear in your media libraries without waiting for a scheduled scan.

*arr-managed (movies/TV)

*arr (searches, decides what to grab)
  → *arr sends magnet/torrent to rTorrent (via Download Client config)
    → rTorrent downloads
      → *arr polls rTorrent' or watches folder
        → *arr imports + renames
          → *arr notifies Plex/Jellyfin

For *arr-managed content, configure rTorrent as a download client directly in Radarr/Sonarr (Settings > Download Clients > rTorrent). The *arr handles everything: dispatch, completion detection, import, and media server notification. No rtorrent-mcp integration needed.

Enable Plex/Jellyfin scanning

Set the URL + API key in .env:

# Plex
PLEX_URL=http://localhost:32400
PLEX_TOKEN=your_plex_token

# Jellyfin
JELLYFIN_URL=http://localhost:8096
JELLYFIN_API_KEY=your_jellyfin_key

Only services with both URL and key set are contacted — others are skipped silently.

Manual trigger

await torrent_management(action="notify_media", torrent_hash="...", category="tv")

This fires the scan pipeline for an already-processed torrent without re-running the file move.

Documentation

API Reference

For detailed API documentation, run the server and visit:

http://localhost:10910/api/health

REST endpoints on port 10910 (same process as MCP /mcp):

  • GET /api/health — liveness + version

  • GET /api/capabilities — tools/resources/skills surface (dynamic discovery)

  • GET /api/skills / GET /api/skills/{name} — bundled SKILL.md listing/content

  • GET /api/llm/discover — probe Ollama :11434 / LM Studio :1234 / vLLM :8000

  • POST /api/ai/chat — chat completion via the configured sampling endpoint

  • GET /api/rtorrent/status / GET /api/rtorrent/torrents / POST /api/rtorrent/magnet

  • GET /api/fleet/apps — probe the fleet webapp reservoir for live peers

  • GET /api/v1/diagnostics / GET /api/v1/system/info — CUA smoke diagnostics

Set API_KEY in .env to require Authorization: Bearer <key> on /api/*.

Product Requirements Document

See PRD.md for product background, requirements, and technical notes.

Extended Search Guide

See EXTENDED_SEARCH_GUIDE.md for complete guide to using all search capabilities including manga, movies, ebooks, comics, and metadata services.

Post-Processing Setup

See POST_PROCESSING_SETUP.md for complete post-processing configuration guide, including ingestion folder setup and Plex integration.

Status Report

See STATUS_REPORT.md for current project status, metrics, and development roadmap.

Development

  1. Clone this repository and cd into it (or open an existing clone), then install development dependencies:

    git clone https://github.com/sandraschi/rtorrent-mcp.git
    cd rtorrent-mcp
    uv sync --dev
  2. Run tests:

    uv run pytest
  3. Build documentation:

    uv run mkdocs serve

    Then visit http://localhost:8001

Claude Desktop integration

The recommended mcpServers snippet is under Installation Claude Desktop Integration.

Manual MCP configuration

For advanced users or custom setups, manually configure Claude Desktop:

Location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) Location: %APPDATA%/Claude/claude_desktop_config.json (Windows) Location: ~/.config/Claude/claude_desktop_config.json (Linux)

Add this configuration to your claude_desktop_config.json:

{
  "mcpServers": {
    "rtorrent-mcp": {
      "command": "python",
      "args": ["-m", "rtorrent_mcp.server", "--transport", "stdio"],
      "cwd": "/path/to/your/rtorrent_mcp",
      "env": {
        "PYTHONPATH": "/path/to/your/rtorrent_mcp/src",
        "RTORRENT_HOST": "localhost",
        "RTORRENT_PORT": "12224",
        "NYAA_BASE_URL": "https://nyaa.si"
      }
    }
  }
}

Configuration Notes:

  • Replace /path/to/your/rtorrent_mcp with your actual repository path

  • Adjust environment variables as needed for your setup

  • The server will start automatically when Claude Desktop launches

Contributing

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/-feature)

  3. Commit your changes (git commit -m 'Add some feature')

  4. Push to the branch (git push origin feature/-feature)

  5. Open a Pull Request

🛡️ Industrial Quality Stack

This project adheres to SOTA 14.1 industrial standards for high-fidelity agentic orchestration:

  • Python (Core): Ruff for linting and formatting. Zero-tolerance for print statements in core handlers (T201).

  • Webapp (UI): Biome for sub-millisecond linting. Strict noConsoleLog enforcement.

  • Protocol Compliance: Hardened stdout/stderr isolation to ensure crash-resistant JSON-RPC communication.

  • Automation: Justfile recipes for all fleet operations (just lint, just fix, just dev).

  • Security: Automated audits via bandit and safety.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments


await check_legal_status("austria")
await check_legal_status("germany")

Interpretation of results is on you; this is not legal advice.

Release group priorities (defaults)

Heuristic ordering used by search helpers (tune in config as needed):

  1. ASW

  2. SubsPlease

  3. Erai-raws

  4. EMBER

  5. Judas

Austrian context (AT)

  • Tooling includes AT-oriented legal risk hints in outputs; verify locally.

  • Command parsing supports English and German where implemented.

Configuration

Copy .env.example to .env and configure:

RTORRENT_HOST=localhost
RTORRENT_PORT=12224
NYAA_BASE_URL=https://nyaa.si
ALLOWED_CATEGORIES=Anime
ALLOWED_RESOLUTIONS=720p,1080p
DEFAULT_RESOLUTION=720p
PREFERRED_RELEASE_GROUP=ASW
LOG_LEVEL=INFO

Testing

Run Tests

# Run all tests with coverage
pytest

# Run specific test categories
pytest -m unit          # Unit tests only
pytest -m integration   # Integration tests only

# Run with verbose output
pytest -v

# Generate coverage report
pytest --cov=rtorrent_mcp --cov-report=html

Test Structure

tests/
 conftest.py              # Test configuration and fixtures
 unit/                    # Unit tests (isolated components)
    test_rtorrent_client.py
 integration/             # Integration tests (full workflows)
     test_mcp_integration.py

PowerShell Test Runner

Windows users can use the PowerShell test runner:

# Run all tests
.\scripts\run-tests.ps1

# Run with coverage
.\scripts\run-tests.ps1 -Coverage

# Run unit tests only
.\scripts\run-tests.ps1 -Unit

Modern Development Commands

With UV installed, from a clone of this repo at the repository root, you can use these modern commands:

# Install all dependencies (including dev tools)
uv sync --dev

# Run linting and formatting
uv run ruff check . --fix
uv run ruff format .

# Run type checking
uv run pyright

# Run security scans
uv run bandit -r src/
uv run safety scan

# Run tests with coverage
uv run pytest --cov=src/rtorrent_mcp --cov-report=html

# Build package
uv build

# Validate package
uv run twine check dist/*

CI, tests, and checklist

  • CI: GitHub Actions runs lint, type check, and tests (see .github/workflows/)

  • Tests: uv run pytest (coverage optional via pytest --cov)

  • Self-review: docs/MCP_PRODUCTION_CHECKLIST.md is a checklist for hardening; it is not a third-party certification.

Treat this project like any other self-hosted tool: verify behaviour in your environment and keep dependencies updated.

This tool is designed for Austrian legal context where personal downloading is generally tolerated. Users in other jurisdictions should research local copyright laws. High-risk countries (Germany, Japan) require additional precautions.

Dependencies

  • FastMCP 3.1.0+: MCP server framework with stdio transport

  • UV: Modern Python package manager for fast, reliable builds

  • aiohttp: Async HTTP client for indexer APIs

  • beautifulsoup4: HTML parsing for search results

  • xmlrpc.client: rTorrent SCGI communication (Python stdlib)

  • psutil: System monitoring and health checks

  • pydantic: Data validation and settings management

  • python-dotenv: Environment configuration

Development Dependencies

  • ruff: Fast Python linter and formatter

  • pyright: Type checking and static analysis

  • bandit: Security vulnerability scanner

  • safety: Dependency vulnerability scanner

  • pytest: Testing framework with coverage

  • build & twine: Package building and publishing

Author

Maintainer: sandraschi / rtorrent-mcp contributors.

Available Tools

7 tools
agentic_rtorrent_workflowB

RTORRENT_AGENTIC_WORKFLOW — Multi-step torrent/search automation via sampling with tools.

PORTMANTEAU PATTERN RATIONALE: One entry point for LLM-orchestrated flows (search, add, legal check) without hard-coding sequences in the client.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_iterationsNoMax LLM rounds (default 8).
available_toolsYesTool names the LLM may call (e.g. torrent_management, search_management).
workflow_promptYesWhat to accomplish in natural language (e.g. search Nyaa and add best match).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for disclosing behavior. It mentions 'sampling with tools' but does not describe execution semantics, safety profile, side effects, costs, or the iterative loop controlled by max_iterations. This is a significant gap for an orchestration tool that may invoke multiple underlying tools.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose. The 'PORTMANTEAU PATTERN RATIONALE' header is somewhat jargon-heavy, but it justifies the design choice in a single sentence. Every sentence adds some value, and it is not overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This tool is complex, orchestrating multi-step LLM-driven automation with potential for expensive or iterative operations. The description gives a high-level purpose but omits operational details like iteration limits, error behavior, or warnings about tool invocation. While an output schema exists and return values need not be explained, the description is insufficient for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover 100% of the 3 parameters (workflow_prompt, available_tools, max_iterations) with clear explanations. The tool description adds no additional parameter-specific insight beyond what the schema already provides, so a baseline score of 3 is appropriate given the high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a 'Multi-step torrent/search automation via sampling with tools' and explains it serves as a single entry point for LLM-orchestrated flows (search, add, legal check). This distinguishes it from sibling management tools, which handle single operations. The phrase 'via sampling' is slightly ambiguous but the overall purpose is specific and distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for multi-step flows via 'One entry point for LLM-orchestrated flows... without hard-coding sequences in the client.' This contrasts with hard-coding sequences and suggests using this tool when orchestration is needed, but it does not explicitly state when NOT to use it or name sibling tools as alternatives for single steps. It provides context but lacks clear exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlp_managementB

Comprehensive NLP management portmanteau tool for natural language anime commands.

PORTMANTEAU PATTERN RATIONALE: Instead of creating 3+ separate tools (one per operation), this tool consolidates related NLP operations into a single interface. Prevents tool explosion (3 tools → 1 tool) while maintaining full functionality and improving discoverability. Follows FastMCP 2.12+ best practices.

LANGUAGE SUPPORT:

  • English: "get me this weeks asw anime, 720p"

  • German: "lade detective conan asw 720p"

  • Auto-detection enabled by default

COMMAND PATTERNS:

  • "[get/download/lade] [anime name] [group] [resolution]"

  • "asw [anime name] [resolution]"

  • "this weeks anime [group] [resolution]"

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoNatural language command text. Required for: command, parse Examples: - "get me this weeks asw anime, 720p" - "lade detective conan asw 720p" - "download one piece subsplease 1080p"
actionYesThe NLP operation to perform. Must be one of: - "command": Execute natural language command (requires: text) - "parse": Parse command without execution (requires: text) - "help": Get command help and examples (no params required)
languageNoLanguage hint for parsing. Default: "auto" (auto-detect). Valid: "auto", "en", "de"auto

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description is responsible for disclosing behavioral traits. It reveals auto-detection and language support but omits what 'execute' actually does (e.g., side effects like triggering downloads), error responses, or prerequisites. This is a significant transparency gap for an execution tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is organized with headings but is overly verbose, including a 'portmanteau pattern rationale' that discusses design philosophy rather than operational guidance. While front-loaded with the overview, several sentences could be trimmed without losing essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the moderate complexity, the description plus detailed schema covers most operational aspects. However, it lacks clarity on execution side effects and what outputs to expect (though output schema exists). The lack of behavioral transparency makes it incomplete for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by providing command pattern templates and examples that demonstrate how to combine text, action, and language, plus the auto-detection behavior, going beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as an NLP management interface for anime commands, distinguishing it from sibling management tools by domain. While the term 'portmanteau' is jargon, the rest clarifies the scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The portmanteau rationale explicitly states that this tool consolidates what would otherwise be 3+ separate tools, guiding the agent to use this single interface for NLP operations. The command patterns and language support imply when to use it, though it doesn't name specific alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_managementA

Comprehensive search management portmanteau tool for torrents and metadata.

PORTMANTEAU PATTERN RATIONALE: Instead of creating 11+ separate tools (one per search type), this tool consolidates related search operations into a single interface. Prevents tool explosion (11 tools → 1 tool) while maintaining full functionality and improving discoverability. Follows FastMCP 2.12+ best practices.

SEARCH SOURCES:

  • nyaa.si: Anime, manga, Japanese TV (THE gold standard for anime)

  • YTS: Movies (gold standard for movie torrents)

  • Anna's Archive: Ebooks (60M+ books, 50M+ papers - THE gold standard!)

  • Pirate Bay: Comics, ebooks (fallback)

  • OMDb/TVDB: Metadata enrichment

ParametersJSON Schema
NameRequiredDescriptionDefault
pinNoTVDB PIN. Optional for: tvdb
yearNoRelease year for disambiguation. Optional for: imdb, imdb_search, tvdb
groupNoRelease group preference. Used by: anime. Default: "ASW" (Austrian preference). Valid: "ASW", "SubsPlease", "Erai-raws", etc.ASW
limitNoResult limit. Used by: movies. Default: 20
queryNoSearch query for torrent searches. Required for: anime, manga, japanese_tv, movies, ebooks_annas, ebooks_pb, comics Example: "One Piece", "Detective Conan", "Python Programming"
titleNoTitle for metadata lookup. Required for: imdb, imdb_search, tvdb
actionYesThe search operation to perform. Must be one of: - "anime": Search nyaa.si (requires: query, optional: resolution, group) - "manga": Search nyaa.si (requires: query, optional: subcategory) - "japanese_tv": Search nyaa.si (requires: query, optional: subcategory) - "movies": Search YTS (requires: query, optional: quality, sort_by, limit) - "ebooks_annas": Search Anna's Archive (requires: query, optional: content_type, max_results) - "ebooks_pb": Search Pirate Bay (requires: query, optional: max_results) - "comics": Search Pirate Bay (requires: query, optional: max_results) - "annas_detail": Get Anna's detail page (requires: book_url) - "imdb": Get IMDb metadata (requires: title, optional: year, imdb_id) - "imdb_search": Search IMDb (requires: title, optional: year) - "tvdb": Get TVDB metadata (requires: title, optional: year, tvdb_id)
api_keyNoAPI key for metadata services. Optional for: imdb, imdb_search, tvdb (uses env vars if not provided)
imdb_idNoIMDb ID for direct lookup (e.g., "tt1234567"). Optional for: imdb
qualityNoMovie quality. Used by: movies. Default: "1080p". Valid: "720p", "1080p", "2160p", "3D"1080p
sort_byNoSort order. Used by: movies. Default: "seeds". Valid: "seeds", "peers", "year", "rating", "downloads"seeds
tvdb_idNoTVDB ID for direct lookup. Optional for: tvdb
book_urlNoAnna's Archive book URL for detail retrieval. Required for: annas_detail
new_onlyNo
resolutionNoVideo resolution preference. Used by: anime. Default: "720p". Valid: "480p", "720p", "1080p", "2160p"720p
max_resultsNoMaximum results. Used by: ebooks_annas, ebooks_pb, comics. Default: 20
subcategoryNoContent subcategory. Used by: manga, japanese_tv. Default: "translated". Valid: "raw", "translated", "english"translated
content_typeNoContent type. Used by: ebooks_annas. Default: "books". Valid: "books", "papers"books
downloaded_episodesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention whether the tool is read-only, any rate limits, authentication requirements, or possible side effects. The description only covers scope and rationale, leaving the agent without critical safety and behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (PORTMANTEAU PATTERN RATIONALE, SEARCH SOURCES) and front-loads the purpose. While the portmanteau rationale is somewhat verbose, it is relevant to understanding the tool's design. No wasted sentences, but could be more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (13 actions, 19 parameters), the description provides a useful overview and source list, while detailed per-action requirements are supplied in the schema's action enum. The description, together with the rich schema, gives the agent enough context to select the tool and action, though it does not explicitly summarize the action list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 89%, so the schema already documents parameter meanings, requirements, and defaults. The description adds no parameter-level information, but the schema's rich detail justifies the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool is a 'Comprehensive search management portmanteau tool for torrents and metadata' and explains it consolidates 11+ search operations into one interface. This clearly identifies the verb (search), the resource (torrents and metadata), and distinguishes it from sibling tools by its search focus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by branding it as the single search tool ('Prevents tool explosion (11 tools → 1 tool)') and listing search sources, but does not explicitly specify when to use it vs alternatives or when not to use it. There are no named alternative tools with explicit exclusion criteria, so guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

system_managementB

Comprehensive system management portmanteau tool.

PORTMANTEAU PATTERN RATIONALE: Instead of creating 5+ separate tools (one per operation), this tool consolidates related system operations into a single interface. Prevents tool explosion (5 tools → 1 tool) while maintaining full functionality and improving discoverability. Follows FastMCP 2.12+ best practices.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoDetail level for help/status. Default: "basic". Valid: "basic", "detailed", "expert"basic
topicNoHelp topic for filtered help. Optional for: help Valid: "torrent", "search", "nlp", "legal", "all"
actionYesThe system operation to perform. Must be one of: - "help": Get help documentation (optional: topic, level) - "status": Get quick system status (no params required) - "health": Detailed health check with metrics (no params required) - "info": Get server info and configuration (no params required) - "analyze": Analyze repository structure (no params required)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. The description only discusses the design rationale (portmanteau pattern) and does not reveal what the operations actually do, whether they are read-only, require authentication, or have side effects. Behavioral details are relegated to the schema's action descriptions, leaving the description itself uninformative about tool behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with a clear summary sentence, followed by a rationale for the portmanteau pattern. The rationale adds context but is somewhat verbose for a tool description, preventing a perfect score. Overall, it is concise and well-structured, with no major fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The input schema is detailed and an output schema exists, so the description does not need to explain return values. However, the description lacks explicit usage scenarios and behavioral summaries, making it only minimally complete for an agent deciding when and how to invoke the tool. The schema compensates for parameter and action details, but the description itself leaves gaps in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter (action, level, topic) having detailed descriptions, defaults, and valid values. The description adds no additional parameter semantics beyond what the schema already provides. Since the schema fully documents parameters, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the tool as a comprehensive system management interface that consolidates operations, clearly distinguishing it from domain-specific sibling tools (torrent, search, nlp, legal, workflow). However, it does not enumerate the specific actions, leaving the actual verbs (help, status, health, info, analyze) to the schema. This is clear in scope and domain but not fully explicit about exact operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that the tool consolidates multiple system operations into one interface, implying it should be used for system management tasks instead of separate tools. However, it provides no explicit 'when to use' vs alternatives, no exclusions, and no guidance on choosing between this and sibling tools. The usage context is implied rather than clearly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

torrent_managementC

Comprehensive torrent management portmanteau tool for rTorrent and post-processing.

PORTMANTEAU PATTERN RATIONALE: Instead of creating 12 separate tools, this tool consolidates all torrent and post-processing operations into a single interface. Prevents tool explosion while maintaining full functionality.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesThe operation to perform. Must be one of: TORRENT OPERATIONS: - "add": Add torrent via magnet link (requires: magnet_link, optional: category) - "list": List all torrents with status (no params required) - "pause": Pause a torrent (requires: torrent_hash) - "resume": Resume a torrent (requires: torrent_hash) - "delete": Delete a torrent (requires: torrent_hash, optional: delete_files) - "status": Get rTorrent connection status (no params required) - "info": Get detailed torrent info (requires: torrent_hash) POST-PROCESSING OPERATIONS: - "check_completed": Check for completed downloads ready for processing - "process": Process completed download (requires: torrent_hash) - "start_processing": Start automatic post-processing loop - "stop_processing": Stop automatic post-processing loop - "normalize": Preview filename normalization (requires: filename, optional: category)
categoryNoCategory for categorization. Used by: add, normalize. Default: "anime"anime
filenameNoFilename for normalization preview. Required for: normalize
magnet_linkNoMagnet URI. Required for: add
delete_filesNoDelete files when deleting torrent. Default: False
torrent_hashNoTorrent hash. Required for: pause, resume, delete, info, process

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description carries the full burden of behavioral disclosure. It does not mention side effects (e.g., delete actions remove files), permission requirements, or operational characteristics. The rationale about 'tool explosion' is irrelevant to behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes a meta-rationale paragraph that is not directly actionable. The first sentence delivers the purpose, but the rationale consumes space that could have been used to list operations or usage hints. It is not optimally front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, 13 action types, output schema), the description is too sparse. It lacks an overview of action categories, usage context, or relationship to sibling tools. The schema provides detail, but the description fails to synthesize the tool's overall role, making it incomplete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with detailed parameter descriptions and an action enum that specifies requirements for each operation. The description adds no additional parameter semantics, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a 'Comprehensive torrent management portmanteau tool for rTorrent and post-processing,' which distinguishes it from sibling tools like search_management or nlp_management. However, it does not list the specific operations, relying on the schema to enumerate them, which keeps the purpose somewhat high-level.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The 'PORTMANTEAU PATTERN RATIONALE' explains why the tool exists but does not mention scenarios, exclusions, or comparisons to sibling tools like agentic_rtorrent_workflow. An agent receives no contextual cues for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

workflow_managementB

Complex workflow management portmanteau tool for multi-step torrent operations.

PORTMANTEAU PATTERN RATIONALE: Consolidates "tricky" long-running workflows into a single interface. Handles operations like downloading entire anime franchises that could take days.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupNoRelease group preference. Default: "ASW"ASW
actionYesThe workflow operation. Must be one of: - "franchise": Download entire anime franchise (requires: anime_family) - "batch_series": Batch download episode range (requires: anime_family, episode_start, episode_end) - "status": Check workflow progress (optional: workflow_id) - "cancel": Cancel workflow (requires: workflow_id) - "list": List available anime franchises - "estimate": Estimate download for franchise (requires: anime_family) - "queue": View download queue - "schedule": Schedule workflow (requires: anime_family, schedule_time)
dry_runNoPreview without downloading. Default: False
rate_limitNoMax concurrent searches per minute. Default: 5
resolutionNoVideo resolution. Default: "720p"720p
episode_endNoEnd episode for batch_series
workflow_idNoWorkflow ID for status/cancel
anime_familyNoAnime franchise name (e.g., "one piece", "naruto", "detective conan") Required for: franchise, batch_series, estimate, schedule
include_ovasNoInclude OVAs. Default: True
episode_startNoStart episode for batch_series
schedule_timeNoCron-like schedule for delayed execution Format: "HH:MM" or "YYYY-MM-DD HH:MM"
include_moviesNoInclude movies. Default: True
include_seriesNoInclude TV series. Default: True
include_specialsNoInclude specials. Default: True

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden for behavioral disclosure. It only reveals that workflows are long-running and 'tricky', but doesn't mention potential side effects, rate limits, dry_run behavior, or whether actions are asynchronous. This is insufficient for a tool with many mutation-like actions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two short paragraphs and front-loads the primary purpose. The 'PORTMANTEAU PATTERN RATIONALE' adds context but could be integrated more smoothly; still, no words are wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (14 parameters, 8 actions) and presence of an output schema, the description provides only high-level context about long-running workflows. It doesn't explain how actions interrelate or when to use dry_run/rate_limit, relying heavily on the schema for full understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% parameter descriptions, including action-specific requirements and defaults, so the description doesn't need to add parameter detail. The description adds no extra semantics beyond the schema's existing thorough documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is for managing complex, multi-step torrent workflows, with a concrete example of downloading entire anime franchises. While it distinguishes itself from simple torrent operations, it doesn't enumerate the specific actions covered, making it somewhat broad.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for long-running, 'tricky' workflows that could take days, but it doesn't explicitly state when to use it over sibling tools like torrent_management or agentic_rtorrent_workflow. No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv3.0.0
    • First observedagentic_rtorrent_workflow
    • First observedlegal_management
    • First observednlp_management
    • First observedsearch_management
    • First observedsystem_management
    • First observedtorrent_management
    • First observedworkflow_management

TDQS

B3.1/5.0
Disambiguation2/5

The tools have distinct names but their scopes heavily overlap. torrent_management, workflow_management, and agentic_rtorrent_workflow all appear to handle multi-step torrent operations, making it unclear which tool should be selected for a given task. search_management and nlp_management also blur boundaries since NLP is used for search commands.

Naming Consistency4/5

All tool names follow a consistent underscore-separated pattern with a common suffix (management or workflow). While the suffixes vary between 'management' and 'workflow', the naming is predictable and uniform in style, with minor deviations in the agentic_rtorrent_workflow name.

Tool Count4/5

The server has 7 tools, which is within a reasonable range. However, each tool is a portmanteau consolidating many operations, so the effective surface area is much larger. The count is appropriate given the deliberate design to avoid tool explosion, though it might feel slightly low for the broad scope covered.

Completeness4/5

The tools cover major domains: torrent management, search, NLP, legal compliance, system operations, and workflows. The 'comprehensive' descriptions suggest a full range of operations, but the lack of specific operation lists makes it hard to verify. There are no obvious dead ends, but the vagueness could hide gaps.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for managing a media server stack (Plex, Radarr, Overseerr, Bazarr, Prowlarr, Trakt.tv) using natural language to browse, request, and discover content.
    12
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    MCP server for controlling rTorrent through ruTorrent's httprpc plugin, enabling torrent management (list/add/remove/start/stop), label/priority management, data movement, and global throttle settings from any MCP client.
    13
    2
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that replicates Sonarr/Radarr/Lidarr functionality driven by an LLM, enabling automated torrent management for TV shows and movies.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that enables local LLMs to manage a home media stack including Radarr, Sonarr, Prowlarr, and others.
    MIT

Latest Blog Posts

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/sandraschi/rtorrent-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server