{
  "markdown": "# Steam Local MCP\n\nA free, open-source Windows [Model Context Protocol](https://modelcontextprotocol.io/) server that lets an MCP-capable agent work with the Steam client installed for the current Windows user.\n\nAsk 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.\n\nThis 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.\n\n## Example Usage\n\n```text\nUser: \"Pick a strategy game for me to play.\"\n\nAgent: 🛠️ Calling steam_list_games()\n\nAgent: \"How about Balatro? Should I launch it?\"\n\nUser: \"Yes.\"\n\nAgent: 🛠️ Calling steam_launch_game(app_id: 2861700)\n\nAgent: \"Launched Balatro.\"\n```\n\n## What it can do\n\n### Local Steam tools — no API key\n\n- `steam_list_games` and `steam_find_game` — inspect locally installed games across all configured Steam libraries.\n- `steam_launch_game` — launch one installed game by name or app ID.\n- `steam_get_game_install_status` and `steam_get_download_status` — inspect manifest-recorded install, update, download, and paused-download states.\n- `steam_get_library_storage` — show installed sizes and free disk space for every local Steam library.\n- `steam_open_library_page`, `steam_open_store_page`, and `steam_open_client_page` — navigate the Steam client.\n- `steam_install_game` — ask Steam to install an app ID; Steam validates ownership and manages the install flow.\n- `steam_client_status` — report the detected Steam installation, discovery source, and whether Steam is running.\n\n### Public Store tools — no API key\n\n- `steam_search_store` — find Store app IDs from a game name.\n- `steam_get_game_details` — get public metadata, price, genres, release date, and Metacritic score.\n\n### Optional account tools — Steam Web API key required\n\nSet `STEAM_API_KEY` and `STEAM_ID` to enable:\n\n- `steam_api_status` — verify if API credentials are configured, valid, and connected to Steam's Web API.\n- `steam_get_library` — owned games, playtime, last played, filtering, and pagination.\n- `steam_get_recently_played` — recently played games, ordered by two-week playtime.\n\n## Requirements\n\n- Windows 10 or newer\n- Steam installed for the current Windows user\n- Node.js 20 or newer\n\n## Install from npm\n\nTo install the published package via npm, add this equivalent configuration to your MCP client:\n\n```json\n{\n  \"mcpServers\": {\n    \"steam\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"steam-local-mcp\"]\n    }\n  }\n}\n```\n\nThe 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.\n\nTo confirm your install manually, run:\n\n```powershell\nnpx -y steam-local-mcp print-config\n```\n\n## Install from source\n\nUse this when developing, auditing the source, or before an npm release is available:\n\n```powershell\ngit clone https://github.com/Jackson-Brooks/steam-local-mcp.git\ncd steam-local-mcp\nnpm install\nnpm run build\n```\n\nThen configure your MCP client to run the compiled entry point from the directory you cloned:\n\n```json\n{\n  \"mcpServers\": {\n    \"steam\": {\n      \"command\": \"node\",\n      \"args\": [\"C:\\\\path\\\\to\\\\steam-local-mcp\\\\dist\\\\src\\\\index.js\"]\n    }\n  }\n}\n```\n\nReplace `C:\\path\\to\\steam-local-mcp` with your own clone location. Do not use another user's path.\n\n## Optional Steam Web API configuration\n\nPass credentials through your MCP client's environment configuration or the operating-system environment:\n\n```json\n{\n  \"mcpServers\": {\n    \"steam\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"steam-local-mcp\"],\n      \"env\": {\n        \"STEAM_API_KEY\": \"your_key\",\n        \"STEAM_ID\": \"your_64_bit_steam_id\"\n      }\n    }\n  }\n}\n```\n\nThe 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.\n\n### Getting your Steam API credentials\n\n1. Sign in to Steam in a browser and open the [Steam Web API key page](https://steamcommunity.com/dev/apikey).\n2. Create or copy your key, then set it as `STEAM_API_KEY` in your MCP client's environment configuration. Keep it private.\n3. Set `STEAM_ID` to your numeric **64-bit Steam ID**, not your account name. It is commonly visible in a profile URL such as `https://steamcommunity.com/profiles/7656119...`.\n4. Restart or reconnect your MCP client, then call `steam_api_status` to confirm that the credentials are configured.\n\nWith 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.\n\n## Steam detection and local status\n\nSteam Local MCP checks, in order:\n\n1. `STEAM_PATH` — either the Steam directory or its `steam.exe`\n2. Current-user and machine Valve registry keys\n3. Conventional per-user, Program Files, and `C:\\Steam` locations\n4. `steam.exe` on `PATH`\n\nUse `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`.\n\nInstallation/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.\n\n## Privacy and safety\n\n- Local tools read local Steam files and open Steam URIs; they do not require a Steam Web API key.\n- `steam_launch_game` only launches games found in a local installed-game manifest.\n- Steam starts hidden when required for an action, rather than opening a visible launcher window first.\n- There is no purchase or uninstall tool.\n- Public Store descriptions are omitted by default. If explicitly requested, descriptions are capped, converted to plain text, and marked as untrusted external content.\n- Web API and Store responses are cached locally under `%LOCALAPPDATA%\\steam-local-mcp\\cache` by default. Set `STEAM_MCP_CACHE_DIR` to override it, and call `steam_refresh_cache` to clear it.\n\n## Development\n\n```powershell\nnpm install\nnpm test\nnpm pack --dry-run\n```\n\nThe 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.\n\n## Contributing\n\nIssues 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.\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 6804,
  "sha": "84de7303ff97f4599fdc007b576e1348aea1338c939e8cd9f4085a393608f135",
  "repo_slug": "jackson-brooks/steam-local-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_jackson_brooks_steam_local_mcp_d9011dd6/readme"
}