The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Steam Games MCP listing page.
An MCP server for Steam: search games and read store details, prices, reviews, discounts and news (no key), plus player profiles, libraries and achievements via the official Steam Web API (free key).
Read-only · official Steam APIs only · most tools need no key · open source.
Nobody logs in; the only credential is a free Steam Web API key you set yourself, and the server never writes, trades, posts, launches games, or makes purchases.
Works with any MCP client (Claude Desktop/Code, Cursor, VS Code, Cline, …) over stdio.
Once it's connected, just ask your agent in natural language.
No credentials needed (store, search & discovery):
With a free API key + your STEAM_ID (your account; see Getting your credentials):
Add it to your MCP client's config. Store/search tools work with no credentials; player tools need a free Steam Web API key.
Replace each value with your own; remove the optional lines you don't need. A free key comes from https://steamcommunity.com/dev/apikey. From source:
npm ci && npm run build, then use"command": "node","args": ["/ABS/PATH/steam-games-mcp/dist/index.js"].
Download steam-games-mcp.mcpb
(always the latest release) and open it in Claude Desktop (Settings → Extensions), then
fill the optional fields (API key, Steam ID, country, language) in the install form. No JSON editing.
Also listed in the MCP Registry
as io.github.Grinv/steam-games-mcp.
Store, search and discovery tools need nothing; skip this section if that's all you want. The player tools (profile, library, achievements, your wishlist) need a free API key and a public profile. Three short steps:
Get a free Steam Web API key. Sign in at
https://steamcommunity.com/dev/apikey, enter any domain (e.g. localhost),
and copy the key into STEAM_API_KEY.
Find your Steam ID. Set STEAM_ID to either:
steamcommunity.com/id/YOUR_NAME → YOUR_NAME (resolved automatically), orsteamcommunity.com/profiles/7656…; or look it
up at https://steamid.io).With STEAM_ID set you can just ask "my wishlist / library"; without it,
give the agent a SteamID64 each time (use resolve_vanity_url to convert a name).
Make your profile public (for your own library/achievements): Steam → profile → Edit Profile → Privacy Settings → set My profile and Game details to Public.
The key and Steam ID go in your MCP client config (the
envblock above). See docs/clients.md for per-client examples. Never commit them.
Key: – no credentials · K Steam Web API key.
| Tool | Key | Purpose |
|---|---|---|
search_games | – | Find games by title → appid (with price) |
get_game | – | Store details by appid or name: price, genres, platforms, Metacritic, age rating, DLC, requirements |
get_items | – | Batch store card (price, review %, Deck/SteamOS/Machine/Frame compat, native platforms, tags) — up to 50 appids |
discover_games | – | Find games catalog-wide by discount, recency, Deck/SteamOS/Machine/Frame, platform, tags, rating |
get_game_reviews | – | Review summary + recent reviews |
get_review_histogram | – | Review trend over time (history + recent) |
get_prices | – | Batch current price/discount — up to 250 appids |
get_specials | – | Steam front-page discounts |
get_featured | – | Featured sections (top sellers, new releases, …) |
get_game_news | – | Recent news / patch notes |
get_global_achievements | – | Global achievement unlock rates (rarity) — top 200 |
get_current_players | – | Live concurrent player count |
get_wishlist | – | A player's wishlist — appids, or full cards + on-sale filter with include_details (public profiles) |
get_followed_games | – | A player's followed games (Steam's "follow" feature, separate from the wishlist) — appids (public profiles) |
get_game_achievements | K | Achievement list (names, descriptions) + rarity — first 150, definition order |
resolve_vanity_url | K | Custom profile name → SteamID64 |
get_player_summary | K | Player public profile (incl. Steam level) |
get_player_bans | K | VAC/game/community/economy ban status (works even on private profiles) |
get_owned_games | K | A player's games + playtime (top 50 by playtime; check_appids reliably checks specific appids past that cap) |
get_recently_played | K | Games played in the last two weeks (top 50 by recent playtime) |
get_recommended_games | K | Personalized picks from playtime-weighted tags + review quality, excluding owned games |
get_player_achievements | K | A player's achievement progress in a game — achievement list capped at top 200, unlocked first |
get_friend_list | K | A player's friends — name, online state, current game (public friends list) |
find_friends_who_own | K | Which friends own given appid(s) + their playtime — each friend's FULL library, first 200 friends (friends_checked) |
compare_players | K | Games two players both own, with each one's playtime — checks each player's FULL library, not just top 50 |
Two tiers. Store/search + discovery tools (store/api.steampowered.com)
need no credentials — including catalog-wide discovery (discover_games:
deals, new releases, Deck / SteamOS / Machine / Frame compatibility, tags, rating) and batch
price/review checks (get_items).
Player tools need a free
STEAM_API_KEY and a public profile; they return a clear message when the
key is unset. The two exceptions are get_wishlist and get_followed_games,
marked – above: given a raw SteamID64 they work with no key at all (only
resolving a vanity name to an ID needs one). Set STEAM_ID (a SteamID64 or vanity name) to make those tools
default to you, so "my wishlist / library" works without passing an ID each time.
No third-party services: deal discovery and reviews come from Steam's own (keyless) store APIs. SteamDB is not used (no public API + scraping disallowed). Steam has no price-history API, so that isn't offered. Not affiliated with Valve.
Guided one-shot prompts that orchestrate several tools for a common question. Use these when your client exposes MCP prompts, instead of describing the steps yourself:
| Prompt | Args | What it does |
|---|---|---|
what_should_i_play | steamid, budget, tags (all optional) | Recommends catalog games from your library/taste, excluding what you own |
is_it_worth_buying | game (title or appid, optional, autocompletes; asks if omitted) | Price, review trend and Steam Deck compatibility → a buy/wait/skip verdict |
deals_digest | min_discount, min_review, tags (all optional) | A curated list of well-reviewed discounted games |
Runtime requires Node ≥ 20.11. Contributor/agent guidance: AGENTS.md. Security policy: SECURITY.md. Per-client config and all tunables: docs/clients.md.
npx -y steam-games-mcp fetches the latest on the next run..mcpb bundle: download the new bundle from the releases page and reinstall.git pull && npm ci && npm run build.steam-games-mcp runs entirely on your own machine and collects no data of
its own. See PRIVACY.md for exactly what it sends to Steam and
what (if anything) it stores locally.
MIT © Grinv