mcpField
S
Steam Mcp

Steam Mcp

本地服务
github.com/Sarg338开发工具85 周前更新

关于 Steam Mcp

Steam Mcp 是只读的 Steam Web API 与商店数据 MCP 服务,供 AI Agent 查询账户、游戏和商店信息。无需密钥即可使用部分商店功能,账户数据则需提供 Steam API 密钥。

主要功能

  1. 01查询游戏库、好友、成就和愿望单
  2. 02查看价格、折扣、评价和玩家数量
  3. 03发现、推荐并比较游戏
  4. 04规划好友合作游戏
  5. 05提供提示词和 Steam URI 资源

适用场景

  1. 01查看好友在线状态并规划合作游戏
  2. 02评估游戏评价趋势、价格和 Steam Deck 兼容性
  3. 03分析游戏库、游玩时间和待解成就
  4. 04查找折扣游戏并获取推荐

MCP 相关

该服务向 MCP 客户端提供只读 Steam 工具、提示词和 steam://app/{appid} 与 steam://user/{steamid} 资源。账户相关工具需 Steam API 密钥,部分商店工具无需密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
pypisteam-mcp1.19.0
mcpbsteam-mcp.mcpb1.19.0

工具

41

收录的工具列表 · 更新于 3 周前

参数类型必填说明
paramsany是

详细介绍

Steam MCP

PyPI Python CI License: MIT MCP Registry

一个只读的 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_summary1–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_levelSteam 社区等级是
steam_get_player_bansVAC / 游戏 / 社区 / 交易封禁是
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_compatibilitySteam 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 的商标。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。