Skip to main content
Glama

Trakt

by wwiens

🎬 MCP Trakt: エンターテイメントデータへの AI ゲートウェイ

MCPトラクトカーソルで構築クロード提供

AI 言語モデルと Trakt.tv API の間にブリッジを作成し、LLM がリアルタイムのエンターテイメント データと個人の Trakt 視聴履歴にアクセスできるようにするモデル コンテキスト プロトコル (MCP) サーバー。

🖥️ AI実験

この段落以外、ここにあるものはすべてAIによって生成されており、コードも例外ではありません。MCPについてもっと学びたいという目標があり、Cursorもよく使っていたので、これらを統合するのは自然な流れだと思いました。その結果、このプロジェクトが生まれました。今後の変更もすべてAIによって行われます。

🤖 MCP とは何ですか?

モデル コンテキスト プロトコル (MCP) は、Claude のような大規模言語モデル (LLM) が外部システムやデータ ソースと対話できるようにするオープン仕様です。

MCP は、AI モデルが次のことを行うための標準化された方法を作成します。

  • トレーニングの締め切り日を超えてリアルタイムデータにアクセスする
  • 専用サーバーを介して外部APIおよびWebサービスに接続する
  • 特殊なツールと機能を安全に実行する
  • 外部リソースの読み取りと書き込み
  • テキストのみの形式では扱いにくい複雑なデータを処理する

