关于 Steam Mcp
Steam Mcp 是只读的 Steam Web API 与商店数据 MCP 服务,供 AI Agent 查询账户、游戏和商店信息。无需密钥即可使用部分商店功能,账户数据则需提供 Steam API 密钥。
主要功能
- 01查询游戏库、好友、成就和愿望单
- 02查看价格、折扣、评价和玩家数量
- 03发现、推荐并比较游戏
- 04规划好友合作游戏
- 05提供提示词和 Steam URI 资源
适用场景
- 01查看好友在线状态并规划合作游戏
- 02评估游戏评价趋势、价格和 Steam Deck 兼容性
- 03分析游戏库、游玩时间和待解成就
- 04查找折扣游戏并获取推荐
MCP 相关
该服务向 MCP 客户端提供只读 Steam 工具、提示词和 steam://app/{appid} 与 steam://user/{steamid} 资源。账户相关工具需 Steam API 密钥,部分商店工具无需密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
41收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| params | any | 是 |
详细介绍
Steam MCP
一个只读的 Model Context Protocol 服务,适用于 Steam 公共 Web API 和商店页面,提供 41 个工具、5 个提示词和 2 个资源,让任何 MCP 客户端 (Claude Desktop、Claude Code、Cursor、……)都能回答关于 Steam 的问题:你的好友、游戏、 游戏时长和成就,以及与账号无关的内容,例如促销、评价、实时玩家人数、Steam Deck 兼容性、探索、 推荐和合作游戏规划。
只读 · 仅使用 Steam 官方 API · 开源。 无需登录,服务也绝不会写入数据、交易、发帖、 启动游戏或进行购买。
快速开始 — 无需 API 密钥
安装 uv,然后:
Claude Code
claude mcp add steam -- uvx steam-mcp
整个设置就这么简单。41 个工具中有 19 个完全无需凭据即可使用——涵盖商店或游戏本身的内容:
“Baldur's Gate 3 值得买吗?近期评价的趋势如何?” “现在有哪些售价低于 £20 的合作游戏正在促销?” “此刻有多少人在玩 Helldivers 2?” “Hades II 在我的 Steam Deck 上能正常运行吗?”
三个游戏查找工具(steam_discover、steam_should_i_buy、steam_recommend)也无需密钥,
只要不对它们进行个性化设置即可。
添加你自己的账号
申请一个免费的 Steam Web API 密钥(一分钟即可获取),
即可解锁另外 22 个工具——用于读取特定账号的信息:游戏库、游戏时长、好友、成就、愿望单和库存。
再添加 STEAM_USER,那么“我的”/“我”就会默认指向你,无需粘贴 SteamID:
claude mcp add steam --env STEAM_API_KEY=YOUR_KEY --env STEAM_USER=your_steam_name -- uvx steam-mcp
提示:此设置默认仅应用于当前项目。只有希望在每个项目中都使用 Steam 时,才添加
--scope user——这样 Steam 工具会在所有项目中始终处于上下文中,因此除非 Steam 对你来说 是跨项目需求,否则建议使用项目级作用域。
Claude Desktop——从最新发布版本
下载 steam-mcp.mcpb 并打开它(Settings → Extensions)。这两个字段都是可选的;留空即可使用
无需密钥的工具,也可以之后再填写。
Cursor / Cline / Windsurf 以及手动 pip 安装方式请参阅下方的设置。
不提供密钥时,账号工具仍会列出,但会标记为
[unavailable: needs STEAM_API_KEY],这样助手就会知道改用无需密钥的工具,而不是尝试使用 自己无法调用的工具并失败。
它能回答的问题
账户/个人资料(需要公开个人资料;设置 STEAM_USER,并将“我的”/“我”默认指向你自己 — 无需 SteamID):
- “谁在我的好友列表中?现在谁在线?”
- “我的哪些好友拥有 Helldivers 2?现在谁在玩?”
- “今晚来玩游戏 — 我和在线好友都拥有的合作游戏有哪些?”
- “分析我的游戏库 — 我的待玩清单,以及我曾经喜欢却半途放弃的游戏。”
- “我在 Hollow Knight 中还缺少哪些成就?哪些成就最稀有?”
- “我的愿望单上有什么?其中有在打折的吗?”
- “根据我最常玩的游戏,我接下来应该看看什么?”
- “我的 CS2 库存里有什么?哪些物品可以在市场上出售?”
与账户无关(适用于任何游戏,无需 SteamID):
- “Baldur's Gate 3 值得买吗?它近期的评价趋势如何?”
- “现在有哪些游戏在打折?当前最畅销的游戏有哪些?”
- “此刻有多少人在玩 Counter-Strike 2?”
- “Hades II 能在我的 Steam Deck 上运行吗?”
- “磨损程度为实地测试的 AK-47 | Redline,在社区市场上的价格是多少?”
- “Elden Ring 属于魂系游戏吗?它有哪些社区标签?”
- “帮我找一些评价不错、售价低于 $20 的合作类 Roguelike 游戏。”
- “推荐一些类似 Hollow Knight、但我尚未拥有的游戏。”
工具
| 工具 | 返回内容 | 需要密钥? |
|---|---|---|
steam_resolve_vanity_url | 个性化名称 / 个人资料 URL → SteamID64 | 是 |
steam_get_player_summary | 1–100 位用户的状态(在线 / 离开 / 游戏中……)和当前游戏 | 是 |
steam_get_friend_list | 补充了名称和实时状态的好友列表 | 是 |
steam_find_friends_who_own | 哪些好友拥有(或正在玩)某款游戏——“我可以和谁一起玩 X?” | 是 |
steam_get_user_groups | 用户加入的 Steam 群组 / 战队(名称、URL、成员数) | 是 |
steam_plan_coop_night | 房主和好友都拥有的合作游戏(按拥有者数量排序)——也可以设置 mode="new",查找他们都还没有的新合作游戏;并显示当前在线的人 | 是 |
steam_get_owned_games | 已拥有的游戏及总游戏时长 / 近期游戏时长(可排序) | 是 |
steam_analyze_library | 对整个游戏库的待玩游戏、游戏时长分布和弃玩游戏进行分析 | 是 |
steam_get_recently_played_games | 过去 2 周的游戏时长 | 是 |
steam_get_steam_level | Steam 社区等级 | 是 |
steam_get_player_bans | VAC / 游戏 / 社区 / 交易封禁 | 是 |
steam_get_player_achievements | 各游戏已解锁与未解锁的成就 | 是 |
steam_get_game_schema | 游戏的成就定义(名称、描述、隐藏标记) | 是 |
steam_get_global_achievement_percentages | 成就稀有度(全球百分比) | 否 |
steam_get_user_game_stats | 用户在游戏中的统计数据(击杀数、胜场、距离……) | 是 |
steam_get_rarest_unlocks | 玩家在游戏中最稀有的成就解锁记录(按全球稀有度排序) | 是 |
steam_search_apps | 游戏标题 → appid(及价格) | 否 |
steam_discover | 按标签、价格、促销、平台、发行时间范围(“最近 N 天”)查找 / 推荐游戏——还可根据用户喜好进行个性化推荐(排除用户已拥有的游戏) | 否* |
steam_should_i_buy | 购买参考——价格、历史和近期评测(趋势)、标签、Metacritic 评分及与你的喜好匹配度 | 否* |
steam_recommend | 推荐游戏:根据一款种子游戏或你的喜好推荐,并以共有标签说明“推荐原因” | 否* |
steam_get_app_details | 完整的商店详情——游戏模式 / 合作模式、控制器、DLC、语言、配置要求、Metacritic 评分、Steam Deck | 否 |
steam_get_deck_compatibility | Steam Deck 评级(已验证 / 可玩 / 不支持)及各项标准的测试结果 | 否 |
steam_get_dlc | 游戏的 DLC,包含实时价格和促销信息 | 否 |
steam_get_app_regional_pricing | 游戏在各地区的价格(以当地货币显示) | 否 |
steam_get_workshop_item | 创意工坊项目元数据(游戏、标签、订阅人数、收藏数、浏览量) | 否 |
steam_get_app_tags | 游戏的热门社区标签(类魂、Roguelike、治愈系……) | 否 |
steam_get_app_reviews | 历史评价结论、好评 / 差评数、评测样本;可通过 review_filter='recent' 查看近期(过去 N 天)评分 | 否 |
steam_analyze_game | 一站式游戏简报:价格、历史及近 30 天评测、当前玩家数、Deck、标签、最新更新对评测的影响及新闻 | 否 |
steam_compare_games | 并排比较 2–5 款游戏:价格、评测及其趋势、当前玩家数、Steam Deck、合作模式、标签 | 否 |
steam_get_update_impact | **更新是否影响了评测?**比较近期每次补丁发布前后几天的评测评分 | 否 |
steam_analyze_app_reviews | 分析数千条评测:情感随时间的变化、按语言和游戏时长分类的评测、Steam Deck、密钥激活与 Steam 购买、退款、开发者回复 | 否 |
steam_get_featured_specials | 当前促销中的游戏(按地区) | 否 |
steam_get_store_highlights | 畅销游戏、新发行游戏或即将推出的游戏 | 否 |
steam_get_wishlist | 用户的愿望单,包含实时价格和促销信息 | 是 |
steam_get_inventory | 用户的库存——游戏物品或 Steam 社区物品(卡牌、表情符号……),并标明是否可交易 / 可在市场出售 | 是† |
steam_get_market_price | 物品的社区市场价格(最低价 / 中位价 / 24 小时交易量),以及类型 / 稀有度和 CS2 磨损状况 | 否 |
steam_get_player_badges | 徽章及 Steam 等级对应的 XP 明细 | 是 |
steam_get_package_details | 套装 / 捆绑包价格及包含的游戏 | 否 |
steam_compare_players | 两位用户共有的游戏及游戏时长 | 是 |
steam_get_current_players | 实时在线玩家数 | 否 |
steam_get_app_news | 最新新闻 / 补丁说明 | 否 |
每个工具都支持 response_format: "markdown"(默认)或 "json",并且都标注为 readOnlyHint: true。优先使用组合工具(steam_should_i_buy、steam_recommend、steam_discover、steam_plan_coop_night),而不是串联多个调用;只有需要解析字段时才请求 json。读取本地化文本的工具接受 language 参数,可填写 Steam 语言名称,例如 french 或 schinese(默认值为 english)。 |
*
steam_discover、steam_should_i_buy和steam_recommend获取商店数据无需密钥;其个性化功能(传入steamid以使用用户的游戏库和喜好)需要密钥和公开个人资料。†
steam_get_inventory读取的端点无需密钥,但仍需要知道库存属于谁——将自定义名称(或STEAM_USER)转换为 SteamID64 本身就是一次需要密钥的调用。传入原始的 17 位 SteamID64 即可免密使用。
提示词和资源
除了工具,服务还提供提示词(引导式一键流程,可编排工具)和资源(通过 URI 引用 Steam 实体):
- 提示词:
what_should_i_play、is_it_worth_buying、plan_game_night、steam_deals、game_overview。 - 资源:
steam://app/{appid}(商店详情)和steam://user/{steamid}(个人资料 + 实时状态)。
近期评价:
steam_get_app_reviews搭配review_filter='recent'时,会请求 Steam 获取最近day_range天的准确评价数量和评分(默认 30 天),与商店页面“近期评价”一栏的数据相同。如果 Steam 拒绝该请求,工具会退而统计最新评价,最多统计recent_max_reviews条,并将结果标记为sampled: true。**哪些人的评价会计入:**默认情况下,两种评分的统计口径都与商店页面相同:付费游戏仅统计 Steam 购买记录(不包括密钥激活),免费游戏则统计所有人。
purchase_type='all'或'steam'可强制指定统计口径。
市场价格:
steam_get_market_price使用 Steam 社区市场的端点,这些端点没有公开文档且受到严格的速率限制。结果会短暂缓存;当前没有挂单的物品会报告价格不可用。
设置
1. 获取免费的 Steam Web API 密钥 (可选)
如果只需要 19 个免密工具,可以跳过此步骤——服务无需密钥也能正常运行,账户工具只会显示为不可用。
如需启用账户工具,请访问 https://steamcommunity.com/dev/apikey,登录,注册一个域名(你控制的任何域名都可以;个人密钥通常使用 localhost),然后复制密钥。使用须遵守 Steam Web API 使用条款。
2. 安装
发布的软件包无需检出代码(Python 3.10+):
uvx steam-mcp # zero-install via uv (recommended)
# or
pip install steam-mcp # run as: python -m steam_mcp.server
MCP Python SDK 的两个主版本均可使用(mcp>=1.28)。使用 v2 SDK 时,服务采用规范修订版 2026-07-28——无状态,且不进行 initialize 握手——会在工具、提示词和资源列表中提供缓存提示;如果未设置 STEAM_USER,还可以询问你使用的是哪个 Steam 账户(每个会话询问一次,且仅在客户端支持 elicitation 时启用)。使用 v1.x 系列时,服务会执行 initialize 握手,而现代客户端本来也会回退到这种方式。两种方式都无需配置。
TLS 说明:HTTP 客户端为
httpx2,它使用操作系统的信任存储验证证书,而不是捆绑的 CA 列表。如果在精简环境中运行(没有系统 CA 存储的轻量级容器,或位于私有 CA 后方),请将SSL_CERT_FILE或SSL_CERT_DIR指向 CA 证书包。
3. 将其添加到 MCP 客户端
这两个设置都是可选的。STEAM_API_KEY 可解锁账户工具;STEAM_USER
(你的 Steam 个性化名称、SteamID64 或个人资料 URL)会让这些工具在你未指定用户时默认使用你的账户,
这样你就不必粘贴 SteamID。这是公开的个人资料名称,不是机密;你仍可在任何调用中传入 steamid 来覆盖它。
两项都不配置,你将获得无密钥服务;两项都配置,则可使用全部功能。
更精简的工具集(可选)。 每个工具的定义都会在每次请求时放入模型的上下文中,
全部 41 个工具约占 11.5k 个 token。设置 STEAM_MCP_TOOLS=essentials 可仅加载 15 个工具:搜索、一次调用即可生成的游戏简介、详情、评测、比较、是否值得购买、发现、推荐、更新影响、特卖,以及你的个人资料、库、库分析、
愿望单和合作之夜。可按名称添加其他工具(essentials,get_inventory),也可仅列出你需要的工具。默认值为 all。内置提示词可能会提及你的工具集未包含的工具。
Claude Code
claude mcp add steam --env STEAM_API_KEY=YOUR_KEY --env STEAM_USER=your_steam_name -- uvx steam-mcp
STEAM_USER是可选的——如果你更愿意在每次调用时传入 SteamID,可以删掉第二个--env。
Claude Desktop — 通过 Settings → Extensions 安装
最新发布版本中的 steam-mcp.mcpb,并粘贴你的密钥(也可粘贴你的 Steam 名称)。
其他所有客户端(Claude Desktop 配置、Cursor、Cline、Windsurf、VS Code 等)— 将以下代码块放入客户端的 MCP 配置文件中:
{
"mcpServers": {
"steam": {
"command": "uvx",
"args": ["steam-mcp"],
"env": {
"STEAM_API_KEY": "YOUR_KEY_HERE",
"STEAM_USER": "your_steam_name"
}
}
}
}
使用 Cline 等 AI Agent 安装?请将其指向
llms-install.md,该文件会引导它完成设置。
配置文件位置:Claude Desktop 的 claude_desktop_config.json(Windows 上为 %APPDATA%\Claude\,macOS 上为 ~/Library/Application Support/Claude/);Cursor 的
.cursor/mcp.json;Cline 的 cline_mcp_settings.json。重启客户端后,Steam 工具便会出现。若要从源码检出目录运行,请使用
"command": "python", "args": ["-m", "steam_mcp.server"]。
安全
只读、仅使用 Steam 官方服务,并由你自备密钥。简而言之:
- 只读 — 不会写入、交易、发帖、启动游戏或购买任何内容。
- 密钥由你保管 — 从
STEAM_API_KEY读取;绝不会写入磁盘、 记录日志、缓存或放入输出中(并会从错误消息中脱敏)。 - 仅限官方主机 — 请求层会拒绝任何非
api.steampowered.com/store.steampowered.com/steamcommunity.com的主机(SSRF 防护),并按主机进行速率限制和重试/退避。 - 输入经过类型检查和验证(
extra="forbid");请求之间不会保留数据, 但非用户商店数据的小型 TTL 缓存除外。
完整详情和问题报告方式请参阅 SECURITY.md。
版本管理与稳定性
steam-mcp 遵循语义化版本规范。自 1.0 起,
以下内容属于稳定的公共接口——未经重大版本(2.0)发布不会更改:
- 工具名称及其输入参数(名称、类型、是否必填、 默认值)
- JSON 输出字段(
response_format: "json")——名称、类型和结构 - 提示词名称/参数及资源 URI 模板
(
steam://app/{appid}、steam://user/{steamid}) - 核心语义:只读、密钥由用户自备、价格以美分计/游戏时间以分钟计,以及以字符串形式返回错误
在同一主版本内,次版本可添加工具、提示词、资源、 可选参数和 JSON 字段;补丁版本仅修复错误。Markdown 输出措辞、内部实现、缓存行为,以及某个工具所调用的 Steam 端点都可能随时更改,且不属于 接口约定。
许可证
MIT。与 Valve 无关。“Steam”是 Valve Corporation 的商标。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。