nicholaswilde/qbittorrent-mcp-rs

By nicholaswilde

Updated about 2 months ago

🧲 A qBittorrent MCP server written in Rust 🤖

Image
Integration & delivery
API management
0

2.3K

nicholaswilde/qbittorrent-mcp-rs repository overview

qBittorrent MCP Server (Rust)

A high-performance Model Context Protocol (MCP) (https://modelcontextprotocol.io/) server for qBittorrent (https://www.qbittorrent.org/), written in Rust. This image allows you to empower AI agents (like Claude Desktop) to interact with and manage your qBittorrent instance using natural language.

🚀 Features

  • Full Torrent Management: Add, pause, resume, delete, and recheck torrents.
  • Advanced Search: Use qBittorrent's search engine plugins directly through the AI.
  • Global Speed Control: Monitor speeds and set global/alternative limits.
  • Organization: Manage categories, tags, and RSS feeds.
  • Dual Mode: Supports both Stdio (for local CLI integration) and HTTP/SSE (for remote/distributed setups).
  • Lazy Mode: Optimize token usage by hiding advanced tools until they are needed.

🐳 Quick Start

Docker Run (HTTP Mode)
docker run -d \
  --name qbittorrent-mcp \
  -e QBITTORRENT_HOST="http://your-qbittorrent-ip:8080" \
  -e QBITTORRENT_USERNAME="admin" \
  -e QBITTORRENT_PASSWORD="yourpassword" \
  -e SERVER_MODE="http" \
  -p 3000:3000 \
  nicholaswilde/qbittorrent-mcp-rs:latest
Docker Compose
services:
  qbittorrent-mcp:
    image: nicholaswilde/qbittorrent-mcp-rs:latest
    container_name: qbittorrent-mcp
    environment:
      - QBITTORRENT_HOST=http://192.168.1.100:8080
      - QBITTORRENT_USERNAME=admin
      - QBITTORRENT_PASSWORD=adminadmin
      - SERVER_MODE=stdio
    restart: unless-stopped

⚙️ Configuration

Environment VariableDescriptionDefault
QBITTORRENT_HOSTWeb UI host (e.g., http://192.168.1.10)localhost
QBITTORRENT_PORTWeb UI port80 (http) / 443 (https)
QBITTORRENT_USERNAMEWeb UI usernameadmin
QBITTORRENT_PASSWORDWeb UI passwordadminadmin
SERVER_MODEstdio or httpstdio
LAZY_MODEHide complex tools initially (true/false)false
HTTP_AUTH_TOKENBearer token for HTTP modeNone
LOG_LEVELerror, warn, info, debug, traceinfo

🤖 Usage with Claude Desktop

To use this with Claude Desktop in Stdio mode, add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "qbittorrent": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "QBITTORRENT_HOST=http://192.168.1.100:8080",
        "-e", "QBITTORRENT_USERNAME=admin",
        "-e", "QBITTORRENT_PASSWORD=adminadmin",
        "nicholaswilde/qbittorrent-mcp-rs:latest"
      ]
    }
  }
}

📄 License

This project is licensed under the Apache License 2.0 (https://github.com/nicholaswilde/qbittorrent-mcp-rs/blob/main/LICENSE).

Tag summary

Content type

Image

Digest

sha256:328b01cf0

Size

11.7 MB

Last updated

about 2 months ago

docker pull nicholaswilde/qbittorrent-mcp-rs