Skip to main content
Glama
Lqueed

rutracker_mcp

by Lqueed

rutracker_mcp

Servidor MCP para RuTracker — búsqueda de torrents y descarga de archivos .torrent directamente desde Claude (Desktop / Code / API) y cualquier cliente compatible con MCP.

⚠️ Esto es un fork. Basado en CarrySauce/rutracker-mcp-server (que a su vez es un fork de notnooblord/rutracker-mcp-server), en FastMCP + py-rutracker-client. El servidor MCP original (server.py) y el conjunto de herramientas se conservan sin cambios. El fork añade evasión de bloqueos para acceso desde RF.

Por qué este fork

El original inicia sesión con un POST normal a login.php. En las condiciones rusas esto no funciona:

  1. Cloudflare Managed Challenge. RuTracker está protegido por la verificación anti-bot de Cloudflare; un cliente HTTP simple (aiohttp) no la supera y recibe 403.

  2. Bloqueo de RKN + vinculación de cf_clearance a IP. El sitio está bloqueado por los proveedores rusos, y el token de Cloudflare está vinculado a la IP y al User-Agent.

Qué se ha añadido

Archivo

Propósito

cookie_auth.py

CookieRuTrackerClient: inicio de sesión por cookie (evita Cloudflare) + bind del socket al adaptador VPN (salida forzada a través de VPN, no del proveedor ruso)

get_cookies_pr.py

Obtención de cookies (bb_session + cf_clearance) mediante Chrome real bajo patchright — navegador sigiloso que supera Cloudflare con IP VPN limpia

test_cookie.py

Verificación de «inicio de sesión por cookie + búsqueda»

Más detalles en docs/USER_GUIDE_RU.md (para personas) y AGENTS.md (para agentes de IA).

Related MCP server: RuTracker MCP Server

Cómo funciona

get_cookies_pr.py  --(patchright + настоящий Chrome через VPN)-->  проходит Cloudflare, логинится
                   --> cookies.json (bb_session, cf_clearance, User-Agent)

server.py (MCP) --> CookieRuTrackerClient:
                    • вливает cookies.json в aiohttp-сессию (без login.php)
                    • биндит сокет к IP TAP-адаптера VPN (тот же IP, что у Chrome)
                    • тот же User-Agent -> cf_clearance валиден

Requisitos

  • Python 3.13+

  • Cuenta de RuTracker

  • VPN con adaptador TAP (probado con ZoogVPN). Desde RF, es obligatorio.

  • Google Chrome (para obtener cookies mediante patchright)

Inicio rápido

git clone https://github.com/Lqueed/rutracker_mcp.git
cd rutracker_mcp
python -m venv .venv
.venv/Scripts/python -m pip install -r requirements.txt
.venv/Scripts/python -m pip install patchright psutil
.venv/Scripts/python -m patchright install chromium

cp .env.example .env          # вписать RUTRACKER_LOGIN и RUTRACKER_PASSWORD
# включить VPN, затем добыть cookie:
.venv/Scripts/python get_cookies_pr.py
# проверить:
.venv/Scripts/python test_cookie.py     # -> "УСПЕХ: получено результатов: N"

Conexión a Claude Code

claude mcp add rutracker --scope user \
  --env HTTP_PROXY= --env HTTPS_PROXY= \
  -- /abs/path/.venv/Scripts/python.exe /abs/path/server.py --transport stdio

Los HTTP_PROXY/HTTPS_PROXY vacíos son para que Python no pase por un posible proxy del sistema.

Herramientas MCP

Herramienta

Descripción

search_torrents

Búsqueda por palabras clave en la página (50 resultados), con enlaces magnet

search_all_pages

Búsqueda paralela en varias páginas

get_torrent_info

Descripción completa del torrent (calidad, códec, texto del post, magnet)

download_torrent

Descargar .torrent por topic_id (adjunto MCP)

get_topic_url

URL del tema y URL directa de descarga por topic_id

El servidor entrega solo .torrent y enlaces magnet, no el contenido en sí — para la descarga usa un cliente BitTorrent (qBittorrent, Transmission).

Configuración del bind VPN

El cliente busca automáticamente un adaptador cuyo nombre contenga zoog. Para sobrescribir:

  • RUTRACKER_VPN_ADAPTER — subcadena del nombre del adaptador (por defecto zoog);

  • RUTRACKER_BIND_IP — IP explícita para el bind del socket.

Si no se definen ambos y no se encuentra el adaptador, el bind se desactiva (Python usará la ruta normal).

Seguridad

.env, cookies.json, .chrome-profile/ contienen credenciales/sesión y están excluidos de git (.gitignore). No los subas al repositorio.

Agradecimientos / licencia

El servidor MCP original y la biblioteca son de CarrySauce, notnooblord. La licencia se hereda del proyecto original.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Allows users to search and browse torrents on rutracker.org, retrieving detailed metadata including magnet links and file lists. It automatically handles authentication by extracting session cookies from the Brave browser on macOS.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching and downloading torrents from YggTorrent via MCP tools such as search_torrents, get_torrent_details, get_magnet_link, and download_torrent_file.
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP server for rTorrent BitTorrent automation, enabling torrent management (add/list/pause/delete), multi-source searching (Nyaa, Pirate Bay, etc.), and post-processing workflows via natural language.
    7
    1
    MIT