Wizzy Mcp Tmdb について
JavaScript 製の MCP サーバーで、AI クライアントに TMDB の映画、テレビ番組、人物情報を提供します。複数カテゴリの検索、作品詳細、トレンド情報をツールから取得できます。
主な機能
- 01映画、テレビ番組、人物の検索
- 02指定した項目の詳細取得
- 03各メディア種別のトレンド取得
活用シーン
- 01TMDB で作品や人物を検索
- 02映画や番組の詳細を取得
- 03各メディア種別のトレンドを確認
MCP 対応
stdio 経由で MCP 対応クライアントに `search_tmdb`、`get_tmdb_details`、`trending_all` ツールを公開します。`TMDB_AUTH_TOKEN` で指定された TMDB API トークンを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
wizzy-mcp-tmdb
プロジェクトの概要と目的
wizzy-mcp-tmdb プロジェクトは、The Movie Database(TMDB)から情報を検索・取得するツールを提供する、JavaScript で実装された MCP(Model Context Protocol)サーバーです。AI クライアントが標準化されたプロトコルを通じて、映画、テレビ番組、人物のデータにアクセスできるようにします。
主な機能
- 映画の検索:
search_tmdbツールを使用して、映画、テレビ番組、人物を横断検索します。 - 詳細情報の取得:
get_tmdb_detailsツールを使用して、特定のアイテムの詳細情報を取得します。 - トレンドコンテンツ:
trending_allツールを使用して、すべてのメディアタイプのトレンドコンテンツを取得します。
インストール
前提条件
- Node.js バージョン 18 以降(グローバルな fetch のサポートに必要)
- 管理者から提供される TMDB API キー(Bearer トークン)。TNL TMDB プロキシ(production-api.tnl.one)で使用します。
セットアップ
-
リポジトリをクローンし、プロジェクトディレクトリに移動します。
-
依存関係をインストールします。
npm install -
TMDB API キーを環境変数として設定します。
-
Windows PowerShell の場合:
$env:TMDB_AUTH_TOKEN="YOUR_TNL_PROXY_BEARER_TOKEN" -
macOS/Linux の場合:
export TMDB_AUTH_TOKEN="YOUR_TNL_PROXY_BEARER_TOKEN"
-
使用方法
MCP サーバーの起動
サーバーを起動するには:
npm start
サーバーは stdio 経由で通信します。MCP 対応クライアント(IDE やチャットクライアントなど)で、コマンド node mcp-tmdb-server.js と環境変数 TMDB_AUTH_TOKEN を設定してください。
MCP 統合の例
MCP ツールとの統合方法を示すコードスニペットを以下に示します。
映画を検索する
// Example MCP tool call for searching
{
"method": "tools/call",
"params": {
"name": "search_tmdb",
"arguments": {
"query": "dune",
"page": 1,
"language": "en-US",
"include_adult": false
}
}
}
映画の詳細情報を取得する
// Example MCP tool call for getting details
{
"method": "tools/call",
"params": {
"name": "get_tmdb_details",
"arguments": {
"type": "movie",
"id": 438631,
"append": "credits,images"
}
}
}
トレンドコンテンツを取得する
// Example MCP tool call for trending content
{
"method": "tools/call",
"params": {
"name": "trending_all",
"arguments": {
"time_window": "day",
"page": 1,
"language": "en-US"
}
}
}
MCP クライアントとの統合
この MCP サーバーを MCP クライアント(IDE や互換性のあるチャットクライアントなど)に統合するには、次の手順に従ってください。
-
必要に応じて npm パッケージをインストールします。
npm install -g wizzy-mcp-tmdb -
MCP クライアントで
mcp.jsonファイルを作成または更新し、次の設定を追加します。{ "mcpServers": { "tmdb": { "command": "npx", "args": ["wizzy-mcp-tmdb"], "env": { "TMDB_AUTH_TOKEN": "YOUR_TNL_PROXY_BEARER_TOKEN" }, "alwaysAllow": [ "get_watch_providers", "discover_tv", "discover_by_provider" ] } } }注:TMDB API 呼び出しは無料で、必須の認証も不要なため、現時点では
TMDB_AUTH_TOKENに任意の値を設定できます。
テスト戦略
このプロジェクトでは Jest を使用して、次のような包括的なテストを実施しています。
- ユニットテスト:個々のハンドラー関数、入力の検証、レスポンスの形式を確認します(
tests/unit/handlers.test.jsを参照)。 - 統合テスト:モックしたレスポンスを使用して、API とのやり取り、エラー処理、ネットワーク障害をテストします(
tests/integration/api.test.jsを参照)。 - プロトコルテスト:ツールの一覧表示や呼び出しなど、MCP プロトコルへの準拠を確認します(
tests/protocol/mcp.test.jsを参照)。
テストスイートを実行するには:
npm test
ウォッチモードで実行するには:
npm run test:watch
プロジェクト構成
wizzy-mcp-tmdb/
├── mcp-tmdb-server.js # Main MCP server implementation
├── package.json # Project configuration and dependencies
├── MCP_GUIDE.md # Detailed MCP integration guide
├── babel.config.cjs # Babel configuration for Jest
├── tests/
│ ├── unit/
│ │ └── handlers.test.js # Unit tests for handlers
│ ├── integration/
│ │ └── api.test.js # Integration tests for API calls
│ └── protocol/
│ └── mcp.test.js # MCP protocol compliance tests
└── tests/fixtures/ # Mock data for tests
├── movieDetails.json
├── searchMultiResponse.json
└── trendingAllResponse.json
貢献
皆さまからの貢献を歓迎します。次のガイドラインに従ってください。
- リポジトリをフォークします。
- 機能ブランチを作成します。
- 変更を加え、テストを追加します。
- すべてのテストがパスすることを確認します。
- プルリクエストを送信します。
ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルを参照してください。
謝辞
- API を提供してくださった The Movie Database(TMDB)に感謝します。
- Model Context Protocol SDK を使用して構築されています。
お問い合わせ
ご質問やサポートが必要な場合は、GitHub で issue を作成してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。