game-mcp について
game-mcpは、Windows PCにインストールされたゲームを検出・管理するMCPサーバーです。複数のゲームプラットフォームやWindowsレジストリを調べ、インストール情報の取得や指定したゲームの起動を行えます。
主な機能
- 01複数プラットフォームのゲーム検出
- 02他のインストール済みプログラムからゲームを識別
- 03パス・容量・インストール日の確認
- 04プラットフォーム固有のメタデータ取得
- 05名前を指定したゲームの起動
活用シーン
- 01PCにあるゲームの一覧作成
- 02ゲームのインストール先の確認
- 03ゲームのプラットフォームと導入情報の確認
- 04MCPクライアント経由でのゲーム起動
MCP 対応
ゲームの検出、詳細情報の取得、起動を行うツールをMCPクライアントに提供します。実行ファイルの起動には、MCPクライアントで明示的な確認が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ゲーム検索 MCP サーバー
Steam、Epic Games、GOG、Windows Store/Xbox、その他のインストール済みプログラムなど、さまざまなプラットフォームから Windows PC にインストールされているゲームを検索・管理する Model Context Protocol(MCP)サーバーです。
機能
-
マルチプラットフォームのゲーム検索:以下のプラットフォームのゲームを自動的にスキャンします。
- Steam(カスタムライブラリの場所を含む)
- Epic Games Store
- GOG(Good Old Games)
- Xbox/Windows Store のゲーム
- EA のゲーム
- Ubisoft Connect のゲーム
- Rockstar のゲーム
- Battle.Net のゲーム
- その他のインストール済みプログラム(Windows レジストリ経由)
-
包括的なゲーム情報:以下の詳細情報を提供します。
- ゲーム名とプラットフォーム
- インストール先のパスと実行ファイルの場所
- インストール日とサイズ
- プラットフォーム固有のメタデータ
-
利用可能な MCP ツール:
discover_games:すべてのプラットフォームからインストール済みのゲームを検索しますget_game_info:特定のゲームの詳細情報を取得しますlaunch_game:名前を指定してゲームを起動します(実行ファイルが見つかった場合)
前提条件
- .NET 10.0 以降
- Windows オペレーティングシステム
VS Code での使用
{
"servers": {
"GameMcpServer": {
"type": "stdio",
"command": "dnx",
"args": [
"[email protected]",
"--yes"
]
}
}
}
利用可能なツール
discover_games
サポートされているすべてのプラットフォームから、インストール済みのゲームを検索します。
Claude での使用例: 「PC にインストールされているゲームをすべて検索できますか?」
返される内容: 以下を含む JSON オブジェクト:
- ゲームの合計数
- プラットフォームごとにグループ化されたゲーム
- メタデータを含むすべてのゲームの詳細なリスト
get_game_info
名前を指定して、特定のゲームの詳細情報を取得します。
パラメーター:
gameName:検索するゲームの名前
使用例: 「Cyberpunk 2077 の情報を取得して」
launch_game
有効な実行ファイルのパスがある場合に、名前を指定してゲームを起動します。
パラメーター:
gameName:起動するゲームの正確な名前
使用例: 「Steam の Half-Life 2 を起動して」
仕組み
このサーバーは、複数の検索方法を使用します。
-
Steam のゲーム:
- レジストリから Steam のインストールパスを読み取ります
- カスタムライブラリの場所を調べるために
libraryfolders.vdfを解析します steamapps/commonディレクトリをスキャンしてゲームフォルダーを検索します
-
Epic Games:
%ProgramData%/Epic/EpicGamesLauncher/Data/Manifestsからゲームのマニフェストを読み取ります- JSON マニフェストファイルを解析してゲーム情報を取得します
-
GOG のゲーム:
SOFTWARE\GOG.com\Games以下の Windows レジストリを照会します- ゲームのパスと実行ファイルの情報を抽出します
-
Xbox/Windows Store:
%ProgramFiles%/WindowsAppsディレクトリをスキャンします- AppxManifest.xml ファイルを解析してアプリケーション情報を取得します
- ゲームアプリケーションを絞り込みます
-
レジストリのプログラム:
- Windows のアンインストール用レジストリエントリをスキャンします
- ヒューリスティックを使用してゲームに類似したアプリケーションを特定します
- システムユーティリティとゲーム以外のソフトウェアを除外します
エラー処理
このサーバーは堅牢に動作するよう設計されており、以下のような場合でも処理を継続します。
- 一部のプラットフォームがインストールされていない
- レジストリキーにアクセスできない
- ディレクトリへのアクセスが権限によって制限されている
- 個々のゲームのメタデータが破損している
エラーは stderr に記録され、他のプラットフォームの検索処理は中断されません。
セキュリティに関する考慮事項
- サーバーはシステム情報を読み取るだけで、何も変更しません
- ゲームの起動には、MCP クライアントを通じたユーザーの明示的な確認が必要です
- 実行ファイルの起動を除き、すべてのファイルシステムアクセスは読み取り専用です
- レジストリへのアクセスは読み取り専用です
開発
このプロジェクトでは以下を使用します。
- .NET 10.0
- .NET 用 Model Context Protocol SDK
- アプリケーションのライフサイクル管理用 Microsoft.Extensions.Hosting
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。