gamedb-port について
gamedb-portは、ゲーム検索、詳細情報、今後の発売予定、カスタムクエリ向けに、IGDBへコマンドラインとMCPからアクセスするツールです。Twitch OAuth認証を使い、生のApicalypseクエリにも対応します。
主な機能
- 01名前によるゲーム検索
- 02ゲームIDから全レコードを取得
- 03期待度の高い発売予定ゲームを一覧
- 04Apicalypseのカスタムクエリを送信
- 05コマンドラインとstdio MCPサーバーを提供
活用シーン
- 01タイトルに一致するゲームの検索
- 02ゲームのIGDBレコード取得
- 03期待度の高い発売予定ゲームの確認
- 04Apicalypseで他のIGDBエンドポイントを照会
MCP 対応
stdio MCPサーバーは、ゲーム検索、詳細、発売予定、IGDBへのカスタムクエリ用ツールを公開します。リクエストには環境変数で指定したTwitch OAuth認証情報を使います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | number | いいえ | 返す結果の最大件数。1~500 の範囲です。 |
| query | string | はい | 検索するゲーム名。 |
| fields | string | いいえ | 返す IGDB フィールドをカンマ区切りで指定します。 |
詳細
gamedb-port
gamedb-port は IGDB のビデオゲームデータベースを検索します。ゲーム名で検索したり、特定のゲームの完全なレコードを取得したり、期待度順に並べた近日発売タイトルの一覧を取得したり、任意の IGDB エンドポイントに生の Apicalypse クエリを送信したりできます。1 つのバイナリで、コマンドラインインターフェースと stdio MCP サーバーの両方を提供します。
アクセスには、IGDB の公式仕様を使用します。IGDB の認証には Twitch OAuth を使用します。Twitch アプリケーションの認証情報を IGDB_CLIENT_ID と IGDB_CLIENT_SECRET に設定してください。このツールは、クライアント認証情報を使ってアクセストークンを取得し、プロセス内にキャッシュして、すべての呼び出しに Client-ID ヘッダーを付けて送信します。いずれかの変数が設定されていない場合、コマンドはリクエストを送信する前に失敗します。
インストール
IGDB_CLIENT_ID=... IGDB_CLIENT_SECRET=... npx @reneturcios/gamedb-port search zelda
または、コンテナーイメージを実行します。
docker run -i -e IGDB_CLIENT_ID=... -e IGDB_CLIENT_SECRET=... ghcr.io/cloudcorprecords/gamedb-port
コンテナーはデフォルトで MCP サーバーを起動します(下記を参照)。CLI として使用するには、CLI 引数を渡します。
CLI
gamedb-port search zelda --limit 5
gamedb-port search "final fantasy" --fields name,rating --limit 20
gamedb-port details 1942
gamedb-port details 1942 --fields name,summary,genres.name
gamedb-port anticipated
gamedb-port anticipated --limit 10 --min-hypes 50
gamedb-port query genres "fields name,slug; limit 5;"
gamedb-port --version
コマンドは、上流から返された JSON ペイロードを出力します。終了コード:成功時は 0、呼び出しの失敗時(認証情報の不足、上流 API のエラー、または無効な引数値)は 1、使用方法のエラー時は 2 です。
--fields が指定されていない場合、クエリではデフォルトのフィールドセットをリクエストします。
name,cover.url,first_release_date,genres.name,platforms.name,rating,summary。
MCP サーバー
1 つのバイナリで、どちらの用途にも対応します。mcp サブコマンドを実行すると、stdio MCP サーバーが起動します。
npx -y @reneturcios/gamedb-port mcp
MCP クライアントの設定:
{
"mcpServers": {
"gamedb-port": {
"command": "npx",
"args": ["-y", "@reneturcios/gamedb-port", "mcp"],
"env": {
"IGDB_CLIENT_ID": "your-twitch-client-id",
"IGDB_CLIENT_SECRET": "your-twitch-client-secret"
}
}
}
}
ツール
| ツール | 入力 | 返される内容 |
|---|---|---|
search_games | query(必須)、fields、limit(1~500、デフォルトは 10) | 名前で検索した一致するゲーム。 |
get_game_details | game_id(必須)、fields | 1 つのゲームの完全な IGDB レコード。 |
get_most_anticipated_games | fields、limit(1~500、デフォルトは 25)、min_hypes(デフォルトは 25) | 未来の発売日が設定された近日発売ゲーム。hype の降順で並びます。 |
custom_query | endpoint、query(どちらも必須) | 呼び出し元が指定した Apicalypse クエリをそのエンドポイントに送信して返される内容。 |
整形済みの 3 つのツールは、Apicalypse のリクエスト本文を自動的に作成します。
search_games は search "<query>"; fields ...; limit ...; に、
get_game_details は fields ...; where id = <game_id>; に変換されます。また、
get_most_anticipated_games は first_release_date > now & hypes >= <min_hypes> で絞り込み、hypes desc で並べ替えます。custom_query
は、query の本文をそのまま https://api.igdb.com/v4/<endpoint> に送信します。
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。