Skip to main content
Glama
Lqueed

rutracker_mcp

by Lqueed

rutracker_mcp

RuTracker用MCPサーバーRuTracker のトレント配布を検索し、Claude(Desktop / Code / API)やMCP互換クライアントから直接 .torrent ファイルをダウンロードできます。

⚠️ これはフォークです。 元となったのは CarrySauce/rutracker-mcp-server(さらにその元は notnooblord/rutracker-mcp-server のフォーク)、FastMCP + py-rutracker-client です。元のMCPサーバー(server.py)とツール群は変更なしで保持されています。このフォークは ロシア国内からのアクセスに対するブロック回避 を追加します。

フォークの理由

元の実装は login.php への通常のPOSTでログインします。ロシアの環境ではこれが機能しません。

  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

bb_session + cf_clearance のcookieを、patchright による本物のChromeで取得 — ステルスブラウザーがクリーンな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アダプター対応VPNZoogVPNでテスト済み)。ロシア国内からは必須。

  • 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