Skip to main content
Glama
qBittorrent MCP Server

qBittorrent MCP Server

qBittorrent MCP Server

An MCP (Model Context Protocol) server that connects to qBittorrent's Web API to search and download torrents.

Features

  • Search Torrents: Search for torrents using qBittorrent's search plugins

  • Download Torrents: Add torrents by URL or magnet link

  • Manage Torrents: Get info, pause, resume, and delete torrents

  • List Plugins: View available search plugins

Related MCP server: Transmission MCP Server

Prerequisites

  1. qBittorrent with Web UI enabled

    • Download from qbittorrent.org

    • Enable Web UI in qBittorrent: Tools > Options > Web UI

    • Note your username, password, and port (default: 8080)

  2. Search Plugins (for search functionality)

    • In qBittorrent: View > Search Engine

    • Click "Search plugins..." at bottom right

    • Install desired search plugins

Installation

  1. Open qbittorent and go into Options -> Webui -> Enable web interface, create login and set it up

  2. Install qbittorent search plugins

  3. Clone this repository:

git clone <repository-url>
cd qbit-mcp
  1. Install dependencies:

pip install uv
  1. Configure environment variables:

cp .env.example .env

Edit .env with your qBittorrent credentials:

QBITTORRENT_HOST=http://localhost:8080
QBITTORRENT_USERNAME=admin
QBITTORRENT_PASSWORD=your_password

Usage

Running the MCP Server

In witsy, click on the AC plug on the left panel, add a new server.

type: stdio

label: qbit-mcp

command: uv

arguments: run --with fastmcp --with qbittorrent-api --with python-dotenv fastmcp run C:\directy\to\qbit-mcp\main.py

Open a new Chat, click on the + sign and enable the qbit-mcp server.

Ask the LLM to download a torrent for you.

Available Tools

search_torrents

Search for torrents using qBittorrent's search plugins.

Parameters:

  • query (string, required): Search query

  • plugins (string, optional): Plugin names or "all" (default: "all")

  • category (string, optional): Filter by category (default: "all")

Example:

Search for "ubuntu 24.04" torrents

download_torrent

Download a torrent by URL or magnet link.

Parameters:

  • url (string, required): Torrent URL or magnet link

  • save_path (string, optional): Directory to save the torrent

  • category (string, optional): Category to assign

  • tags (string, optional): Comma-separated tags

  • paused (boolean, optional): Start paused (default: false)

Example:

Download torrent from magnet:?xt=urn:btih:...

get_torrent_info

Get information about torrents in qBittorrent.

Parameters:

  • torrent_hash (string, optional): Specific torrent hash (returns all if not provided)

Example:

Show all torrents currently downloading

list_search_plugins

List all available search plugins.

Example:

What search plugins are available?

pause_torrent

Pause a torrent.

Parameters:

  • torrent_hash (string, required): Hash of the torrent

resume_torrent

Resume a paused torrent.

Parameters:

  • torrent_hash (string, required): Hash of the torrent

delete_torrent

Delete a torrent from qBittorrent.

Parameters:

  • torrent_hash (string, required): Hash of the torrent

  • delete_files (boolean, optional): Also delete files (default: false)

Troubleshooting

Connection Issues

  • Verify qBittorrent Web UI is enabled and running

  • Check that the host, port, username, and password are correct

  • Ensure no firewall is blocking the connection

Search Not Working

  • Install search plugins in qBittorrent's Search Engine

  • Verify plugins are enabled

  • Some plugins may require updating

Authentication Failed

  • Check your username and password in .env

  • Default credentials are usually admin/adminadmin

  • You can change these in qBittorrent's Web UI settings

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Available Tools

7 tools
delete_torrentB

Delete a torrent from qBittorrent.

Args: torrent_hash: Hash of the torrent to delete delete_files: Also delete downloaded files (default: False)

Returns: Status message

Inputs: torrent_hash (required), delete_files. Returns: object

download_torrentB

Download a torrent by URL or magnet link.

Args: url: Torrent URL or magnet link save_path: Directory to save the torrent (optional) category: Category to assign to the torrent (optional) tags: Comma-separated tags to assign (optional) paused: Start torrent in paused state (default: False)

Returns: Status information about the download

Inputs: url (required), category, paused, save_path, +1 more. Returns: object

get_torrent_infoB

Get information about torrents in qBittorrent.

Args: torrent_hash: Specific torrent hash to get info for (optional, returns all if not provided)

Returns: List of torrent information

Inputs: torrent_hash. Returns: result

list_search_pluginsB

List all available search plugins in qBittorrent.

Returns: List of search plugins with their status

Inputs: no named parameters. Returns: result

pause_torrentC

Pause a torrent.

Args: torrent_hash: Hash of the torrent to pause

Returns: Status message

Inputs: torrent_hash (required). Returns: object

resume_torrentB

Resume a paused torrent.

Args: torrent_hash: Hash of the torrent to resume

Returns: Status message

Inputs: torrent_hash (required). Returns: object

search_torrentsC

Search for torrents using qBittorrent's search plugins.

Args: query: Search query string plugins: Comma-separated list of plugin names or "all" for all enabled plugins category: Filter by category (all, movies, tv, music, games, anime, software, pictures, books)

Returns: List of search results with torrent information

Inputs: query (required), category, plugins. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: delete_torrent removes torrents, download_torrent adds new torrents, get_torrent_info retrieves status, list_search_plugins shows available plugins, pause_torrent and resume_torrent control torrent state, and search_torrents finds new torrents. There is no overlap or ambiguity between these functions.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case (e.g., delete_torrent, download_torrent, get_torrent_info). The naming is predictable and readable throughout the set, with no deviations or mixed conventions.

    Tool Count5/5

    With 7 tools, the server is well-scoped for managing torrents in qBittorrent. It covers core operations like adding, removing, controlling, and querying torrents, plus search functionality, without being overly sparse or bloated.

    Completeness4/5

    The tool set provides comprehensive coverage for basic torrent management, including CRUD-like operations (download, delete, get info) and state control (pause/resume). A minor gap is the lack of tools for managing torrent properties (e.g., setting priorities, moving files) or categories/tags directly, but core workflows are well-supported.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      A service that provides programmatic access to qBittorrent's WebUI API, enabling management of torrents, trackers, tags, speed controls, and system information through natural language.
      29
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides tools for interacting with the Transmission BitTorrent client via natural language, enabling users to manage torrents, configure download settings, and monitor download activity.
      3
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      MCP server exposing qBittorrent's WebUI API v2 as tools, enabling LLMs to manage torrents, categories, tags, RSS feeds, search plugins, and application settings.
      90
      3
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables control of a qBittorrent instance via its WebUI API, supporting torrent management, category management, and transfer information with cookie-session authentication.
      14
      83 npm
      1
      MIT