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

  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol (MCP) server that exposes the official Notion SDK, allowing AI models to interact with Notion workspaces.
    Last updated -
    17
    77
    7
    TypeScript
    Apache 2.0
    • Apple
    • Linux
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol (MCP) server that allows AI agents like Claude to interact with the Aligo SMS API to send text messages and retrieve related information.
    Last updated -
    JavaScript
    MIT License
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol (MCP) server that enables AI assistants to control and interact with Android devices, allowing for device management, app debugging, system analysis, and UI automation through natural language commands.
    Last updated -
    29
    143
    Python
    Apache 2.0
    • Linux
    • Apple
  • A
    security
    A
    license
    A
    quality
    An official Model Context Protocol (MCP) server that enables AI clients to interact with ElevenLabs' Text to Speech and audio processing APIs, allowing for speech generation, voice cloning, audio transcription, and other audio-related tasks.
    Last updated -
    19
    700
    Python
    MIT License
    • Apple

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