
Steam (read-only)
io.github.Sarg338由 GitHub 账号 Sarg338 发布v1.19.0更新于 Oct 24, 2026
Read-only Steam: friends, games, achievements, sales, plus game recommendations and co-op nights.
概览
只读的 Steam MCP 服务器,让助手查询游戏、价格、评测、在线人数、成就、游戏库和好友。
- 可以做什么
- 搜索游戏并获取商店详情、价格、分区定价、DLC、标签、Steam Deck 评级和新闻,还能并排比较游戏、分析评测情绪以及更新对评测的影响。按标签、价格、促销或发售时间发现和推荐游戏,生成购买建议和联机推荐。读取实时在线人数、热销榜、当前促销、社区市场物品价格和创意工坊物品信息。配置 API 密钥后可读取指定账户的资料、好友及在线状态、已拥有游戏、游玩时长、游戏库分析、愿望单、库存、徽章、封禁记录、游戏内统计和成就。比较两名玩家的共同游戏,并按群体拥有情况规划联机之夜。
- 适用场景
- 适合在聊天中让助手回答 Steam 相关问题:某款游戏是否值得买、当前有哪些促销、评测口碑如何、能否在 Steam Deck 上运行,或你和好友共同拥有哪些联机游戏。
- 运行要求
- 以本地 Python 包运行(Python 3.10+),可通过 uvx 或 pip 安装,也可作为 Claude Desktop 扩展包安装。19 个商店与游戏类工具无需任何凭据;账户类工具需要在 STEAM_API_KEY 中提供免费的 Steam Web API 密钥。STEAM_USER 可选,用于设定默认个人资料;STEAM_MCP_TOOLS 可限制加载的工具。需要访问 Steam 官方主机的网络连接。
安装
在 SourceWeft 中
- 打开 控制台中的 Steam (read-only),将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Steam MCP
[PyPI] [Python] [CI] [License: MIT] [MCP Registry]
A read-only Model Context Protocol server for the public Steam Web API and storefront — 41 tools, 5 prompts, and 2 resources that 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.
Quick start — no API key needed
Install uv, then:
Claude Code
That's the whole setup. 19 of the 41 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.
Adding your own account
A free Steam Web API key (a minute to get)
unlocks the other 22 — the ones that read a specific account: library, playtime,
friends, achievements, wishlist, inventory. Add STEAM_USER too and "my"/"I" default to
you, so you never have to paste a SteamID:
Tip: this defaults to the current project. Add
--scope useronly if you want Steam in every project — that keeps its tools in context everywhere, so prefer per-project scope unless Steam is cross-cutting for you.
Claude Desktop — download steam-mcp.mcpb from the
latest release and 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 manual pip setup are under Setup below.
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.
What it can answer
Account / profile (needs a public profile; set STEAM_USER and "my"/"I" default
to you — no SteamID needed):
- "Who's on my friends list, and who's online right now?"
- "Which of my friends own Helldivers 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 in Hollow 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):
- "Is Baldur's Gate 3 worth 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 playing Counter-Strike 2 this minute?"
- "Will Hades II run on my Steam Deck?"
- "What's the Community Market price of a Field-Tested AK-47 | Redline?"
- "Is Elden Ring a soulslike? What are its community tags?"
- "Find well-reviewed co-op roguelikes under $20."
- "Recommend games like Hollow Knight that I don't already own."
Tools
Every tool supports response_format: "markdown" (default) or "json", and all are
annotated readOnlyHint: true. Prefer the composite tools (steam_should_i_buy,
steam_recommend, steam_discover, steam_plan_coop_night) over chaining several
calls, and ask for json only when you need to parse fields. Tools that read
localized text accept a language parameter — a Steam language name like french or
schinese (default english).
*
steam_discover,steam_should_i_buy, andsteam_recommendneed no key for the store data; their personalization (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 know whose inventory — 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.
Prompts & resources
Beyond tools, the server ships prompts (guided one-click flows that orchestrate the tools) and resources (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_get_app_reviewswithreview_filter='recent'asks Steam for the exact review count and score of the lastday_rangedays (default 30), the same numbers as the store page's "Recent Reviews" row. If Steam refuses that request it falls back to counting the newest reviews, up torecent_max_reviews, and marks the resultsampled: true.Whose reviews count: by default both scores count what the store page counts: Steam purchases only for a paid game (key activations are left out) and everyone for a free game.
purchase_type='all'or'steam'forces either.
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.
Setup
1. Get a free Steam Web API key (optional)
Skip this if you only want the 19 keyless tools — the server runs fine without a key and the account tools simply advertise themselves as unavailable.
To unlock the account tools, visit https://steamcommunity.com/dev/apikey, sign in,
register a domain (any domain you control works; localhost is commonly used for
personal keys), and copy the key. Usage is governed by the
Steam Web API Terms of Use.
2. Install
The published package needs no checkout (Python 3.10+):
Both MCP Python SDK majors work (mcp>=1.28). On the v2 SDK the server speaks
spec revision 2026-07-28 — stateless, no initialize handshake — advertises
cache hints on its tool/prompt/resource listings, and can ask you which Steam
account is yours when STEAM_USER isn't set (once per session, and only if your
client supports elicitation). On the v1.x line it serves the initialize
handshake that modern clients fall back to anyway. Nothing to configure either
way.
TLS note: the HTTP client is
httpx2, which verifies certificates against your operating system's trust 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.
3. Add it to your MCP client
Both settings are optional. STEAM_API_KEY unlocks the account tools; STEAM_USER
(your Steam vanity name, SteamID64, or profile URL) makes those tools default to you
whenever 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 a steamid to any call to override it.
Configure neither and you get the keyless server; configure both and you get everything.
Smaller tool set (optional). Every tool's definition goes into the model's context
on every request, about 11.5k tokens for all 41. Set STEAM_MCP_TOOLS=essentials to
load just 15: search, the one-call game brief, details, reviews, compare, should-I-buy,
discover, recommend, update impact, sales, and your profile, library, library analysis,
wishlist and co-op night. Add others by name (essentials,get_inventory), or list
exactly the ones you want. The default is all. The built-in prompts may mention a
tool your set leaves out.
Claude Code
STEAM_USERis optional — drop the second--envif you'd rather give a SteamID to each call.
Claude Desktop — install steam-mcp.mcpb from the
latest release via
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:
Installing with an AI agent such as Cline? Point it at
llms-install.md, which walks it through the setup.
Config locations: Claude Desktop claude_desktop_config.json (%APPDATA%\Claude\
on Windows, ~/Library/Application Support/Claude/ on macOS); Cursor
.cursor/mcp.json; Cline cline_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"].
Security
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 from
STEAM_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't
api.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 in SECURITY.md.
Versioning & stability
steam-mcp follows Semantic Versioning. As of 1.0, the
following are the stable public surface — they won't change without a major
(2.0) release:
- Tool names and their input parameters (names, types, whether required, defaults)
- JSON output fields (
response_format: "json") — names, types, and structure - Prompt names/arguments and resource URI 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, minor releases may add tools, prompts, resources, optional parameters, and JSON fields; patch releases are bug fixes only. The Markdown output wording, internal implementation, caching behavior, and which Steam endpoints back a given tool may change at any time and are not part of the contract.
License
MIT. Not affiliated with Valve. "Steam" is a trademark of Valve Corporation.
来源:README.md,提交 925da51
工具
0版本历史
5- v1.19.0最新Sep 24, 2026
- v1.18.0Sep 23, 2026
- v1.17.0Sep 23, 2026
- v1.16.1Sep 22, 2026
- v1.14.0Sep 16, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。