Steam MCP (read-only)

by sarg338

Not rated
GitHub

About

Read-only Steam: store, reviews, sales, prices, player counts and Steam Deck compatibility with no API key, plus library, playtime, friends, achievements, wishlist and co-op night planning with a free Steam Web API key.

Details

Author
sarg338
Categories
Developer Tools

Setup

Install Steam MCP (read-only) in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/sarg338/steam-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

A read-onlyModel Context Protocolserver for the public Steam Web API and storefront —37 tools, 5 prompts, and 2 resourcesthat let any MCP client (Claude Desktop, Claude Code, Cursor, …) answer questions about Steam: your friends, games, playtime, and achievements, plus account-independent things like sales, reviews, live player counts, Steam Deck compatibility, discovery, recommendations, and co-op planning.

Read-only · official Steam APIs only · open source.Nobody logs in, and the server never writes, trades, posts, launches games, or makes purchases.

That's the whole setup.15 of the 37 tools work with no credential at all— anything about the store or a game itself:

"Is Baldur's Gate 3 worth buying, and how are its recent reviews trending?""What co-op games are on sale under £20 right now?""How many people are playing Helldivers 2 this minute?""Will Hades II run properly on my Steam Deck?"

The three game-finders (steam_discover,steam_should_i_buy,steam_recommend) work without a key too, as long as you don't personalize them.

Afree Steam Web API key(a minute to get) unlocks the other 22 — the ones that read aspecific account: library, playtime, friends, achievements, wishlist, inventory. AddSTEAM_USERtoo and "my"/"I" default to you, so you never have to paste a SteamID:

claude mcp add steam --env STEAM_API_KEY=YOUR_KEY --env STEAM_USER=your_steam_name -- uvx steam-mcp

Tip: this defaults to the current project. Add--scope useronly if you want Steam ineveryproject — that keeps its tools in context everywhere, so prefer per-project scope unless Steam is cross-cutting for you.

Claude Desktop— downloadsteam-mcp.mcpbfrom thelatest releaseand open it (Settings → Extensions). Both fields are optional; leave them blank for the keyless tools and fill them in later.

Cursor / Cline / Windsurf and the manualpipsetup are underSetupbelow.

Without a key, the account tools are still listed but marked[unavailable: needs STEAM_API_KEY], so your assistant knows to reach for a keyless tool instead of failing at one it can't use.

Account / profile (needs a public profile; setSTEAM_USERand "my"/"I" default to you — no SteamID needed):

- "Who's on my friends list, and who's online right now?"
- "Which of my friends ownHelldivers 2— and who's playing it now?"
- "It's game night — what co-op games do my online friends and I all own?"
- "Analyze my library — my backlog, and what I loved but abandoned."
- "Which achievements am I missing inHollow Knight, and which are my rarest?"
- "What's on my wishlist, and is any of it on sale?"
- "Based on what I play most, what should I check out next?"
- "What's in my CS2 inventory, and which items are marketable?"

Account-independent (works for any game, no SteamID needed):

- "IsBaldur's Gate 3worth buying — and how are its recent reviews trending?"
- "What's on sale right now, and what are the current top sellers?"
- "How many people are playingCounter-Strike 2this minute?"
- "WillHades IIrun on my Steam Deck?"
- "What's the Community Market price of a Field-Tested AK-47 | Redline?"
- "IsElden Ringa soulslike? What are its community tags?"
- "Find well-reviewed co-op roguelikes under $20."
- "Recommend games likeHollow Knightthat I don't already own."

Every tool supportsresponse_format: "markdown"(default) or"json", and all are annotatedreadOnlyHint: true. Prefer the composite tools (steam_should_i_buy,steam_recommend,steam_discover,steam_plan_coop_night) over chaining several calls, and ask forjsononly when you need to parse fields. Tools that read localized text accept alanguageparameter — a Steam language name likefrenchorschinese(defaultenglish).

