lutris-source-mcp
lutris-source-mcp
MCP-конвейер источников для lutris-mcp.
Замыкает цикл поиск -> загрузка -> установка: выполняет поиск в Prowlarr, передает задачу в qBittorrent, опрашивает состояние до завершения, классифицирует полученное дерево файлов и возвращает путь, который install_from_yaml или install_from_directory из lutris-mcp используют напрямую.
Инструменты
Инструмент | Что делает |
| Композитный инструмент. Поиск → загрузка → опрос → классификация → возврат пути. mutates: true |
| Прерывает текущую загрузку. mutates: true |
| Удаляет из qBittorrent без удаления файлов с диска. mutates: true |
| Проверяет доступность Prowlarr + qBittorrent; выводит настроенные индексаторы. mutates: false |
| Записывает |
Ранжирование по нескольким трекерам
Prowlarr объединяет публичные (1337x, TPB и т.д.) и приватные (Gazelle: RED, OPS, GGn) трекеры в одном поиске. Композитный инструмент ранжирует их по следующему ключу:
(indexer_priority, # 1 = highest, 50 = lowest
freeleech_first if freeleech_only else 0,
-seeders,
size_bytes) # smaller wins as tiebreakindexer_priority берется из поля priority индексатора Prowlarr — установите его в интерфейсе Prowlarr для каждого трекера (например, приватные = 1, публичные = 25). MCP учитывает это значение, а не создает отдельный рейтинг доверия.
Гигиена Gazelle
Установите freeleech_only=True (или policy.freeleech_only = true в TOML), чтобы отсеивать результаты, не являющиеся freeleech, из индексаторов Gazelle перед ранжированием. Публичные результаты проходят без изменений (там понятие freeleech не имеет смысла). Аутентификация остается в интерфейсе Prowlarr; MCP никогда не видит учетные данные Gazelle.
Обнаружение зависаний
Каждый опрос выводит в stdout сигнал активности:
[prepare_install_source] deadbeef dl=12345/100000 (12.3%) peers=8 rate=215.4KiB/s elapsed=14sЕсли объем downloaded не увеличивается в течение stall_timeout_seconds (по умолчанию 5 минут), инструмент возвращает {ok: false, reason: "stalled"}, чтобы агент мог выбрать другого кандидата.
Конфигурация
~/.config/lutris-source-mcp/config.toml:
[prowlarr]
base_url = "http://localhost:9696"
api_key = "..."
[qbittorrent]
base_url = "http://localhost:8080"
username = "admin"
password = "..."
download_dir = "/mnt/games/Downloads"
[policy]
blocklist = ["fitgirl"]
allow_indexers = []
max_size_gb = 50
freeleech_only = false
min_seeders = 1Для каждого ключа предусмотрена возможность переопределения через переменную окружения LUTRIS_SOURCE_MCP_<SECTION>_<KEY> (например, LUTRIS_SOURCE_MCP_PROWLARR_API_KEY, LUTRIS_SOURCE_MCP_POLICY_FREELEECH_ONLY).
Сопутствующие инструменты
Для проверки Prowlarr/qBittorrent в режиме только для чтения установите jmagar/prowlarr-mcp и pickpppcc/qbittorrent-mcp. Три небольших специализированных сервера, без дублирования функций.
Лицензия
MIT.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Fleet discovery for the cyanheads MCP ecosystem — semantic search + install snippets.
Turn a GitHub repo or docs site into agent-ready context: pack it or search it, over MCP.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
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/revelri/lutris-source-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server