Connects to qBittorrent's Web API to search for torrents using search plugins, download torrents via URL or magnet links, and manage existing torrents (pause, resume, delete, get info).
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
Prerequisites
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)
Search Plugins (for search functionality)
In qBittorrent:
View > Search Engine
Click "Search plugins..." at bottom right
Install desired search plugins
Installation
Open qbittorent and go into Options -> Webui -> Enable web interface, create login and set it up
Install qbittorent search plugins
Clone this repository:
Install dependencies:
Configure environment variables:
Edit .env
with your qBittorrent credentials:
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 queryplugins
(string, optional): Plugin names or "all" (default: "all")category
(string, optional): Filter by category (default: "all")
Example:
download_torrent
Download a torrent by URL or magnet link.
Parameters:
url
(string, required): Torrent URL or magnet linksave_path
(string, optional): Directory to save the torrentcategory
(string, optional): Category to assigntags
(string, optional): Comma-separated tagspaused
(boolean, optional): Start paused (default: false)
Example:
get_torrent_info
Get information about torrents in qBittorrent.
Parameters:
torrent_hash
(string, optional): Specific torrent hash (returns all if not provided)
Example:
list_search_plugins
List all available search plugins.
Example:
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 torrentdelete_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.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Enables interaction with qBittorrent through its Web API to search for torrents using search plugins and manage downloads. Supports torrent searching, downloading via URLs/magnet links, and torrent management operations like pause, resume, and delete.