qbittorrent-readonly-mcp
qBittorrent Read-only MCP
Это независимо поддерживаемый проект qBittorrent Read-only MCP, который оборачивает запросы к qBittorrent Web API в нативные stdio MCP-инструменты, чтобы AI-клиенты могли напрямую выполнять диагностику в реальном времени.
Модель безопасности
Поддерживается только
stdio, сетевые порты не прослушиваются.Адрес qBittorrent и API Key читаются только из окружения или внешнего секретного файла; параметры MCP-инструментов не могут переопределить цель подключения.
Клиенту разрешены только фиксированные GET endpoint'ы; нет универсальных инструментов request, URL или endpoint.
Не регистрируются пишущие инструменты для добавления, паузы, возобновления, проверки, удаления, перемещения, изменения трекера, изменения настроек.
Полный URL трекера, passkey, magnet, Cookie и данные аутентификации не попадают в результаты инструментов.
Сам qBittorrent API Key по-прежнему обладает полными правами Web API; режим только для чтения гарантируется двухуровневым allowlist'ом и тестами.
Этот MCP не выполняет рекурсивное сканирование файловой системы; его область ответственности ограничена запросами к qBittorrent в реальном времени.
Related MCP server: truenas-mcp
Инструменты
get_health_summary: версия, скорости, статусы торрентов и сводка исключений.list_torrents: фильтрация торрентов по статусу, категории, минимальному размеру, количеству дней без активности.get_torrent_details: получение безопасных полей, файлов и hostname трекеров по префиксу Info Hash длиной не менее 8 символов.list_problem_torrents: список торрентов сmissingFiles, ошибками и незавершённых зависших торрентов.analyze_largest_torrents: анализ Top N торрентов по логическому размеру.
Требования к окружению
Python 3.10+
uvВо внешнем секретном файле уже есть:
QBIT_URLQBIT_API_KEY
По умолчанию чтение происходит из окружения процесса. Также можно просто передать путь к секретному файлу:
export QBIT_MCP_ENV_FILE="/path/to/secrets/nas-audit.env"Не копируйте Key в этот каталог или в конфигурацию Codex.
Установка и тестирование
cd /path/to/qbittorrent-readonly-mcp
uv sync
uv run pytestНастоящий read-only smoke test (выводит только имена инструментов и результаты проверки десенсибилизации):
uv run python scripts/live_smoke.py \
--env-file /path/to/secrets/nas-audit.envЛокальный запуск:
QBIT_MCP_ENV_FILE="/path/to/secrets/nas-audit.env" \
uv run qbittorrent-readonly-mcpПосле запуска служба использует stdin/stdout для передачи MCP-протокола; обычное интерактивное приглашение не отображается.
Конфигурация Codex
Codex поддерживает настройку локального STDIO MCP в .codex/config.toml для доверенных проектов. Ниже приведён пример конфигурации; здесь передаётся только путь к секретному файлу, API Key не записывается в конфигурацию. Фактический путь должен поддерживаться хост-проектом, использующим этот MCP:
[mcp_servers.qbittorrent_readonly]
command = "/path/to/qbittorrent-readonly-mcp/.venv/bin/qbittorrent-readonly-mcp"
args = []
cwd = "/path/to/qbittorrent-readonly-mcp"
enabled = true
required = false
startup_timeout_sec = 20
tool_timeout_sec = 60
default_tools_approval_mode = "auto"
enabled_tools = [
"get_health_summary",
"list_torrents",
"get_torrent_details",
"list_problem_torrents",
"analyze_largest_torrents",
]
[mcp_servers.qbittorrent_readonly.env]
QBIT_MCP_ENV_FILE = "/path/to/secrets/nas-audit.env"Этот репозиторий не хранит конфигурацию Codex и не хранит никаких учётных данных. Вызывающей стороне нужно только сослаться на команду запуска этого проекта и передать путь к секретному файлу вне проекта.
Способ настройки Codex MCP описан в официальной документации OpenAI; Python-реализация использует официальный Python SDK Model Context Protocol.
Разработка
Основные уровни:
MCP tools
-> ReadOnlyQbitService(筛选、聚合、固定输出)
-> QbitReadOnlyClient(固定 GET allowlist)
-> qBittorrent Web APIЛюбой новый endpoint должен сначала быть добавлен в READ_ONLY_ENDPOINTS, а также должны быть добавлены тесты для случаев «отказ не-белого списка» и «чувствительные поля не утекают».
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityBmaintenanceRead-only MCP server for self-hosted Telegram access via Telethon. Enables reading messages, chats, and media but disallows any write operations.10
- Alicense-qualityAmaintenanceRead-only MCP server for TrueNAS SCALE 25.10+ that connects via JSON-RPC 2.0 WebSocket API, providing tools to inspect storage, shares, services, system info, jobs, and alerts.24MIT
- Alicense-qualityCmaintenanceRead-only MCP server that monitors a Bitcoin Core full node via JSON-RPC, providing tools to check node status, network info, mempool, and peer information.MIT
- Alicense-qualityBmaintenanceA locally-run, read-only MCP server that lets an LLM client diagnose a self-hosted *arr media stack by aggregating across Sonarr, Radarr, Prowlarr, qBittorrent, Tdarr, and Profilarr.Apache 2.0
Related MCP Connectors
Read-only DERO blockchain MCP: 33 tools (12 composites) incl. TELA discovery + bundled docs.
Read-only XRP Ledger MCP tools with proof-annotation envelopes and signed daily snapshots.
Read-only MCP server for Muovi, Argentina's trust-first local services marketplace (6 tools).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/XiaotaoGuo/qbittorrent-readonly-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server