M
manueltarouca/qbt-kit
A client, CLI and MCP server for the qBittorrent WebUI API. All 123 endpoints, checked against qBittorrent's source.
SECURITY.md ✓
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Install & config
Client config (built from the install command this repo gives)
{
"mcpServers": {
"manueltarouca-qbt-kit": {
"command": "uvx",
"args": ["qbt-mcp"]
}
}
}Parsed from the README we fetched on 2026-10-26; we have not executed it.
command/args come from the install command the repository states. When it is ambiguous, the project README wins.
VS Code (.vscode/mcp.json - the key is servers)
{
"servers": {
"manueltarouca-qbt-kit": {
"command": "uvx",
"args": ["qbt-mcp"]
}
}
}Same server, but VS Code keeps it under <code>servers</code>.
Claude Code (command line)
claude mcp add --transport stdio manueltarouca-qbt-kit -- uvx qbt-mcp
Claude Code does not read a config file; add the server with this command.
Key names differ by client: Clients & CLI
- Star count
- 1 ★ · manueltarouca/qbt-kit · read from the GitHub search API · (checked 2026-11-13 20:00:50)
- Source
- collected from the punkpeye/awesome-mcp-servers list · type: MCP server
- Harvest history
- first seen 2026-10-23 · last seen 2026-11-14 · seen 26× · listed by 23 sources
- Score
- score 2,300 · 1 ★ · 23 sources · mcp
- Install
uvx qbt-mcp
FAQ (answers come from our records)
How do I install it?
The repository provides this install command:
uvx qbt-mcp. It comes from the repository itself; we cannot guarantee it runs as-is in your client.Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository
manueltarouca/qbt-kit;first catalogued 2026-10-23;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.# qbt-kit
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A complete, typed Python client for the qBittorrent WebUI API — with a CLI that
covers every endpoint one-to-one, and an MCP server so coding agents can drive
it without deleting your data.
$ qbt coverage
qbt-kit coverage — target release-5.2.3
scope n spec progress
torrents 61 61 ████████████████████ 61/61
app 16 16 ████████████████████ 16/16
rss 14 14 ████████████████████ 14/14
search 11 11 ████████████████████ 11/11
transfer 9 9 ████████████████████ 9/9
torrentcreator 4 4 ████████████████████ 4/4
auth 2 2 ████████████████████ 2/2
clientdata 2 2 ████████████████████ 2/2
log 2 2 ████████████████████ 2/2
sync 2 2 ████████████████████ 2/2
TOTAL 123 123 ████████████████████ 100.0%
The ledger is generated from qBittorrent's own source, and CI fails if it slips.
## Highlights
All 123 endpoints of qBittorrent 5.2.3, each one a spec entry that
generates the client method, the CLI command and the docs together.
A verifiable coverage claim. The endpoint list is extracted from the
qBittorrent C++ source per release tag and committed, so CI fails both when
the spec misses an endpoint and when it invents one.
An MCP server with 15 tools — 13 task-shaped, plus qbtcall and
listendpoints — and safety gates that hold even through the escape hatch.
Compatibility measured, not assumed — tested against real 4.6, 5.0, 5.1
and 5.2 containers, with a rename table so torrents/stop resolves to
pause on servers that predate the rename.
Typed throughout, no runtime dependency beyond httpx and typer.
That coverage claim is worth a sentence of context. The wiki page most clients
are written against documents 78 endpoints. qBittorrent 5.2.3 ships
123, and two whole scopes — torrentcreator and clientdata — appear in
no wiki page at all.
## Installation
PyPI's qbt name belongs to an unrelated package, so the CLI is run via
--from:
sh
uvx --from qbt-kit qbt doctor
uvx --from "qbt-kit[mcp]" qbt-mcp --help # the server lives in the mcp extra
Both run via --from because the qbt name on PyPI belongs to an unrelated
package, and qbt-mcp is a script inside this one rather than a package of its
own — uvx qbt-mcp resolves to nothing.
Or add it to a project:
sh
uv add qbt-kit # library and CLI
uv add "qbt-kit[mcp]" # with the MCP server
### As a Claude Code plugin
This repository is also a plugin marketplace, so one line installs the MCP
server and the skill together:
/plugin install qbt-kit --marketplace manueltarouca/qbt-kit
The bundled MCP server runs from the plugin's own checkout, so it needs uv
but not a published package, and it always matches the version you installed.
Point it at your server with QBTURL, and see Configuration
for credentials.
## Quickstart
sh
qbt doctor # version, auth mode, endpoint availability
qbt torrents info --category tv # the API calls this info, not list
qbt torrents add --urls --category tv --auto-tmm
qbt health # swarm health across the queue
qbt coverage # the endpoint coverage ledger
qbt call torrents/pieceStates -p hash= # raw, reaches all 123
Scope commands mirror the API exactly — torrents info, not a friendlier
list — so anything you read in qBittorrent's own docs translates directly.
--json works everywhere, so every command composes with jq.
covers every endpoint one-to-one, and an MCP server so coding agents can drive
it without deleting your data.
$ qbt coverage
qbt-kit coverage — target release-5.2.3
scope n spec progress
torrents 61 61 ████████████████████ 61/61
app 16 16 ████████████████████ 16/16
rss 14 14 ████████████████████ 14/14
search 11 11 ████████████████████ 11/11
transfer 9 9 ████████████████████ 9/9
torrentcreator 4 4 ████████████████████ 4/4
auth 2 2 ████████████████████ 2/2
clientdata 2 2 ████████████████████ 2/2
log 2 2 ████████████████████ 2/2
sync 2 2 ████████████████████ 2/2
TOTAL 123 123 ████████████████████ 100.0%
The ledger is generated from qBittorrent's own source, and CI fails if it slips.
## Highlights
All 123 endpoints of qBittorrent 5.2.3, each one a spec entry that
generates the client method, the CLI command and the docs together.
A verifiable coverage claim. The endpoint list is extracted from the
qBittorrent C++ source per release tag and committed, so CI fails both when
the spec misses an endpoint and when it invents one.
An MCP server with 15 tools — 13 task-shaped, plus qbtcall and
listendpoints — and safety gates that hold even through the escape hatch.
Compatibility measured, not assumed — tested against real 4.6, 5.0, 5.1
and 5.2 containers, with a rename table so torrents/stop resolves to
pause on servers that predate the rename.
Typed throughout, no runtime dependency beyond httpx and typer.
That coverage claim is worth a sentence of context. The wiki page most clients
are written against documents 78 endpoints. qBittorrent 5.2.3 ships
123, and two whole scopes — torrentcreator and clientdata — appear in
no wiki page at all.
## Installation
PyPI's qbt name belongs to an unrelated package, so the CLI is run via
--from:
sh
uvx --from qbt-kit qbt doctor
uvx --from "qbt-kit[mcp]" qbt-mcp --help # the server lives in the mcp extra
Both run via --from because the qbt name on PyPI belongs to an unrelated
package, and qbt-mcp is a script inside this one rather than a package of its
own — uvx qbt-mcp resolves to nothing.
Or add it to a project:
sh
uv add qbt-kit # library and CLI
uv add "qbt-kit[mcp]" # with the MCP server
### As a Claude Code plugin
This repository is also a plugin marketplace, so one line installs the MCP
server and the skill together:
/plugin install qbt-kit --marketplace manueltarouca/qbt-kit
The bundled MCP server runs from the plugin's own checkout, so it needs uv
but not a published package, and it always matches the version you installed.
Point it at your server with QBTURL, and see Configuration
for credentials.
## Quickstart
sh
qbt doctor # version, auth mode, endpoint availability
qbt torrents info --category tv # the API calls this info, not list
qbt torrents add --urls --category tv --auto-tmm
qbt health # swarm health across the queue
qbt coverage # the endpoint coverage ledger
qbt call torrents/pieceStates -p hash= # raw, reaches all 123
Scope commands mirror the API exactly — torrents info, not a friendlier
list — so anything you read in qBittorrent's own docs translates directly.
--json works everywhere, so every command composes with jq.
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/manueltarouca-qbt-kit/)
- Source
- awesome · https://github.com/manueltarouca/qbt-kit
- Browse by field
- MCP servers
- Traction
- 1 ★
- Listed by
- 23 independent sources
- added
- today
- Security policy
- the repository has
SECURITY.mdat its root (we checked that the file exists, not what it says)
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.