🚀 MCP TMDB
このプロジェクトは、The Movie Database (TMDB) とやり取りするためのツールを提供する、Model Context Protocol (MCP) の実装です。TMDB のデータにアクセスするためのAPIを使用し、映画やテレビ番組に関する様々な情報を取得できます。
🚀 クイックスタート
このセクションでは、MCP TMDB プロジェクトのクイックスタートガイドを提供します。必要な前提条件の準備から、インストール、使用方法までを説明します。
前提条件
- Node.js (推奨バージョン: 18以上)
- pnpm (バージョン10.7.0以上)
インストール
- リポジトリをクローンします:
git clone https://github.com/leonardogilrodriguez/mcp-tmdb.git
cd mcp-tmdb
- 依存関係をインストールします:
pnpm install
- プロジェクトのルートディレクトリに
.env
ファイルを作成し、TMDB APIキーを設定します:
TMDB_API_KEY=your_api_key_here
使用方法
MCPサーバーを起動するには:
pnpm inspector
デバッグモードで実行するには:
pnpm dev:debug
✨ 主な機能
このプロジェクトでは、TMDBのデータを利用した様々なツールが提供されています。以下に主なツールとその機能を説明します。
1. two_actors_on_screen
2人の俳優が共演している映画を検索します。
パラメータ:
actor1
: 1人目の俳優の名前
actor2
: 2人目の俳優の名前
language
: (オプション) 検索結果の言語 (デフォルト: "en")
2. two_people
2人の人物がどんな役割でも一緒に仕事をしている映画を検索します。
パラメータ:
person1
: 1人目の人物の名前
job1
: 1人目の人物の役割。可能な値: cast, crew
person2
: 2人目の人物の名前
job2
: 2人目の人物の役割。可能な値: cast, crew
language
: (オプション) 検索結果の言語 (デフォルト: "en")
3. two_movies
2つの映画に関わった人物を検索します。
パラメータ:
movie1
: 1つ目の映画の名前
year1
: (オプション) 1つ目の映画の公開年
movie2
: 2つ目の映画の名前
year2
: (オプション) 2つ目の映画の公開年
language
: (オプション) 検索結果の言語 (デフォルト: "en")
4. filmography_actor_genre
特定の俳優が出演した特定のジャンルの映画を検索します。
パラメータ:
person
: 俳優の名前
genre
: (オプション) ジャンル名
language
: (オプション) 検索結果の言語 (デフォルト: "en")
5. filmography_crew_genre
特定の人物がスタッフとして関わった特定のジャンルの映画を検索します。
パラメータ:
person
: 人物の名前
job
: (オプション) 役職名
genre
: (オプション) ジャンル名
language
: (オプション) 検索結果の言語 (デフォルト: "en")
6. jobs_list
filmography_crew_genre ツールで使用できる役職のリストを提供します。
📦 インストール
詳細なインストール手順は、「クイックスタート」セクションを参照してください。
💻 使用例
基本的な使用法
以下は、MCPサーバーを起動するための基本的なコマンドです。
pnpm inspector
高度な使用法
デバッグモードで実行するには、以下のコマンドを使用します。
pnpm dev:debug
📚 ドキュメント
TMDBについて
The Movie Database (TMDB) は、映画やテレビ番組に関する人気のあるユーザー編集可能なデータベースです。開発者は、TMDBが提供する包括的なAPIを使用して、映画やテレビ番組のデータにアクセスできます。提供されるデータには以下のようなものがあります。
- 映画やテレビ番組の情報
- 出演者やスタッフの詳細
- 画像やポスター
- 評価やレビュー
- 類似コンテンツの推薦
- その他
APIの概要
TMDB APIは無料で使用できますが、APIキーが必要です。APIキーを取得するには、以下の手順を実行します。
- TMDB でアカウントを作成します。
- アカウント設定に移動します。
- 「API」セクションを選択します。
- APIキーをリクエストします。
レート制限
APIには以下のレート制限があります。
- 10秒間に40リクエスト
- 1日に1000リクエスト
APIの詳細情報については、TMDB API Documentation を参照してください。
プロジェクトの構造
mcp-tmdb/
├── API/ # API関数とユーティリティ
├── interfaces/ # 型とインターフェースの定義
├── tools/ # ツールの実装
├── main.ts # メインエントリーポイント
├── package.json # プロジェクトの設定
└── .env # 環境変数 (作成する)
主な依存関係
- @modelcontextprotocol/sdk: ^1.12.1
- dotenv: ^16.5.0
- zod: ^3.25.55
MCPの設定
Claude Desktop
このMCPをClaude Desktopで設定するには、以下の手順を実行します。
- Claude Desktopを開きます。
- 設定 > MCP設定に移動します。
- 以下の設定で新しいMCPを追加します。
"tmdb": {
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "tsx",
"args": [
"complete_path_to_mcp-tmdb\\main.ts"
],
"env": {
"TMDB_API_KEY": "your_api_key_here"
}
}
ツールの出力例
1. two_actors_on_screen
Cary GrantとKatharine Hepburnが共演している映画を検索したときの出力例です。
[
{
"id": 31866,
"title": "Sylvia Scarlett",
"year": 1935,
"media_type": "movie"
},
{
"id": 900,
"title": "Bringing Up Baby",
"year": 1938,
"media_type": "movie"
},
{
"id": 16274,
"title": "Holiday",
"year": 1938,
"media_type": "movie"
},
{
"id": 981,
"title": "The Philadelphia Story",
"year": 1940,
"media_type": "movie"
}
]
2. two_people
Christopher NolanとHans Zimmerの共同作品を検索したときの出力例です。
[
{
"id": 272,
"title": "Batman Begins",
"year": 2005,
"media_type": "movie"
},
{
"id": 155,
"title": "The Dark Knight",
"year": 2008,
"media_type": "movie"
},
{
"id": 27205,
"title": "Inception",
"year": 2010,
"media_type": "movie"
}
...
]
3. two_movies
TitanicとThe Lord of the Rings: The Return of the Kingに関わった人物を検索したときの出力例です。
[{
"id": 1369,
"name": "Bernard Hill",
"known_for_department": "Acting"
},
{
"id": 1327030,
"name": "Lora Hirschberg",
"job": "Sound Re-Recording Mixer",
"known_for_department": "Sound"
},
{
"id": 900,
"name": "Christopher Boyes",
"job": "Sound Re-Recording Mixer",
"known_for_department": "Sound"
},
{
"id": 1378696,
"name": "Ethan Van der Ryn",
"job": "Sound Effects Editor",
"known_for_department": "Sound"
},
{
"id": 1425978,
"name": "Gary Summers",
"job": "Sound Re-Recording Mixer",
"known_for_department": "Sound"
}
]
4. filmography_actor_genre
Tom Hanksのホラー映画を検索したときの出力例です。
[{
"title": "He Knows You're Alone",
"character": "Elliot",
"media_type": "movie",
"year": 1980
},
{
"title": "The 'Burbs",
"character": "Ray Peterson",
"media_type": "movie",
"year": 1989
},
{
"title": "Vault of Horror I",
"character": "Baxter",
"media_type": "movie",
"year": 1994
}
]
5. filmography_crew_genre
Steven Spielbergが監督として関わったコメディ映画を検索したときの出力例です。
[{
"title": "The Sugarland Express",
"media_type": "movie",
"year": 1974,
"jobs": [
"Director"
]
},
{
"title": "1941",
"media_type": "movie",
"year": 1979,
"jobs": [
"Director"
]
},
{
"title": "Amazing Stories",
"media_type": "tv",
"year": 1985,
"jobs": [
"Director"
]
},
{
"title": "Hook",
"media_type": "movie",
"year": 1991,
"jobs": [
"Director"
]
},
{
"title": "The Terminal",
"media_type": "movie",
"year": 2004,
"jobs": [
"Director"
]
}
]
6. jobs_list
利用可能な役職のリストの出力例です。
{
"jobs": [
"Director",
"Producer",
"Screenplay",
"Director of Photography",
"Editor",
"Production Design",
"Art Direction",
"Set Decoration",
"Costume Design",
"Makeup",
"Sound",
"Visual Effects",
"Original Music Composer"
]
}
デモ
two_actors_on_screen

two_movies

📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。