GameMcpServer 1.0.0
See the version list below for details.
dotnet add package GameMcpServer --version 1.0.0
NuGet\Install-Package GameMcpServer -Version 1.0.0
<PackageReference Include="GameMcpServer" Version="1.0.0" />
<PackageVersion Include="GameMcpServer" Version="1.0.0" />
<PackageReference Include="GameMcpServer" />
paket add GameMcpServer --version 1.0.0
#r "nuget: GameMcpServer, 1.0.0"
#:package GameMcpServer@1.0.0
#addin nuget:?package=GameMcpServer&version=1.0.0
#tool nuget:?package=GameMcpServer&version=1.0.0
Game Discovery MCP Server
A Model Context Protocol (MCP) server that discovers and manages installed games on Windows PC from various platforms including Steam, Epic Games, GOG, Windows Store/Xbox, and other installed programs.
Features
Multi-platform game discovery: Automatically scans for games from:
- Steam (including custom library locations)
- Epic Games Store
- GOG (Good Old Games)
- Xbox/Windows Store games
- EA games
- Ubisoft Connect games
- Rockstar games
- Battle.Net games
- Other installed programs (via Windows registry)
Comprehensive game information: Provides details including:
- Game name and platform
- Installation path and executable location
- Installation date and size
- Platform-specific metadata
MCP Tools Available:
discover_games: Finds all installed games across all platformsget_game_info: Gets detailed information about a specific gamelaunch_game: Launches a game by name (if executable is found)
Prerequisites
- .NET 10.0 or later
- Windows operating system
- Visual Studio Code (optional, for development)
Usage with VS Code
For local development:
{
"servers": {
"game-discovery": {
"command": "dotnet",
"args": ["run", "path/to/game-mcp.cs"]
}
}
}
Available Tools
discover_games
Discovers all installed games from all supported platforms.
Example usage in Claude: "Can you discover all the games I have installed on my PC?"
Returns: JSON object with:
- Total game count
- Games grouped by platform
- Detailed list of all games with metadata
get_game_info
Gets detailed information about a specific game by name.
Parameters:
gameName: The name of the game to search for
Example usage: "Get information about Cyberpunk 2077"
launch_game
Launches a game by name if it has a valid executable path.
Parameters:
gameName: The exact name of the game to launch
Example usage: "Launch Steam's Half-Life 2"
How It Works
The server uses multiple discovery methods:
Steam Games:
- Reads Steam installation path from registry
- Parses
libraryfolders.vdffor custom library locations - Scans
steamapps/commondirectories for game folders
Epic Games:
- Reads game manifests from
%ProgramData%/Epic/EpicGamesLauncher/Data/Manifests - Parses JSON manifest files for game information
- Reads game manifests from
GOG Games:
- Queries Windows registry under
SOFTWARE\GOG.com\Games - Extracts game paths and executable information
- Queries Windows registry under
Xbox/Windows Store:
- Scans
%ProgramFiles%/WindowsAppsdirectory - Parses AppxManifest.xml files for application information
- Filters for gaming applications
- Scans
Registry Programs:
- Scans Windows uninstall registry entries
- Uses heuristics to identify game-like applications
- Filters out system utilities and non-gaming software
Error Handling
The server is designed to be robust and continue functioning even if:
- Some platforms are not installed
- Registry keys are inaccessible
- Directories have permission restrictions
- Individual games have corrupted metadata
Errors are logged to stderr and don't interrupt the discovery process for other platforms.
Security Considerations
- The server only reads system information and doesn't modify anything
- Game launching requires explicit user confirmation through the MCP client
- All file system access is read-only except for launching executables
- Registry access is read-only
Development
This project uses:
- .NET 10.0
- Model Context Protocol SDK for .NET
- Microsoft.Extensions.Hosting for application lifecycle
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Hosting (>= 9.0.9)
- ModelContextProtocol (>= 0.3.0-preview.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.