Game Asset Finder MCP
Game Asset Finder MCP
ゲーム開発向けの「検索優先」MCP サービスです。複数の公開アセットソースとオプションのローカルアセットライブラリを同時にクエリし、異なるサイトの結果を統一されたフィールドにまとめ、中国語キーワード拡張、ライセンス正規化、関連性ソート、クロスソース重複排除、ソース多様化、キャッシュ、カーソルページネーションを提供します。
このプロジェクトは現在の MCP TypeScript SDK v2 に基づき、stdio で動作し、Codex、ChatGPT デスクトップ版、その他ローカル MCP をサポートするクライアントに適しています。
設計と最適化
プロジェクトはプロバイダレジストリと統一結果モデルを採用し、クロスソース検索層に重点を置いて最適化しています:
単一ソースの障害が全体の検索を妨げることはなく、レスポンスには各ソースのステータスが明確にマークされます。
キーワード重み付けと中日英ゲーム用語拡張により、中国語クエリの再現率が向上します。
TTL/LRU キャッシュ、同一同時リクエストのマージ、プロバイダ全体のタイムアウト、制限付きリトライ、
Retry-Afterを導入。統一ライセンスフィルタリング、正規化 URL による重複排除、ミラーソースのマージ、安定したソート、ソース多様化を導入。
limit + nextCursorによるページネーションで、大量の結果が一度にモデルコンテキストに詰め込まれるのを防ぎます。ローカルインデックスはインクリメンタルスキャン、SHA-256、アトミック書き込み、ルートディレクトリ制約、シンボリックリンクスキップを採用。
ツール面は4つに圧縮され、エージェントが誤ったツールを選択する確率を低減します。
Related MCP server: @codesift/mcp
データソース
id | 内容 | 認証情報 | ライセンスの特徴 |
| 2D、3D、UI、オーディオ、フォントアセットパック | なし | CC0 |
| 2D、3D、音楽、効果音 | なし | アイテムごとに異なる |
| 無料ゲームアセットリスト | なし | 作者/ページごとに異なる |
| 画像、テクスチャ、アイコン参考 | なし | CC / パブリックドメイン |
| PBR マテリアル、HDRI、3D | なし | CC0 |
| テクスチャ、HDRI、3D | なし | CC0 |
| 効果音、録音 |
| アイテムごとに異なる |
| 設定ディレクトリ内のローカルアセット | ローカルディレクトリ | サイドカーで記述 |
どのリモートソースも一時的にタイムアウトやレート制限が発生する可能性があります。戻り値の sourceStatuses には、ソースごとに ok / partial / disabled / timeout / rate_limited / error が示されます。他の成功したソースは引き続き結果を返します。
インストール
Node.js 20.18.1 以降が必要です。
git clone https://github.com/sudoriaa/game-asset-finder-mcp.git
cd game-asset-finder-mcp
npm ci
npm run build
npm test以下のように実行することもできます:
.\install.ps1直接起動:
node .\dist\index.jsstdio の標準出力は MCP JSON-RPC チャネルであり、サービスログは標準エラーのみに書き込まれます。
Codex への接続
~/.codex/config.toml または信頼できるプロジェクトの .codex/config.toml に以下を追加:
[mcp_servers.game_assets]
command = "node"
args = ["C:\\path\\to\\game-asset-finder-mcp\\dist\\index.js"]
cwd = "C:\\path\\to\\game-asset-finder-mcp"
startup_timeout_sec = 30
tool_timeout_sec = 90
enabled = true
[mcp_servers.game_assets.env]
GAME_ASSET_LOCAL_ROOTS = "D:\\GameAssets;E:\\SharedAssets"
GAME_ASSET_CACHE_TTL_SECONDS = "600"Freesound を有効にする場合、設定に値を直接書き込むのではなく、ホスト環境からキーを転送することを推奨します:
[mcp_servers.game_assets]
env_vars = ["FREESOUND_API_KEY"]Codex CLI を使用して stdio サーバーを追加することもできます:
codex mcp add game-assets -- node "C:\path\to\game-asset-finder-mcp\dist\index.js"
codex mcp list設定を保存したらクライアントを再起動し、/mcp で接続状態を確認します。リポジトリ内の mcp-config.example.toml をそのままコピーして修正できます。
MCP ツール
search_game_assets
クロスソース検索。主なパラメータ:
{
"query": "像素风地牢角色",
"types": ["sprite", "tileset"],
"sources": ["kenney", "opengameart", "itch"],
"formats": ["png"],
"tags": ["retro"],
"license_policy": "commercial",
"include_unknown_license": false,
"limit": 12,
"refresh": false
}license_policy は以下の値を取ります:
any:すべての結果を表示し、不明なライセンスを明確にマークします。commercial:既知の商用利用可能なライセンスのみを保持します。include_unknown_licenseを使用して不明な項目を戻すことができます。cc0:CC0 / Public Domain Mark のみを保持します。no-attribution:既知の商用利用可能かつ帰属不要のエントリのみを保持します。
次のページでは、返された nextCursor をそのまま cursor に入れ、他のクエリパラメータは変更しません。クエリ条件を変更した後に古いカーソルを使用すると、CURSOR_QUERY_MISMATCH が返されます。
hasMore は、現在のキャッシュされた候補スナップショットに次のページがあることを示しますが、リモートサイトの全履歴結果がすべて取得されたことを意味するわけではありません。より深い結果が必要な場合は、キーワード、タイプ、またはソースの範囲を絞り込んで再検索することを優先してください。
get_game_asset
検索したばかりの完全なレコードを読み取ります:
{ "asset_id": "kenney:roguelike-characters" }ソース、作者、ライセンス、プレビュー、ファイルバリアント、ミラーソース、マッチ理由、クレジットに直接追加できる帰属テキストを返します。リモートエントリは検索後に読み取られます。ローカルエントリはインデックスから直接読み取ることもできます。
list_asset_sources
すべてのプロバイダ、有効状態、サポートされるアセットタイプ、認証情報要件、キャッシュ設定、ローカルインデックス状態を一覧表示します。
index_local_assets
GAME_ASSET_LOCAL_ROOTS をスキャンします:
{ "mode": "incremental", "max_files": 20000 }incremental はサイズと変更時刻が変更されていない SHA-256 を再利用します。rebuild はすべてを再計算します。インデックスは GAME_ASSET_DATA_DIR/local-assets.json に書き込まれ、アセットファイルは変更されません。
ローカルアセットサイドカー
hero.png の隣に hero.png.asset.json または hero.asset.json を配置します:
{
"title": "Azure Knight",
"description": "32x32 pixel hero with idle and run frames",
"type": "sprite",
"tags": ["player", "knight", "pixel-art"],
"author": "Studio Name",
"author_url": "https://example.com",
"license": "CC-BY-4.0",
"license_url": "https://creativecommons.org/licenses/by/4.0/",
"source_url": "https://example.com/azure-knight"
}サイドカーのないローカルファイルも検索可能ですが、ライセンスは不明と表示されます。
環境変数
変数 | デフォルト値 | 説明 |
| 空 | ローカルアセットルートディレクトリ。Windows は |
| プロジェクト下 | ローカルインデックスディレクトリ |
|
| クエリキャッシュの秒数 |
|
| クエリキャッシュの最大エントリ数 |
|
| 単一プロバイダのタイムアウト |
|
| 単一リモートレスポンスの上限 |
|
| 429/一時エラーのリトライ回数 |
|
| ローカルインデックスのデフォルトファイル上限 |
| 空 | カンマ区切りのプロバイダ id |
| 空 | オプションの Freesound API キー |
開発と検証
npm run check
npm test
npm run test:unit
npm run test:mcpテストは、中国語クエリ拡張、タイプ識別、ライセンスポリシー、URL 正規化、重複排除、キャッシュ破綻マージ、部分的なプロバイダ障害、ページネーションとカーソル、ローカルインクリメンタルインデックス、および実際の stdio MCP クライアントの tools/list / tools/call をカバーしています。
結果使用のヒント
MCP が返すのはアセット発見とライセンスメタデータであり、ソースページの最終的な利用規約に代わるものではありません。不明なライセンスは id: null として明確に保持されます。公開前に commercial、cc0、または no-attribution で範囲を絞り込み、get_game_asset でソースと帰属情報を保存できます。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceA local MCP server for Nexus Mods mod discovery and research, backed by the v2 GraphQL API, enabling search of games, mods, collections, and users.1,8581ISC
- Alicense-qualityBmaintenanceMCP server for local-first lexical code search, providing tools for searching code, finding symbols, and reading chunks from indexed repositories.MIT
- Alicense-qualityCmaintenanceAn MCP server that aggregates web search results from multiple engines and optionally renders pages to Markdown, providing a unified search interface.103ISC
- Alicense-qualityBmaintenanceA Python MCP server for searching, downloading, extracting, inspecting, and previewing game assets from multiple public sources.MIT
Related MCP Connectors
MCP server for accessing curated awesome list documentation
An MCP server that gives your AI access to the source code and docs of all public github repos
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sudoriaa/game-asset-finder-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server