GameMcpServer 1.0.4
dotnet tool install --global GameMcpServer --version 1.0.4
dotnet new tool-manifest
dotnet tool install --local GameMcpServer --version 1.0.4
#tool dotnet:?package=GameMcpServer&version=1.0.4
nuke :add-package GameMcpServer --version 1.0.4
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
Usage with VS Code
{
"servers": {
"McpServer1": {
"type": "stdio",
"command": "dnx",
"args": [
"GameMcpServer@1.0.4",
"--yes"
]
}
}
}
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
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.