steam_discover,steam_should_i_buy, andsteam_recommendneed no key for the store data; theirpersonalization(passing asteamidto use a user's library/taste) requires a key and a public profile.

steam_get_inventoryreads a keyless endpoint, but it still has to knowwhoseinventory — and turning a vanity name (orSTEAM_USER) into a SteamID64 is itself a keyed call. Pass a raw 17-digit SteamID64 and it works with no key.

Beyond tools, the server shipsprompts(guided one-click flows that orchestrate the tools) andresources(reference Steam entities by URI):

- Prompts:what_should_i_play,is_it_worth_buying,plan_game_night,steam_deals,game_overview.
- Resources:steam://app/{appid}(store details) andsteam://user/{steamid}(profile + live status).

Recent reviews:Steam's API only exposes alifetimereview summary — there is no "last 30 days" field. Sosteam_get_app_reviewswithreview_filter='recent'computes that score itself by paginating the newest reviews withinday_rangedays (default 30). For games with a very high volume of recent reviews it counts up to ~600 and marks the resultsampled: true.

Market prices:steam_get_market_priceuses Steam's Community Market endpoints, which are undocumented and tightly rate-limited. Results are cached briefly; an item with no current listings reports its price as unavailable.

1. Get a free Steam Web API key(optional)

Skip this if you only want the 15 keyless tools — the server runs fine without a key and the account tools simply advertise themselves as unavailable.

The published package needs no checkout (Python 3.10+):

uvx steam-mcp # zero-install via uv (recommended) # or pip install steam-mcp # run as: python -m steam_mcp.server

Both MCP Python SDK majors work (mcp>=1.28). On the v2 SDK the server speaks spec revision 2026-07-28 — stateless, noinitializehandshake — advertises cache hints on its tool/prompt/resource listings, and can ask you which Steam account is yours whenSTEAM_USERisn't set (once per session, and only if your client supports elicitation). On the v1.x line it serves theinitializehandshake that modern clients fall back to anyway. Nothing to configure either way.

TLS note:the HTTP client ishttpx2, which verifies certificates against youroperating system'strust store rather than a bundled CA list. If you run this somewhere minimal (a slim container with no system CA store, or behind a private CA), pointSSL_CERT_FILEorSSL_CERT_DIRat a CA bundle.

Both settings are optional.STEAM_API_KEYunlocks the account tools;STEAM_USER(your Steam vanity name, SteamID64, or profile URL) makes those tools default toyouwhenever you don't name a user, so you never paste a SteamID. It's a public profile name, not a secret, and you can still pass asteamidto any call to override it.

Configure neither and you get the keyless server; configure both and you get everything.

claude mcp add steam --env STEAM_API_KEY=YOUR_KEY --env STEAM_USER=your_steam_name -- uvx steam-mcp

STEAM_USERis optional — drop the second--envif you'd rather give a SteamID to each call.

Claude Desktop— installsteam-mcp.mcpbfrom thelatest releasevia Settings → Extensions and paste your key (and, optionally, your Steam name).

Everything else(Claude Desktop config, Cursor, Cline, Windsurf, VS Code, …) — drop this block into the client's MCP config file:

{ "mcpServers": { "steam": { "command": "uvx", "args": ["steam-mcp"], "env": { "STEAM_API_KEY": "YOUR_KEY_HERE", "STEAM_USER": "your_steam_name" } } } }

Config locations: Claude Desktopclaude_desktop_config.json(%APPDATA%\Claude\on Windows,~/Library/Application Support/Claude/on macOS); Cursor.cursor/mcp.json; Clinecline_mcp_settings.json. Restart the client and the Steam tools appear. Running from a source checkout instead? Use"command": "python", "args": ["-m", "steam_mcp.server"].

Read-only, official-Steam-only, and bring-your-own-key. In short:

- Read-only— never writes, trades, posts, launches games, or buys anything.
-
Your key stays yours— read fromSTEAM_API_KEY; never written to disk, logged, cached, or put in output (and redacted from error messages).
-
Official hosts only— the request layer refuses any host that isn'tapi.steampowered.com/store.steampowered.com/steamcommunity.com(SSRF guard), with per-host rate limiting and retry/backoff.
-
Typed, validated inputs(extra="forbid"); no data kept between requests beyond a small TTL cache of non-user store data.

Full details and how to report issues are inSECURITY.md.

steam-mcpfollowsSemantic Versioning. As of1.0, the following are thestable public surface— they won't change without a major (2.0) release:

- Tool namesand theirinput parameters(names, types, whether required, defaults)
-
JSON output fields(response_format: "json") — names, types, and structure
-
Promptnames/arguments andresourceURI templates (steam://app/{appid},steam://user/{steamid})
- Core semantics: read-only, bring-your-own-key, prices in cents / playtime in minutes, and errors returned as strings

Within a major version,minorreleases mayaddtools, prompts, resources, optional parameters, and JSON fields;patchreleases are bug fixes only. TheMarkdownoutput wording, internal implementation, caching behavior, and which Steam endpoints back a given tool may change at any time and arenot*part of the contract.

MIT. Not affiliated with Valve. "Steam" is a trademark of Valve Corporation.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Create crafted UI components inspired by the best 21st.dev design engineers.

Bring agent evaluations, observability, and synthetic test set generation directly into your IDE for free with Galileo's new MCP server

An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively .

MCP server for AI Diagram Maker — generate beautiful software engineering diagrams directly inside Cursor, Claude Desktop, Claude Code, or any MCP-compatible AI agent

ALAPI MCP Tools,Call hundreds of API interfaces via MCP

AI-powered SVG animation generator that transforms static files into animated SVG components using the Allyson platform

MCP server that gives AI assistants on-demand access to 1,500+ amCharts docs, ~300 code examples, and 1000+ class API references.

APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.

One shared context layer for AI agents and humans — live API specs, DB schemas, and versioned contracts across repos so every agent and teammate works from the same source of truth.

Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.