Skip to main content
Glama
Lqueed

rutracker_mcp

by Lqueed

rutracker_mcp

用于 RuTracker 的 MCP 服务器 — 直接从 Claude(Desktop / Code / API)以及任何兼容 MCP 的客户端搜索资源并下载 .torrent 文件。

⚠️ 这是一个分支。 基于 CarrySauce/rutracker-mcp-server(而它又是 notnooblord/rutracker-mcp-server 的分支),使用 FastMCP + py-rutracker-client。原始的 MCP 服务器(server.py)和工具集保持不变。此分支增加了绕过封锁以从俄罗斯联邦访问的功能。

为什么有这个分支

原版通过普通的 POST 登录 login.php。在俄罗斯环境下这行不通:

  1. Cloudflare Managed Challenge。 RuTracker 受到 Cloudflare 反机器人检查的保护;简单的 HTTP 客户端(aiohttp)无法通过,会收到 403

  2. 俄罗斯联邦通信监管局封锁 + cf_clearance 绑定 IP。 该网站在俄罗斯供应商处被封锁,而 Cloudflare 令牌绑定到 IP 和 User-Agent。

新增内容

文件

用途

cookie_auth.py

CookieRuTrackerClient通过 cookie 登录(绕过 Cloudflare)+ 将套接字绑定到 VPN 适配器(强制通过 VPN 而非俄罗斯供应商出口)

get_cookies_pr.py

通过真正的 Chrome 配合 patchright 获取 cookie(bb_session + cf_clearance)——隐身浏览器可在纯净 VPN IP 上通过 Cloudflare

test_cookie.py

检查“cookie 登录 + 搜索”

更多详情请参阅 docs/USER_GUIDE_RU.md(面向人类)和 AGENTS.md(面向 AI 代理)。

Related MCP server: RuTracker MCP Server

工作原理

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 валиден

要求

  • Python 3.13+

  • RuTracker 账户

  • 带 TAP 适配器的 VPN(已在 ZoogVPN 上测试)。从俄罗斯联邦访问时必须使用。

  • Google Chrome(用于通过 patchright 获取 cookie)

快速开始

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"

连接到 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

空的 HTTP_PROXY/HTTPS_PROXY — 防止 python 通过可能的系统代理访问。

MCP 工具

工具

描述

search_torrents

按关键词在页面上搜索(50 条结果),包含 magnet 链接

search_all_pages

并行搜索多个页面

get_torrent_info

资源的完整描述(质量、编码、帖子文本、magnet)

download_torrent

topic_id 下载 .torrent(MCP 附件)

get_topic_url

topic_id 获取主题 URL 和直接下载 URL

服务器只提供 .torrent 和 magnet 链接,不提供内容本身 — 下载请使用 BitTorrent 客户端(qBittorrent、Transmission)。

配置 VPN 绑定

客户端会自动查找名称包含 zoog 的适配器。可通过以下方式覆盖:

  • RUTRACKER_VPN_ADAPTER — 适配器名称的子串(默认 zoog);

  • RUTRACKER_BIND_IP — 用于套接字绑定的显式 IP。

如果两者均未设置且未找到适配器 — 绑定将被禁用(python 将走常规路由)。

安全性

.envcookies.json.chrome-profile/ 包含凭据/会话,已从 git 中排除.gitignore)。请勿提交它们。

致谢 / 许可证

原始 MCP 服务器和库 — CarrySaucenotnooblord。许可证继承自原始项目。

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