Plex について
Plexは、Plexライブラリの確認、視聴状況やメディア詳細の取得に使えるMCPサーバーとCLIツールのセットです。TMDBやqBittorrentと連携して不足エピソードの確認やダウンロード管理を行い、LLMでメディアライブラリやダウンロードのワークフローを扱いたいユーザー向けです。
主な機能
- 01ライブラリとメディア詳細の確認
- 02視聴状況と進捗の追跡
- 03TMDBによる未所持エピソードの確認
- 04qBittorrentのダウンロードとRSSルール管理
活用シーン
- 01視聴中の番組と進捗の確認
- 02PlexとTMDBを照合して不足分を特定
- 03エピソードのダウンロードをqBittorrentに追加
- 04新着エピソードの自動ダウンロード用RSSルール設定
MCP 対応
MCPサーバーは、ライブラリ検索、エピソード情報、ダウンロード管理、RSS自動化のためのPlex、TMDB、qBittorrentツールをLLMに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
あらゆるLLMを、映画やテレビ番組をダウンロードするメディアマネージャーに変えるMCPのセットです。PlexライブラリとqBittorrentクライアントにアクセスできるため、所有しているコンテンツと欲しいコンテンツを把握できます。
セットアップ
最も簡単なセットアップ方法は、スキルを使うことです。
npx skills add konsumer/aitorrent
.env.exampleに記載されている環境変数を環境に設定すれば、準備完了です。
認証情報の設定:
cp .env.example .env
# Edit .env with your Plex URL and token
Plexトークン:https://app.plex.tv にサインインし、メディアアイテムをクリックして、三点メニューから「情報を取得」を選択します。左下の「XMLを表示」をクリックし、URLバーにあるX-Plex-Tokenの値をコピーしてください。
TMDB APIキー(任意):不足しているエピソードを見つけたり、ライブラリにない番組を検索したりする場合に使います。
- https://www.themoviedb.org で無料アカウントを作成します
- 設定 > API(https://www.themoviedb.org/settings/api)に移動します
- 「APIキーをリクエスト」をクリックします(まだの場合)
- 「開発者」を選択してフォームに入力します(アプリケーションの種類には「個人プロジェクト」を選択できます)
- 承認されたら、**APIキー(v3認証)**の値をコピーします(「API読み取りアクセストークン」ではありません)
.envにTMDB_API_KEY=your_key_hereを追加します
重要:「APIキー(v3認証)」欄の値を使用してください。これは32文字の16進数文字列です。「API読み取りアクセストークン」(「eyJ」で始まるJWT形式)は、このツールでは使用できません。
qBittorrent:Web UIを有効にしてqBittorrentが実行されていることを確認してください。デフォルトの認証情報はadmin/adminadminで、「ツール」>「オプション」>「Web UI」で設定されています。
ツール
CLIの使い方
インストールせずにuvxでCLIツールを直接実行できます。
# List your collection names
uvx --from aitorrent aitorrent-plex-cli list
# List all your shows (show/season/episode) in "TV Shows" collection
uvx --from aitorrent aitorrent-plex-cli list "TV Shows"
# List all your movies by collection in "Movies" collection
uvx --from aitorrent aitorrent-plex-cli list "Movies"
# List all your music by artist/album in "Music" collection
uvx --from aitorrent aitorrent-plex-cli list "Music"
# Show what you're currently watching (on-deck and in-progress shows with relative times)
uvx --from aitorrent aitorrent-plex-cli watching
watchingコマンドには、次の情報が表示されます。
- 視聴中:現在視聴しているエピソードや映画と、進捗率
- 視聴途中:視聴を途中まで進めているテレビ番組と、完了状況の統計および最後に視聴した時期(例:「2日前」)
TMDB CLI
tmdbinfo.pyスクリプトは、The Movie Databaseを検索します(TMDB APIキーが必要です)。
# Search for TV shows
uvx --from aitorrent aitorrent-tmdb-cli search-shows "Star Trek Lower Decks"
# Get detailed show information (seasons, episodes, air dates)
uvx --from aitorrent aitorrent-tmdb-cli show-details 85948
# Get specific season details
uvx --from aitorrent aitorrent-tmdb-cli season-details 85948 1
# Search for movies
uvx --from aitorrent aitorrent-tmdb-cli search-movies "The Matrix"
# Get detailed movie information
uvx --from aitorrent aitorrent-tmdb-cli movie-details 603
このツールは、Plexライブラリにない番組や映画を見つけたり、エピソードの放送日を調べたりするのに便利です。
qBittorrent CLI
qbtinfo.pyスクリプトは、トレントのダウンロードと自動化を管理します。
# List all torrents
uvx --from aitorrent aitorrent-qbt-cli list
# List only downloading torrents
uvx --from aitorrent aitorrent-qbt-cli list downloading
# Add a torrent by magnet link or URL
uvx --from aitorrent aitorrent-qbt-cli add "magnet:?xt=urn:btih:..." --path "/path/to/save" --category "TV Shows"
# List RSS feeds
uvx --from aitorrent aitorrent-qbt-cli rss list-feeds
# Add an RSS feed
uvx --from aitorrent aitorrent-qbt-cli rss add-feed "https://showrss.info/user/123456.rss?magnets=true&namespaces=true&name=null&quality=1080p" --folder "TV Shows"
# Refresh RSS feeds
uvx --from aitorrent aitorrent-qbt-cli rss refresh
# List RSS auto-download rules
uvx --from aitorrent aitorrent-qbt-cli rss list-rules
# Create RSS rule for a show (auto-downloads new episodes)
uvx --from aitorrent aitorrent-qbt-cli rss add-show "Star Trek: Strange New Worlds" --season 2 --quality 1080p --category "TV Shows" --feeds "TV Shows\ShowRSS"
# Attach an existing rule to specific feeds
uvx --from aitorrent aitorrent-qbt-cli rss attach-rule "Star Trek: Strange New Worlds S02" "TV Shows\ShowRSS,TV Shows\EZTV"
RSS自動ダウンロード機能は、RSSフィードに新しいエピソードが追加されると自動的にダウンロードします。現在放送中の番組を追いかけるのに最適です。重要:ルールを実行するには、特定のフィードに紐付ける必要があります。ルールの作成時に--feedsパラメーターを使うか、attach-ruleで既存のルールを紐付けてください。
MCPサーバーの使い方
同じ機能を、LLMで利用するためのMCP(Model Context Protocol)サーバーとしても使用できます。
LLMのMCP設定(~/.claude.json)に追加してください。
{
"mcpServers": {
"plex-info": {
"command": "uvx",
"args": ["--from", "aitorrent", "aitorrent-plex", "mcp"],
"env": {
"PLEX_URL": "http://localhost:32400",
"PLEX_TOKEN": "your_plex_token_here",
"TMDB_API_KEY": "your_tmdb_api_key_here"
}
},
"tmdb-info": {
"command": "uvx",
"args": ["--from", "aitorrent", "aitorrent-tmdb", "mcp"],
"env": {
"TMDB_API_KEY": "your_tmdb_api_key_here"
}
},
"qbt-info": {
"command": "uvx",
"args": ["--from", "aitorrent", "aitorrent-qbt", "mcp"],
"env": {
"QBT_URL": "http://localhost:8080",
"QBT_USERNAME": "admin",
"QBT_PASSWORD": "adminadmin"
}
}
}
}
Claude Codeでも同じ設定ができます。
claude mcp add plex-info --transport stdio \
--env PLEX_URL=http://localhost:32400 \
--env PLEX_TOKEN=your_plex_token_here \
--env TMDB_API_KEY=your_tmdb_api_key_here \
-- uvx --from aitorrent aitorrent-plex mcp
claude mcp add tmdb-info --transport stdio \
--env TMDB_API_KEY=your_tmdb_api_key_here \
-- uvx --from aitorrent aitorrent-tmdb mcp
claude mcp add qbt-info --transport stdio \
--env QBT_URL=http://localhost:8080 \
--env QBT_USERNAME=admin \
--env QBT_PASSWORD=adminadmin \
-- uvx --from aitorrent aitorrent-qbt mcp
LLMから次のツールを利用できます。
ライブラリとコンテンツ:
plex_list_libraries- 種類とともに、すべてのPlexライブラリを一覧表示しますplex_list_library_content- 指定したライブラリの全コンテンツを一覧表示します(シーズンやエピソードを含むテレビ番組、コレクション別の映画、またはアーティストやアルバム別の音楽)plex_search- すべてのライブラリまたは指定したライブラリ内で、タイトルからメディアを検索します
詳細情報:
plex_get_show_details- シーズン、エピソード、放送日を含む、指定したテレビ番組の詳細情報を取得します(不足しているエピソードを見つけるのに便利です)plex_get_movie_details- キャスト、ジャンル、コレクション、評価を含む、指定した映画の詳細情報を取得しますplex_get_artist_details- アルバムとトラックをすべて含む、指定した音楽アーティストの詳細情報を取得します
視聴状況と進捗:
plex_get_on_deck- 現在「続きを視聴」できるアイテムを取得します。ユーザーが現在視聴中のコンテンツが表示されますplex_get_in_progress_shows- 視聴が途中のテレビ番組を、視聴完了率とともに取得します。ユーザーが視聴を続けている番組を見つけるのに便利ですplex_get_show_watch_status- 特定の番組の詳細な視聴状況を取得します(シーズンごとの視聴済み/未視聴エピソード)plex_get_recently_added- 最近追加されたアイテムを取得します
上位レベルのダウンロードヘルパー:
plex_get_episodes_to_download- 上位レベル:ダウンロードが必要なすべてのエピソードを、書式設定済みの検索クエリとダウンロード先のパスとともに取得します(コンテキストの使用量を削減します)plex_find_missing_episodes- TMDB のエピソード一覧と Plex ライブラリを照合して、欠落しているエピソードを見つけます(TMDB_API_KEY が必要です)plex_get_next_episodes- 最後に視聴したエピソードの次にある未視聴エピソードを取得します(TMDB_API_KEY が必要です)plex_format_torrent_query- 番組情報をトレント検索クエリとして書式設定します(例:「Star Trek Strange New Worlds 2022 S02E05 1080p」)
TMDB ツール(スタンドアロンの tmdb-info MCP):
tmdb_search_shows- The Movie Database で番組名からテレビ番組を検索しますtmdb_get_show_details- すべてのシーズンとエピソードを含む、番組の詳細情報を取得しますtmdb_get_season_details- 特定のシーズンの詳細情報を取得しますtmdb_search_movies- TMDB で映画のタイトルから検索しますtmdb_get_movie_details- 映画の詳細情報を取得します
ファイルシステムとダウンロード先の管理:
plex_get_show_path- 番組のエピソードが保存されている実際のファイルシステムパスを取得します(例:/media/video/tv/Doctor Who)plex_suggest_download_path- エピソードのダウンロード先を自動で提案します(既存の番組のパス、または新しい番組の場合はライブラリの場所を使用します)plex_list_library_subdirs- ライブラリ内のすべての番組フォルダーを一覧表示します(あいまい検索や、既存の項目の確認に便利です)
qBittorrent のトレント管理:
qbt_get_torrents- 任意のステータスフィルター(ダウンロード中、完了など)を指定して、トレントの一覧を取得しますqbt_get_torrent_details- 特定のトレントの詳細情報を取得しますqbt_add_torrent- 任意で保存先のパスとカテゴリを指定して、マグネットリンクまたは URL からトレントを追加しますqbt_get_categories- 保存先のパスとともに、すべてのトレントカテゴリを取得しますqbt_create_category- 新しいカテゴリを作成します(番組やコレクションごとの整理に便利です)qbt_get_transfer_info- 現在のダウンロード/アップロード速度と統計情報を取得します
qBittorrent の検索:
qbt_search_torrents- qBittorrent にインストールされたプラグインを使ってトレントを検索します(シーダー数順に並べたマグネットリンクを返します)qbt_get_search_plugins- インストール済みの検索プラグインの一覧を取得しますqbt_get_downloading_episodes- 上位レベル:現在ダウンロード中のトレントを解析し、エピソード情報を抽出します(重複ダウンロードを防止します)
qBittorrent の RSS フィード管理:
qbt_get_rss_feeds- すべての RSS フィードとフォルダーを取得します(設定済みのフィードを確認する際に使用します)qbt_add_rss_feed- 新しい RSS フィード URL を追加しますqbt_remove_rss_feed- RSS フィードまたはフォルダーを削除しますqbt_refresh_rss_feed- 新しいアイテムを確認するため、RSS フィードを手動で更新します
qBittorrent の RSS 自動化:
qbt_get_rss_rules- すべての RSS 自動ダウンロードルールを取得します(ルールがどのフィードに紐づけられているかも表示します)qbt_create_show_rss_rule- 番組の新しいエピソードを自動ダウンロードする RSS ルールを作成します(紐づけるフィードを指定できます)qbt_attach_rule_to_feeds- 既存のルールを特定のフィードに紐づけます(重要:フィードに紐づけないとルールは実行されません!)qbt_delete_rss_rule- RSS 自動ダウンロードルールを削除します
MCP の使用例
これらのツールを使うと、LLM は次のようなリクエストに対応できます。
基本的なライブラリ管理:
- 「Breaking Bad が好きです」 → 番組を検索し、詳細を取得して、視聴できるエピソードを確認します
- 「現在視聴中の番組は何ですか?」 → 次に視聴する番組と視聴中の番組を取得し、現在追いかけている番組を確認します
- 「Marvel コレクションの映画を探して」 → ライブラリを検索し、コレクションで絞り込みます
- 「Tarantino の映画をすべて表示して」 → そのコレクションの映画を検索し、詳細を取得します
- 「The Beatles のアルバムは何を持っていますか?」 → アーティストを検索し、ディスコグラフィー全体を取得します
- 「ライブラリに追加された新しいコンテンツは何ですか?」 → 最近追加されたコンテンツを取得します
Torrent のダウンロード計画(TMDB を使用):
- 「視聴中の番組の次のシーズンをダウンロードして」 → 視聴中の番組を取得 → 不足しているエピソードを検索 → torrent クエリを作成
- 「The Office の不足しているエピソードは何ですか?」 → TMDB のデータと Plex を比較 → 不足しているエピソードの一覧を作成
- 「Doctor Who のコレクションを揃えたいのですが、古いエピソードは除いてください」 → 不足しているエピソードを検索 → 年で絞り込み → torrent クエリを作成
- 「Star Trek: Strange New Worlds の新しいエピソードを取得して」 → 次のエピソードを取得 → 放送済みか確認 → 「1080p」を指定した torrent クエリを作成
- 「Breaking Bad の S02E05-E10 を 1080p でダウンロードして」 → 希望の画質を指定して、複数の torrent クエリを作成
完全なワークフロー(Plex + qBittorrent + TMDB):
-
「Star Trek: Strange New Worlds を視聴しています。新しいエピソードが公開されたら自動的にダウンロードしてください」 →
plex_get_in_progress_shows()- SNW を視聴中であることを確認しますplex_get_next_episodes("Star Trek: Strange New Worlds")- S02E06 が放送済みで、まだライブラリにないことを確認しますplex_get_show_path("Star Trek: Strange New Worlds")- 既存のパスを取得します:/media/video/tv/Star Trek Strange New Worldsplex_format_torrent_query("Star Trek Strange New Worlds", 2, 6, 2022, "1080p")- 検索クエリを作成します- [ユーザーが torrent を検索して magnet リンクを取得します]
qbt_add_torrent(magnet_link, save_path="/media/video/tv/Star Trek Strange New Worlds")- 正しいフォルダーにダウンロードしますqbt_get_rss_feeds()- 設定されている RSS フィード(例:「TV Shows\ShowRSS」)を確認しますqbt_create_show_rss_rule("Star Trek Strange New Worlds", season=2, quality="1080p", save_path="/media/video/tv/Star Trek Strange New Worlds", feed_paths=["TV Shows\\ShowRSS"])- 指定したフィードから、今後のエピソードを同じ場所に自動ダウンロードするよう設定します
-
「Doctor Who のコレクションを揃えてください。ただし、古いエピソードは除いてください」 →
plex_find_missing_episodes("Doctor Who")- 不足しているエピソードをすべて取得しますplex_get_show_path("Doctor Who")- 既存のパスを取得します:/media/video/tv/Doctor Who- air_date が 2005 以降のエピソード(新しい Doctor Who)に絞り込みます
- 不足している各エピソードについて、torrent クエリを作成 → 検索 → 正しい save_path を指定して qBittorrent に追加します
- ダウンロードしたコンテンツは、Plex 内の既存の Doctor Who フォルダーに自動的に保存されます
-
「まだライブラリにない新しい番組をダウンロードして」 →
plex_search("The Expanse")- Plex に番組が見つかりませんplex_list_library_subdirs("TV Shows")- 重複を避けるため、既存の番組フォルダーを確認しますplex_suggest_download_path("The Expanse", "TV Shows")- 次のパスを提案します:/media/video/tv/The Expanse- 提案されたパスにエピソードをダウンロードします
- Plex は次回のライブラリスキャン時に、自動的にそれらを検出します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。