MCP は基本的に、次のものを定義することによって機能します。

  1. リソース: AI が読み書きできる構造化データ ソース ( trakt://shows/trendingなど)
  2. ツール: AIが特定のアクションを実行するために呼び出すことができる関数( fetch_trending_showsなど)
  3. セッション: AIとMCPサーバー間の安全な接続

このような MCP サーバーは、AI モデルと外部世界の間の橋渡しとして機能し、再トレーニングを必要とせずに新しい機能を拡張できるようにします。

📺 Trakt とは何ですか?

Trakt.tvは、視聴したテレビ番組や映画を自動的に追跡するプラットフォームです。このサービスでは、以下のサービスを提供しています。

  • 複数のストリーミングサービスにわたる視聴習慣の包括的な追跡
  • 視聴中のコンテンツを友達と共有したり話し合ったりできるソーシャル機能
  • 視聴履歴に基づいてパーソナライズされたおすすめ
  • 開発者がアプリケーション構築に使用できる広範なAPI

Trakt は、次のような特徴を持つエンターテイメント追跡の標準となっています。

  • 1,400万人以上のユーザーが視聴習慣を追跡
  • 詳細なメタデータを含む、数百万本の映画やテレビ番組のデータ
  • 人気のメディアプレーヤーやストリーミングサービスとの統合

この MCP サーバーは、Trakt の豊富な API エコシステムを活用して、Claude などの AI アシスタントとの会話にリアルタイムのエンターテイメント データを直接提供します。

🚀 カーソル開発体験

このプロジェクト全体は、AI時代向けに開発されたコードエディタであるCursorを使用して開発され、すべてのコードはClaude 3.7 Sonnetによって生成されました。このアプローチにより、以下のことが実証されました。

  • AI支援開発が特殊なMCPサーバーの構築を劇的に加速する方法
  • 機能的で構造化されたコードを書く現代のAIの能力
  • 人間の意図とAI実装の協調ワークフロー

✨ 特徴

🌎 パブリック トラック データ

  • トレンドや人気の番組や映画にアクセス
  • 最もお気に入り、再生、視聴されたコンテンツを見つける
  • Traktのグローバルコミュニティからリアルタイムデータを取得する
  • タイトル、年、人気度指標を含むフォーマットされた回答

👤 個人の追跡データ

  • 視聴した番組を表示: 個人的に視聴した番組の完全なリストを取得します
  • 各シリーズの正確な最終視聴日を確認します
  • 各番組を何回視聴したかを追跡する
  • 現在視聴中の**番組にチェックインして、**視聴済みとしてマークします
    • 番組ID(より正確)または番組タイトル(より便利)
    • Twitter、Mastodon、Tumblrにチェックインを共有する
    • チェックインにカスタムメッセージを含める
    • 人間が読める形式でエピソードをいつ視聴したかを確認します
  • 番組を検索して詳細とIDを見つけます
  • デバイスコードフローによるTraktによる安全な認証
  • 個人データはTraktアカウントから直接取得されます

💬 コメントとレビュー

  • 番組や映画のコメントを見る: お気に入りのコンテンツについて他のユーザーが何と言っているか読む
  • 特定のシーズンやエピソードのコメントを見る: 番組の特定の部分についての洞察を得る
  • 個々のコメントとその返信を表示: コミュニティの議論に参加する
  • ネタバレ防止: ネタバレを含むコメントはデフォルトで非表示になります
  • ネタバレの表示/非表示を切り替える: ネタバレを表示するか非表示にするかを選択します
  • レビューを表示: より長く詳細なコメントはレビューとしてマークされます

🔄 一般的な機能

  • MCP リソースを通じて Trakt API データを公開します
  • リアルタイムのエンターテイメント情報を取得するためのツールを提供します
  • AIモデルがパーソナライズされたエンターテイメントの推奨を提供できるようにする
  • シンプルな認証とログアウトのプロセス

📺 現在人気の番組

2025 年 4 月現在、次のような人気番組にアクセスできます。

  • 『ホワイト・ロータス』(2021年) - 視聴者数7,870人
  • 『デアデビル:ボーン・アゲイン』(2025年) - 視聴者数6,738人
  • 「セヴァランス」(2022年) - 視聴者数4,507人

🎥 現在人気の映画

今一番人気の映画:

  • 「ブラックバッグ」(2025年) - 視聴者数1,491人
  • 「ワーキングマン」(2025年) - 視聴者数1,226人
  • 「ミッキー17」(2025年) - 視聴者数764人

🔌 利用可能なリソース

リソースを表示

リソース説明サンプルデータ
trakt://shows/trending過去24時間で最も視聴された番組番組のタイトル、年、視聴者数
trakt://shows/popular評価に基づく最も人気のある番組番組タイトル、年、人気スコア
trakt://shows/favorited最もお気に入りになった番組タイトル、年、お気に入りの数を表示
trakt://shows/played最も再生された番組タイトル、年、再生回数を表示
trakt://shows/watchedユニークユーザーによる最も視聴された番組番組タイトル、年、視聴者数

映画リソース

リソース説明サンプルデータ
trakt://movies/trending過去24時間で最も視聴された映画映画のタイトル、年、視聴者数
trakt://movies/popular評価に基づく最も人気のある映画映画のタイトル、年、人気スコア
trakt://movies/favorited最もお気に入りの映画映画のタイトル、年、お気に入りの数
trakt://movies/played最も再生された映画映画のタイトル、年、再生回数
trakt://movies/watchedユニークユーザーによる最も視聴された映画映画のタイトル、年、視聴者数

ユーザーリソース

リソース説明サンプルデータ
trakt://user/auth/status現在の認証ステータス認証ステータス、トークンの有効期限
trakt://user/watched/shows認証されたユーザーが視聴した番組番組タイトル、年、最終視聴日、再生回数
trakt://user/watched/movies認証されたユーザーが視聴した映画映画のタイトル、年、最終視聴日、再生回数

コメントリソース

リソース説明サンプルデータ
trakt://comments/movie/:id特定の映画に関するコメントコメント本文、投稿者、日付、いいね数
trakt://comments/show/:id特定の番組へのコメントコメント本文、投稿者、日付、いいね数
trakt://comments/show/:id/season/:season特定の季節に関するコメントコメント本文、投稿者、日付、いいね数
trakt://comments/show/:id/season/:season/episode/:episode特定のエピソードへのコメントコメント本文、投稿者、日付、いいね数
trakt://comments/:id具体的なコメントコメント本文、投稿者、日付、いいね数
trakt://comments/:id/replies特定のコメントへの返信返信テキスト、作成者、日付

🛠️ 利用可能なツール

ツールを表示

# Get trending shows with optional limit parameter fetch_trending_shows(limit=10) # Get popular shows with optional limit parameter fetch_popular_shows(limit=10) # Get favorited shows with optional limit and period parameters fetch_favorited_shows(limit=10, period="weekly") # Get most played shows with optional limit and period parameters fetch_played_shows(limit=10, period="weekly") # Get most watched shows with optional limit and period parameters fetch_watched_shows(limit=10, period="weekly") # Search for shows by title to get show IDs and details search_shows(query="Breaking Bad", limit=5) # Search for movies by title to get movie IDs and details search_movies(query="The Godfather", limit=5)

映画ツール

# Get trending movies with optional limit parameter fetch_trending_movies(limit=10) # Get popular movies with optional limit parameter fetch_popular_movies(limit=10) # Get favorited movies with optional limit and period parameters fetch_favorited_movies(limit=10, period="weekly") # Get most played movies with optional limit and period parameters fetch_played_movies(limit=10, period="weekly") # Get most watched movies with optional limit and period parameters fetch_watched_movies(limit=10, period="weekly")

認証とユーザーツール

# Start the device authorization flow with Trakt start_device_auth() # Check the status of an ongoing authentication check_auth_status() # Clear authentication (logout) clear_auth() # Fetch shows watched by the authenticated user fetch_user_watched_shows(limit=0) # 0 for all shows # Fetch movies watched by the authenticated user fetch_user_watched_movies(limit=0) # 0 for all movies

チェックインツール

# Method 1: Check in using show ID (recommended when precision is important) # First use search_shows to find the correct show ID search_shows(query="Breaking Bad", limit=5) # Then use the ID for check-in checkin_to_show( season=1, episode=3, show_id="1388", message="Loving this show!" ) # Method 2: Check in using show title (more convenient) checkin_to_show( season=1, episode=1, show_title="Breaking Bad", show_year=2008, # Optional but helps with accuracy message="I'm the one who knocks!", share_twitter=True, share_mastodon=False, share_tumblr=False )

コメントツール

# Get comments for a movie (sorted by newest by default) fetch_movie_comments(movie_id="123", limit=10, show_spoilers=False) # Get comments for a show sorted by most likes fetch_show_comments(show_id="456", limit=10, show_spoilers=False, sort="likes") # Get comments for a specific season sorted by highest rating fetch_season_comments(show_id="456", season=1, limit=10, show_spoilers=False, sort="highest") # Get comments for a specific episode sorted by most replies fetch_episode_comments(show_id="456", season=1, episode=3, limit=10, show_spoilers=False, sort="replies") # Get a specific comment fetch_comment(comment_id="789", show_spoilers=False) # Get a comment with its replies sorted by oldest first fetch_comment_replies(comment_id="789", limit=10, show_spoilers=False, sort="oldest")

🔐 認証

サーバーは Trakt のデバイス認証フローを使用します。

  1. ユーザー固有のデータを要求すると、必要に応じてサーバーが自動的に認証を開始します。
  2. ブラウザでアクセスするためのコードとURLが届きます
  3. Traktのウェブサイトでコードを入力してアプリを承認した後、承認が完了したことをClaudeに知らせてください。
  4. クロードは認証ステータスを確認し、個人データを取得します
  5. 認証トークンは、将来のリクエストのために安全に保存されます

clear_authツールを使用していつでもログアウトできます。

🚀 セットアップ

  1. このリポジトリをクローンする
    git clone https://github.com/yourusername/mcp-trakt.git cd mcp-trakt
  2. 依存関係をインストールする
    pip install -r requirements.txt
  3. 環境を設定する
    cp .env.example .env
    次に、 .envを編集して Trakt API 資格情報を追加します。
    TRAKT_CLIENT_ID=your_client_id TRAKT_CLIENT_SECRET=your_client_secret
  4. サーバーを実行する
    python server.py

🧪 開発とテスト

MCP Inspectorによるテスト

mcp dev server.py

Claude Desktopへのインストール

mcp install server.py

📝 クロードと一緒に使う

インストールすると、次のような質問をクロードに尋ねることができます。

  • 「今、どんな番組が流行っているの?」
  • 「今週人気の映画をいくつかお勧めいただけますか?」
  • 「今月最も視聴された番組は何ですか?」
  • 「視聴した番組を表示してください」(認証が必要です)
  • 「最後に見た番組は何でしたか?」(認証が必要です)
  • 「私が見た映画を見せてください」(認証が必要です)
  • 「最後に観た映画は何でしたか?」(認証が必要です)
  • 「『ブレイキング・バッド』のような番組を検索」
  • 「ブレイキング・バッド シーズン2 エピソード5を視聴する」(タイトルを使用)
  • 「番組ID 1388のシーズン1エピソード3にチェックインして、Twitterでシェアしてください」(IDを使用)
  • 「ブレイキング・バッドのコメントを表示」
  • 「ゴッドファーザーの映画について人々は何と言っているでしょうか?」
  • 「ストレンジャー・シングス シーズン1のコメントを表示」
  • 「ゲーム・オブ・スローンズ シーズン2 エピソード5のコメントを取得」
  • 「コメント #12345 とその返信を表示」
  • 「『ブレイキング・バッド』のネタバレを含むコメントを表示」
  • 「『ゴッドファーザー』のような映画を検索」
  • 「ブレイキング・バッドの最も高評価のコメントを表示」(sort="likes" を使用)
  • 「映画『ゴッドファーザー』の最も評価の高いコメントを取得する」(sort="highest" を使用)
  • 「ストレンジャー・シングス シーズン1の返信数が最も多いコメントを表示」(sort="replies" を使用)

Claude はこの MCP サーバーを使用して、Trakt からのリアルタイム データを提供します。

👤 個人データへのアクセス

認証により、次のものにアクセスできます。

  • 視聴した番組と映画の完全な履歴
  • 各番組と映画の最終視聴日
  • 各番組や映画を視聴した回数
  • 現在視聴中の番組にチェックインして進捗状況を追跡できます
  • 個人視聴統計
  • ソーシャルメディアプラットフォームで視聴アクティビティを共有する

すべてのデータは、Trakt アカウントからリアルタイムで直接取得されます。

🔮 今後の展開

  • ユーザー認証を拡張してより多くの個人データにアクセスできるようにする
  • 今後のエピソードのカレンダーイベントを追加する
  • スクロブリング(視聴中の動画の追跡)をサポート
  • 視聴履歴に基づいた推奨事項の実装
  • 番組に加えて映画も検索対象に拡張
  • 共有のためのより多くのソーシャルメディアプラットフォームのサポートを追加

📄 ライセンス

MITライセンス


Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    The Model Context Protocol (MCP) server provides a conversational interface for the exploration and analysis of RDF Turtle Knowledge Graph in Local File mode or SPARQL Endpoint.
    Last updated -
    15
    Python
    MIT License
  • -
    security
    A
    license
    -
    quality
    A high-performance Model Context Protocol (MCP) server designed for large language models, enabling real-time communication between AI models and applications with support for session management and intelligent tool registration.
    Last updated -
    2
    Python
    MIT License
  • A
    security
    F
    license
    A
    quality
    An all-in-one Model Context Protocol (MCP) server that connects your coding AI to numerous databases, data warehouses, data pipelines, and cloud services, streamlining development workflow through seamless integrations.
    Last updated -
    2
    Python
    • Apple
    • Linux
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol (MCP) server that provides AI capabilities to Teambition applications, enabling programmatic access to user management, organization data, and project collaboration features through natural language.
    Last updated -
    TypeScript
    MIT License

View all related MCP servers

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/wwiens/trakt_mcpserver'

If you have feedback or need assistance with the MCP directory API, please join our Discord server