Installation¶
qbittorrent-agent is a standard Python package and a prebuilt container image. Pick
the path that matches how you want to run it.
Requirements¶
- Python 3.11 – 3.14.
- A reachable qBittorrent WebUI (v2 API) — see Backing Platform to deploy one locally.
From PyPI (recommended)¶
Optional extras¶
The base install carries the MCP-server runtime via agent-utilities[mcp]. Install
the extra for what you need:
| Extra | Install | Pulls in |
|---|---|---|
agent |
pip install "qbittorrent-agent[agent]" |
Pydantic-AI agent + Logfire tracing (agent-utilities[agent,logfire]) |
all |
pip install "qbittorrent-agent[all]" |
The MCP server, the agent, and Logfire tracing |
test |
pip install "qbittorrent-agent[test]" |
pytest, pytest-asyncio, pytest-cov, pytest-xdist |
From source¶
git clone https://github.com/Knuckles-Team/qbittorrent-agent.git
cd qbittorrent-agent
pip install -e ".[all]" # editable install with every extra
With uv:
Prebuilt Docker image¶
A multi-stage, slim image is published on every release (entrypoint
qbittorrent-mcp):
docker pull knucklessg1/qbittorrent-agent:latest
docker run --rm -i \
-e QBITTORRENT_URL=http://your-qbittorrent:8080 \
-e QBITTORRENT_USERNAME=admin \
-e QBITTORRENT_PASSWORD=your_password \
knucklessg1/qbittorrent-agent:latest # stdio transport (default)
For an HTTP server with a published port, and to run the companion A2A agent, see Deployment.
Verify the install¶
qbittorrent-mcp --help
python -c "import qbittorrent_agent; print(qbittorrent_agent.QbittorrentApi)"
Next steps¶
- Deployment — run it as a long-lived MCP server and A2A agent behind Caddy + DNS.
- Usage — call the tools, the
QbittorrentApiclient, and the CLI. - Configuration — every environment variable.