arr-mcps

qbittorrent-mcp

Community arr-mcps
Updated

Model Context Protocol for qbittorrent/qBittorrent

qbittorrent-mcp

Part of the arr-mcps collection.MCP server exposing qBittorrent'sWebUI API v2 (qBittorrent >= 5.0) as tools, so an LLM can manage your torrents:list, inspect properties/trackers/files, add/pause/resume/delete torrents,manage categories, tags, RSS feeds and search plugins, and tweak applicationsettings.

Built with FastMCP.

Enabling the API on your qBittorrent server

The WebUI API is enabled by default with the WebUI. You need WebUI accessenabled (Tools > Preferences > WebUI) and one of two auth methods:

  • API key (qBittorrent >= v5.2.0 / WebAPI v2.14.1): generate one inPreferences > WebUI > API Key (format qbt_<28 chars>). This is therecommended, stateless option.
  • Username/password: the WebUI login you'd use in the browser. Works on allversions.

Install

Download a wheel from the latest releaseand install it as a uv tool (no repo checkout needed):

uv tool install qbittorrent_mcp-*.whl

This puts a qbittorrent-mcp command on your PATH. Register it with Claude Code:

claude mcp add qbittorrent \
  --env QBITTORRENT_URL=http://localhost:8080 \
  --env QBITTORRENT_API_KEY=<key> \
  -- qbittorrent-mcp

Or with username/password:

claude mcp add qbittorrent \
  --env QBITTORRENT_URL=http://localhost:8080 \
  --env QBITTORRENT_USERNAME=admin \
  --env QBITTORRENT_PASSWORD=<password> \
  -- qbittorrent-mcp

From source

uv sync
cp .env.example .env   # fill in QBITTORRENT_URL and an auth method
claude mcp add qbittorrent \
  --env QBITTORRENT_URL=http://localhost:8080 \
  --env QBITTORRENT_API_KEY=<key> \
  -- uv run --directory /path/to/qbittorrent-mcp qbittorrent-mcp

Config

Env var Required Default
QBITTORRENT_URL yes -
QBITTORRENT_API_KEY one of* none (preferred)
QBITTORRENT_USERNAME one of* none (fall-back)
QBITTORRENT_PASSWORD one of* none (fall-back)

* You must set either QBITTORRENT_API_KEY or both QBITTORRENT_USERNAME andQBITTORRENT_PASSWORD. If QBITTORRENT_API_KEY is set it wins; otherwise theserver logs in with the username/password on first use and reuses the sessioncookie, re-authenticating automatically if it expires.

Tools

10 resource-scoped tools, each covering multiple qBittorrent WebUIAPI v2 endpoints (90 total) via an operation parameter. Call a toolwith operation set to one of its listed operations and an argumentsdict matching that operation's parameters โ€” the tool's own description(visible to your MCP client) lists every operation, its signature, and aone-line doc. This keeps the full API surface available while costing afraction of the context budget of registering all 90 endpoints asseparate tools.

Tool Operations Kind
qbittorrent_torrents 22 reads + writes
qbittorrent_torrent_limits 14 reads + writes
qbittorrent_rss 12 reads + writes
qbittorrent_categories_tags 10 reads + writes
qbittorrent_search 10 reads + writes
qbittorrent_application 9 reads + writes
qbittorrent_transfer 8 reads + writes
qbittorrent_log 2 read-only
qbittorrent_sync 2 read-only
qbittorrent_auth 1 reads + writes

Example: qbittorrent_torrents(operation="qbittorrent_torrents_pause", arguments={"hashes": "abc123"}).Endpoint-level naming (qbittorrent_<verb>_<resource>) is preserved as theoperation value, so the full endpoint list is still discoverable from eachgroup tool's description at runtime.

Development

make help  # list all commands
Command Does
make sync uv sync
make test Offline tests - one per endpoint, mocked HTTP
make test-integration Tests against the live instance (needs QBITTORRENT_URL + auth env)
make build Build wheel + sdist into dist/
make bump-patch / bump-minor / bump-major Bump the version in pyproject.toml + uv.lock
make clean Remove build artifacts

The release workflow (.github/workflows/release.yml) builds and publishes toReleases whenever a v*tag is pushed - so the usual flow is make bump-patch, commit, then tag andpush.

The integration suite is read-only and never modifies your qBittorrent instance.

MCP Server ยท Populars

MCP Server ยท New

    mixelpixx

    Konnect *BETA Release

    AI-assisted PCB design for KiCAD 10. Native KiCAD plugin โ€” a single Rust binary exposing 171 schematic, layout, routing, design-review, and manufacturing tools to Claude, or the LLM of your choosing

    Community mixelpixx
    mixelpixx

    Nimrod

    Web research for Claude over MCP: quality-scored Google search, clean extraction, deep research. Hosted connector for claude.ai/Desktop/Code + Nimrod Desktop toolkit (skills, agent, hooks).

    Community mixelpixx
    Minima-AI-Inc

    minima

    On-premises conversational RAG with configurable containers

    Community Minima-AI-Inc
    Minima-AI-Inc

    minima MCP server

    On-premises conversational RAG with configurable containers

    Community Minima-AI-Inc
    eas4ai

    Code Graph MCP Server

    MCP Server for code intelligence

    Community eas4ai