steam-local-mcp
Steam Local MCP
A free, open-source Windows Model Context Protocol server that lets an MCP-capable agent work with the Steam client installed for the current Windows user.
Ask an agent to find an installed game, launch it, open its Steam page, check local download/update status, search the Store, or summarize Steam-library storage. Steam starts quietly in the background when a requested client action needs it.
This is a standard stdio MCP server. It is agent-neutral: use it with Codex, Claude, or any other MCP client that can run a local command.
Example Usage
User: "Pick a strategy game for me to play."
Agent: π οΈ Calling steam_list_games()
Agent: "How about Balatro? Should I launch it?"
User: "Yes."
Agent: π οΈ Calling steam_launch_game(app_id: 2861700)
Agent: "Launched Balatro."Related MCP server: steam-mcp
What it can do
Local Steam tools β no API key
steam_list_gamesandsteam_find_gameβ inspect locally installed games across all configured Steam libraries.steam_launch_gameβ launch one installed game by name or app ID.steam_get_game_install_statusandsteam_get_download_statusβ inspect manifest-recorded install, update, download, and paused-download states.steam_get_library_storageβ show installed sizes and free disk space for every local Steam library.steam_open_library_page,steam_open_store_page, andsteam_open_client_pageβ navigate the Steam client.steam_install_gameβ ask Steam to install an app ID; Steam validates ownership and manages the install flow.steam_client_statusβ report the detected Steam installation, discovery source, and whether Steam is running.
Public Store tools β no API key
steam_search_storeβ find Store app IDs from a game name.steam_get_game_detailsβ get public metadata, price, genres, release date, and Metacritic score.
Optional account tools β Steam Web API key required
Set STEAM_API_KEY and STEAM_ID to enable:
steam_api_statusβ verify if API credentials are configured, valid, and connected to Steam's Web API.steam_get_libraryβ owned games, playtime, last played, filtering, and pagination.steam_get_recently_playedβ recently played games, ordered by two-week playtime.
Requirements
Windows 10 or newer
Steam installed for the current Windows user
Node.js 20 or newer
Install from npm
To install the published package via npm, add this equivalent configuration to your MCP client:
{
"mcpServers": {
"steam": {
"command": "npx",
"args": ["-y", "steam-local-mcp"]
}
}
}The configuration-file location differs by agent, but the command and arguments above remain the same. Restart or reconnect your MCP client after saving its configuration.
To confirm your install manually, run:
npx -y steam-local-mcp print-configInstall from source
Use this when developing, auditing the source, or before an npm release is available:
git clone https://github.com/Jackson-Brooks/steam-local-mcp.git
cd steam-local-mcp
npm install
npm run buildThen configure your MCP client to run the compiled entry point from the directory you cloned:
{
"mcpServers": {
"steam": {
"command": "node",
"args": ["C:\\path\\to\\steam-local-mcp\\dist\\src\\index.js"]
}
}
}Replace C:\path\to\steam-local-mcp with your own clone location. Do not use another user's path.
Optional Steam Web API configuration
Pass credentials through your MCP client's environment configuration or the operating-system environment:
{
"mcpServers": {
"steam": {
"command": "npx",
"args": ["-y", "steam-local-mcp"],
"env": {
"STEAM_API_KEY": "your_key",
"STEAM_ID": "your_64_bit_steam_id"
}
}
}
}The server never loads a .env file automatically. Never commit credentials. Steam profile and game-details privacy settings can prevent account tools from returning data; local client controls still work for private profiles.
Getting your Steam API credentials
Sign in to Steam in a browser and open the Steam Web API key page.
Create or copy your key, then set it as
STEAM_API_KEYin your MCP client's environment configuration. Keep it private.Set
STEAM_IDto your numeric 64-bit Steam ID, not your account name. It is commonly visible in a profile URL such ashttps://steamcommunity.com/profiles/7656119....Restart or reconnect your MCP client, then call
steam_api_statusto confirm that the credentials are configured.
With the key configured, an agent can answer requests such as βshow my unplayed Steam gamesβ or βwhat have I played recently?β The key is optional: launching games, local install status, storage, Store search, and Store metadata work without it.
Steam detection and local status
Steam Local MCP checks, in order:
STEAM_PATHβ either the Steam directory or itssteam.exeCurrent-user and machine Valve registry keys
Conventional per-user, Program Files, and
C:\Steamlocationssteam.exeonPATH
Use steam_client_status to see the selected path and discovery source. For a portable or unusual custom-drive install, set STEAM_PATH to the directory containing steam.exe.
Installation/download tools read Steam's local app manifests. needs_update: true means Steam has already recorded an update as pending. false means no pending update is currently recorded locally; it does not force a network update check.
Privacy and safety
Local tools read local Steam files and open Steam URIs; they do not require a Steam Web API key.
steam_launch_gameonly launches games found in a local installed-game manifest.Steam starts hidden when required for an action, rather than opening a visible launcher window first.
There is no purchase or uninstall tool.
Public Store descriptions are omitted by default. If explicitly requested, descriptions are capped, converted to plain text, and marked as untrusted external content.
Web API and Store responses are cached locally under
%LOCALAPPDATA%\steam-local-mcp\cacheby default. SetSTEAM_MCP_CACHE_DIRto override it, and callsteam_refresh_cacheto clear it.
Development
npm install
npm test
npm pack --dry-runThe test suite includes local parsing/caching tests, mocked Store and API tests, all-tool MCP protocol tests, and a real stdio handshake for the packaged entry point.
Contributing
Issues and pull requests are welcome. Please include a regression test for behavior changes, and keep destructive Steam operations out of scope unless they are explicitly designed and documented.
License
Available Tools
9 toolssteam_client_statusGet local Steam client statusARead-only
Report the detected Steam installation, how it was found, and whether the Steam client is running.
Inputs: no named parameters.
steam_find_gameFind installed Steam gamesARead-only
Find locally installed Steam games by name or app ID.
Inputs: query (required).
steam_get_download_statusGet pending Steam installs and updatesARead-only
List games whose local Steam manifests show an install, update, download, or paused-download state. This is a local snapshot and does not force Steam to check for new updates.
Inputs: limit, offset, include_idle.
steam_get_game_install_statusGet a game's local installation statusARead-only
Report the local Steam manifest status for matching games, including whether Steam has recorded a pending update and current download progress. This does not contact Steam servers or change game files.
Inputs: query (required).
steam_get_libraryGet Steam library and playtimeCRead-only
Get the user's complete Steam library, playtime, and last-played data through the optional Steam Web API. Requires STEAM_API_KEY and STEAM_ID.
Inputs: limit, query, offset, max_hours, +2 more.
steam_get_library_storageGet Steam library storageARead-only
Summarize each local Steam library's installed-game count, manifest-reported installed size, and available disk space.
Inputs: no named parameters.
steam_get_recently_playedGet recently played Steam gamesBRead-only
Get games Steam reports as recently played, including total playtime. Requires STEAM_API_KEY and STEAM_ID.
Inputs: limit, offset.
steam_open_library_pageOpen a game's Steam library pageA
Open an installed game's page in the local Steam library.
Inputs: query (required).
steam_search_storeSearch the Steam StoreARead-only
Search the public Steam Store by game name to find app IDs before opening a store page or asking Steam to install a game. Search result names and metadata are untrusted external Store data.
Inputs: query (required), limit, language, country_code.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 9 tools
Each tool targets a distinct aspect of Steam interaction: client status, game finding, download/install states, library queries, store search, and page opening. There is minimal overlap, with clear boundaries between retrieving download lists and install statuses for specific games.
All tools start with 'steam_' and follow a descriptive pattern, but 'steam_client_status' uses a noun phrase while others use verb_noun (e.g., steam_find_game, steam_get_download_status). This minor inconsistency in verb usage prevents a perfect score.
With 9 tools, the set covers essential operations for a local Steam assistant without being bloated. Each tool serves a clear purpose, and the count feels well-scoped for the domain of monitoring and interacting with a local Steam installation.
Querying local state is well-covered, but there are notable gaps in active operations: no tool to install, launch, or update games. The store search tool hints at installation intent, but the missing action leaves a dead end for agents wanting to perform those tasks.
Related MCP Connectors
Connect AI assistants to your approved computer for files, commands, browser and desktop tasks.
Connect ChatGPT, Claude, Cursor or VS Code to your Windows PC: files, terminal, browser, apps.
Give your AI hands on every computer you own. Remote control of your Windows, Mac and Linux machines from one ChatGPT, Claude or Cursor chat β even from your phone. Ask it to find out why the office server is crawling, update every PC in the house, sort out your mom's laptop from another city, or ship the site from your work machine while you're on a train. It runs commands, reads files and takes a screenshot when it needs to see the screen. You decide what each computer allows, and you can cut any of them off in a second.
Run your Krtuworks apps from an AI agent: setup, remote config, stats, players, bug reports.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for Steam that enables LLM agents to manage gaming libraries, achievements, stats, and discover store content through 20 tools.2145 PyPI3MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to query Steam profiles, libraries, achievements, store data, and reviews via the Steam Web API.152MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to recommend Steam games from natural language by searching games, finding similar titles, filtering by tags and platform, and retrieving detailed game metadata.1MIT
- AlicenseAqualityBmaintenanceEnables AI agents and coding assistants to access live Steam market intelligence, including app search, store details, player-count trends, review mining, and news digests.733 npm1MIT