关于 Steamworks Release Assistant
Steamworks Release Assistant 帮助游戏开发者准备 Steam 上线流程,可扫描项目文件、起草商店页面内容并检查 Steamworks 要求。所有更改都需用户批准,工具不会发布游戏。
主要功能
- 01扫描 Unity、Godot 和 Unreal 项目
- 02起草商店文案与成就
- 03检查发布及代码要求
- 04分析 Steam 市场与评论数据
- 05预览并应用已批准的 Steamworks 更改
适用场景
- 01查找发布阶段尚缺的事项
- 02准备并验证 Steam 商店页面
- 03比较同类游戏与各地区价格
- 04生成 Steam SDK 集成代码
MCP 相关
MCP 服务支持 stdio 和 Streamable HTTP 传输方式。它向 AI 客户端提供项目扫描、发布检查、内容准备及经批准的 Steamworks 更改工具;写入操作会先进行试运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx steamworks-mcpSTEAMWORKS_MCP_ROOTThe folder that holds your game projects. Default: the folder the app starts the server in.STEAMWORKS_PUBLISHER_KEY密钥Optional Steamworks publisher Web API key, only for builds, beta branches and leaderboards.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
35收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | any | 否 | |
| path | string | 是 | |
| scan | boolean | 否 | |
| appid | any | 否 | |
| source_dir | any | 否 |
详细介绍
steamworks-mcp
借助 AI 助手,将你的游戏上架到 Steam。 它会读取你的游戏项目,询问你无法从中找到的信息,与你一起撰写商店页面,按照 Valve 的规则检查所有内容,并且只有在你同意后才填写 Steamworks。 它绝不会发布任何内容:点击 Publish 的是你。
兼容 Claude(Desktop、Code 和 claude.ai)、ChatGPT(网页端和桌面应用)以及 Codex(应用、CLI 和 IDE 扩展)。免费且开源(MIT)。
38 个工具 · 38 项技能 · 24 条代码规则 · 125 项发布检查 · 114 条商店文案规则 · Unity、Godot 和 Unreal
与 Valve 无关联,也未获其认可。“Steam”和“Steamworks”是 Valve Corporation 的商标。
目录: 工作原理 · 安装 · 第一次对话 · 你会看到的术语 · 功能 · 技能 · 代码规则 · 安全 · 故障排除 · 已知限制 · 高级设置
工作原理
flowchart LR
A["Your game folder"] --> B["Scan: what the project<br/>already says"]
B --> C["Questions for<br/>what is missing"]
C --> D["Drafts: store text, achievements,<br/>images, settings, SDK code"]
D --> E{"You approve?"}
E -- "change it" --> D
E -- "yes" --> F["Checks against<br/>Valve's rules"]
F --> G["Files + a checklist<br/>for Steamworks"]
F --> H["Fills Steamworks<br/>after a dry run and your OK"]
G --> I["You press Publish<br/>in Steamworks"]
H --> I
你的游戏会经历四个发布步骤,与 Valve 审核的步骤相同。工具会显示每个步骤的进展:
flowchart LR
S0["Step 0 · Prerequisites<br/>account, bank, tax, app fee"] --> S1["Step 1 · Store page<br/>texts, images, tags, languages"]
S1 --> S2["Step 2 · Build review<br/>the game, Steam features"]
S2 --> S3["Step 3 · Release<br/>date, price, Release button"]
关于游戏 Steam 发行的所有信息都保存在游戏文件夹中的一个易读文件 steamworks.yaml 里。文件中的每个值都有一个状态:缺失、草稿(已找到或撰写,但尚未由你检查)、已批准(你确认无误)、已在 Steamworks 中完成,或需要审核(你批准后内容有所变更,需要再次检查)。
安装
你需要 uv,一个用于运行 Python 程序的小工具(只需一条命令即可安装),以及 Claude、ChatGPT 或 Codex。开始使用不需要 Steam 密钥或 Steam 登录账号。
此服务支持两种 MCP 传输方式:
| 传输方式 | 适用对象 | 启动方式 |
|---|---|---|
| stdio(默认) | 在你的计算机上启动服务的应用:Claude Desktop、Claude Code、Codex(应用、CLI、IDE 扩展) | 由应用本身启动(steamworks-mcp);setup 和插件会对其进行配置 |
| Streamable HTTP | 通过互联网连接的应用:ChatGPT(网页端和桌面应用)、claude.ai | steamworks-mcp remote(使用安全地址),或 steamworks-mcp --http(仅限本地,详情) |
通过 HTTP 发送的每个请求都需要登录(OAuth 或 bearer token);通过 stdio,只有启动服务的应用能够与其通信。
Claude Desktop
在终端中运行:
uvx steamworks-mcp setup
它会询问你的游戏所在位置,并连接 Claude Desktop(如果你安装了 Claude Code,也会连接 Claude Code)。重启 Claude Desktop。
如果还要在那里使用技能,请在 Claude 设置中将 skills/ 文件夹添加为技能。
Claude Code:插件(一步完成服务和技能的安装)
在 Claude Code 中输入:
/plugin marketplace add https://github.com/wazzapsenk/steamworks-mcp
/plugin install steamworks@steamworks-mcp
它会询问你的游戏文件夹。就这么简单。
ChatGPT(Web 版或桌面应用)和 claude.ai
这些应用通过你电脑上的安全地址,经由互联网连接到服务。
-
安装一次 cloudflared(由 Cloudflare 免费提供)。在 Windows 上:
winget install --id Cloudflare.cloudflared;在 Mac 上:brew install cloudflared。 -
在终端中:
uvx steamworks-mcp remote首次运行时,它会询问你的游戏所在位置。随后会显示一个以
/mcp结尾的地址和访问码。 -
在应用中添加该地址,并将身份验证方式设为 OAuth:
- ChatGPT 网页版:Settings > Apps & Connectors > Advanced settings:开启 Developer mode,然后创建连接器。
- ChatGPT 桌面应用(Windows、macOS):Settings > Plugins > MCPs > Add。
- claude.ai:Settings > Connectors > Add custom connector。
-
系统会打开一个 steamworks-mcp 页面并要求输入访问码:输入第 2 步中的访问码。
-
向你的助手提问:“我的 Steam 游戏在哪里?”
使用期间,请让第 2 步中的终端保持打开。ChatGPT 中的自定义连接器需要开启 Developer mode;请确认你的套餐支持此功能。每次启动 remote 时,地址都会变化(届时请更新连接器 URL);
固定地址 需要进行少量额外设置。
Codex(应用、CLI 和 IDE 扩展)
-
在终端中运行(与 Claude Desktop 使用相同的命令):
uvx steamworks-mcp setup -
输入存放游戏的文件夹(按 Enter 可保留显示的路径)。它提供的密钥是可选的:按 Enter 可跳过。
-
当它询问
Codex?时,回答y。如果它提示“not found”,说明 Codex 尚未在这台电脑上运行过;回答y仍然有效。 -
重启 Codex(应用,或开启新的 CLI 会话),然后提问:“我的 Steam 游戏在哪里?”
服务会写入 ~/.codex/config.toml,Codex 应用、CLI 和 IDE 扩展都会读取此文件,因此一次设置即可用于全部三种方式。Codex 会在你的电脑上启动服务:无需隧道,也无需访问码。只读工具运行时不会询问;对于会进行更改的工具,Codex 每次都会先征求你的同意。
检查安装情况
uvx steamworks-mcp doctor
它会列出已完成的设置和需要修复的问题;故障排除介绍了常见问题。其他支持 MCP 的应用以及手动连接方式,请参阅:docs/ADVANCED.md。
首次对话
直接和你的助手交流即可。你可以这样提问:
| 你想要…… | 可以这样说 |
|---|---|
| 开始使用 | “我的 Steam 游戏在哪里?” · “帮我把 MyGame/ 中的游戏发布到 Steam。” |
| 查看还差什么 | “我的商店页面上线前还缺什么?” |
| 商店页面 | “撰写我的商店页面文案。” · “改进我的简短描述。” |
| 了解市场 | “最相似的热门游戏在商店页面上是怎么做的?” · “将我的游戏与同类游戏进行比较。” |
| 定价 | “我的游戏应该定价多少,各个国家又该定多少?” |
| 成就 | “为我的游戏设计成就。” · “添加对应的 Steam 代码。” |
| 检查代码 | “检查我的游戏与 Steam 的集成情况。” |
| 图片 | “用我的主视觉图和徽标制作所有商店图片。” |
| 翻译 | “将我的商店页面翻译成德语、法语和日语。” |
| 填写 Steamworks | “先告诉我 Steamworks 中会有哪些更改,然后再应用。” |
| 发布后 | “我的游戏发布情况如何?” · “玩家都在抱怨什么?” |
每个回答都以一句简单的话开头,并会在适当时附上表格。助手会展示每份草稿;只有你批准后才会执行。
你会遇到的术语
| 术语 | 含义 |
|---|---|
| MCP server | AI 应用会与之通信的辅助程序。本项目就是一个 MCP 服务。 |
| Tool | 服务可以执行的一项操作,例如“检查我的代码”或“制作我的图片”。由助手选择要使用的工具。 |
| Skill | 为助手准备好的操作方案,例如“编写商店页面”(按正确顺序使用多个工具)。 |
| Prompt | 与 Skill 相同,供显示提示词而非 Skill 的应用使用。 |
| Code rule | 根据 Steamworks 要求检查游戏代码,并提供修复方法。 |
| steamworks.yaml | 游戏文件夹中包含游戏所有 Steam 设置的文件。可读且可编辑。 |
| Draft / approved / done | 为你查找或填写的值 / 你确认的值 / Steamworks 中已有的值。 |
| Needs review | 在你批准后发生变化的值(或其来源文本已更改);请重新批准。 |
| Release step | 上文的步骤 0-3(代码中称为“gate”)。 |
| Dry run | 显示 Steamworks 中将发生的更改,但不实际更改任何内容。每次写入操作都会先进行一次 Dry run。 |
| BROWSER mode | 可选:工具会在你自行登录的浏览器窗口中填写 Steamworks 页面。 |
| Publisher key | 可选:用于构建、分支和排行榜的 Steamworks 密钥。切勿分享。 |
可以做什么
开始并了解当前进度
| 内容 | 工具 |
|---|---|
| 查找你的游戏,查看每款游戏的进度以及下一步要做什么 | status |
| 开始跟踪一款游戏,并读取项目已有的信息(Unity、Godot、Unreal) | init_project, scan_project |
| 游戏已在 Steamworks 中?根据 Steam 中的信息填写空字段;绝不覆盖现有内容 | import_from_steamworks |
| 每个发布步骤还缺少什么,并为每条规则提供 Valve 的来源 | gap_report |
| 分批提出简短问题(应用支持时使用表单),保存并批准答案 | start_interview, set_field, approve_fields, mark_applied |
| 已启用的内容(密钥、模式)和参考数据 | server_info, get_spec_info |
商店页面、图片和翻译
| 内容 | 工具 |
|---|---|
| 为商店文案、成就和设置生成简报;助手撰写,服务进行检查 | generate, save_draft |
| 根据 Valve 的规则、商店文案评分标准和反抄袭检查,检查所有内容 | validate |
| 预览商店文案,并标出首屏 | preview_store |
| 根据一张主视觉图和一个 Logo,生成所有商店、库和图标图片 | prepare_images |
| 将所有文本翻译成所有目标语言(助手翻译,服务进行检查) | localization_status, localization_pending, localization_set |
| 衡量一款成功游戏的页面表现(仅数字) | fetch_reference |
市场(来自 Steam 公共商店的实时数据)
| 内容 | 工具 |
|---|---|
| 查询任意游戏:价格、评测、当前玩家数、功能 | store_lookup |
| 研究最接近的热门游戏的商店页面,并排比较 | study_market, save_market_study, compare_games |
| 类似游戏在美国和各个国家的定价 | price_brief |
| 根据评测数量和愿望单粗略估算销量(经验法则,不是预测) | estimate_sales |
| 了解玩家对类似游戏或你自己的游戏的赞扬和批评 | study_reviews, save_review_study |
| 发布后:对比上次检查时的评测、玩家数和价格 | launch_watch |
你的游戏代码
| 内容 | 工具 |
|---|---|
| 根据 24 条 Steamworks 规则检查代码、引擎设置和构建脚本 | check_code |
| 使用你的确切 App ID 以及成就、统计数据和排行榜名称生成 Steam SDK 代码(Unity、Godot、Unreal、C++) | integration_code |
Steamworks
| 内容 | 工具 |
|---|---|
| 导出所有文件,并附带清单,说明每个文件应放到哪个 Steamworks 页面和字段 | export_package |
| 应用已批准的值(先试运行):Steam Cloud、安装、可再发行组件、成就、商店文案和页面、图片、Depot、标签、排行榜、构建 | apply |
| 查看 Steamworks 当前内容;在 Beta 分支上发布构建 | steamworks_inspect, set_build_live |
| 逐字段检查 Steamworks 中的商店页面或构建设置:缺少什么、哪些内容不一致 | steamworks_check |
| BROWSER 模式:打开 Steamworks,撤销写入 | steamworks_open, restore_snapshot |
Steamworks 中各项工作的完成方式(Web API、BROWSER 模式、待上传文件或手动步骤)以及验证程度:docs/CAPABILITIES.md。
技能
为你的助手准备的 38 个配方。在 Claude Code 中安装插件后,它们会显示为 /steamworks:<name>。
| 类别 | 技能 |
|---|---|
| 入门 | steamworks-getting-started(用通俗语言介绍第一步) · steamworks-release(完整流程) · steamworks-review-gate(发布前仍待处理的所有事项) · steamworks-check-store · steamworks-check-build(逐项检查 Steamworks 中的实际内容) |
| 商店页面 | steamworks-store-page · steamworks-store-assets(图片、截图、预告片) · steamworks-content-survey(成熟内容、AI 披露) · steamworks-localize |
| 市场 | steamworks-market-research · steamworks-store-lookup · steamworks-compare-games · steamworks-pricing · steamworks-sales-estimate · steamworks-review-analysis · steamworks-sales-calendar(发布日期、Next Fest、促销) |
| 游戏代码 | steamworks-sdk-integration · steamworks-code-check · steamworks-achievements · steamworks-cloud-saves · steamworks-leaderboards · steamworks-input(控制器、Steam Input) · steamworks-multiplayer · steamworks-social(Rich Presence、覆盖层) · steamworks-inventory(物品、游戏内购买) · steamworks-workshop · steamworks-anticheat · steamworks-api-reference |
| 构建和设置 | steamworks-app-config(depots、启动选项) · steamworks-build-upload(SteamPipe、分支、CI) · steamworks-testing-sandbox · steamworks-steam-deck · steamworks-playtest-demo · steamworks-dlc · steamworks-migration(从 Epic、GOG、itch.io 迁移) |
| 发布后 | steamworks-launch-week · steamworks-community(公告、密钥) · steamworks-bug-reports |
每项技能都会在适用时使用服务的工具,并链接到 Valve 的文档。测试会检查每项工具、steamworks.yaml 字段以及技能所引用的技能是否确实存在。
代码规则
check_code 会读取你游戏自身的代码(跳过插件和 SDK 封装),并针对每个问题报告文件、行号、问题影响以及修复方法。它绝不会显示发现的密钥或密码。
| 分组 | 检查内容 |
|---|---|
steamworks-app-id | 是否遗留了 480(Valve 的测试应用);应用 ID 是否与游戏的不一致 |
steamworks-sdk-lifecycle | 是否检查初始化结果;是否缺少 RestartAppIfNecessary;回调是否从未运行;是否缺少 Shutdown |
steamworks-stats-achievements | 是否在未调用 StoreStats 时设置数据;Steamworks 不认识的名称;无法解锁的成就 |
steamworks-secrets | 项目中的 Web API 密钥、steamcmd 密码、Steam 登录文件 |
steamworks-build-scripts | 默认使用 setlive;缺少内容根目录、Depot 脚本或文件;构建中包含 steam_appid.txt |
steamworks-steam-deck | 是否强制指定分辨率;是否缺少手柄输入;是否使用需要 Proton 支持的反作弊 |
steamworks-saves-cloud | 是否将进度存入 PlayerPrefs;是否使用硬编码的 Windows 路径;是否使用 BinaryFormatter |
steamworks-networking | 是否使用旧版 ISteamNetworking P2P API;是否有从未验证过的身份验证票据 |
完整列表及 Valve 的参考资料:src/steamworks_mcp/data/code_rules.yaml。
安全性:它绝不会做的事
- 发布、准备发布、撤回、提交审核或上线任何内容。这些操作由你在 Steamworks 中完成。(商店标签保存后会立即生效;只有在你单独设置
goes_live_now=true时,工具才会保存标签。) - 未先进行试运行并获得你的确认,就向 Steamworks 写入任何内容;也不会写入你尚未批准的值。
- 编辑 package(这会立即改变客户拥有的内容),或将 build 设置为默认分支的线上版本。
- 删除 Steam 中的任何内容,除非你明确提出要求。
- 输入、存储或索要密码或 Steam Guard 代码,也不会读取 Cookie 值。
- 写入你的游戏项目。扫描器只会读取;生成的代码会放到
.steam-mcp/exports/,供你复制。 - 生成美术作品。图片会从你自己的美术素材中裁切;缺少的素材会报告给你。
- 将你的文本发送给翻译或 AI 服务。由你自己的助手编写和翻译;服务端负责检查。
每次写入都会保存 Steam 当前内容的快照,之后重新读取 Steam,并记录操作日志。详情请见: 写入 Steam 和 BROWSER 模式。
故障排查
从 uvx steamworks-mcp doctor 开始:它会显示已完成的设置,以及解决每个问题的命令。
| 你看到的情况 | 处理方法 |
|---|---|
| 应用提示服务启动失败,或出现“spawn uvx ENOENT” | 应用找不到 uvx。重新运行 uvx steamworks-mcp setup(它会写入 uvx 的完整路径),然后重启应用。 |
| “The games folder is not set yet” | 运行 uvx steamworks-mcp setup,并输入存放游戏项目的文件夹。使用 Claude Code 插件时,请在插件设置中设置 Games folder。 |
| “... is outside the workspace root” | 你的游戏不在 games 文件夹内。重新运行 setup,并选择一个包含该游戏的文件夹。 |
| Claude Code 中的每个工具都出现两次 | 它被设置了两次(插件和 setup)。doctor 会输出移除多余设置的命令。 |
| Claude Code 插件首次启动很慢或超时 | 首次启动时会安装服务所需的内容。等待一分钟,然后重启 Claude Code。 |
remote 提示端口正在使用 | 它已在另一个终端中运行。关闭那个终端,或使用它建议的端口。 |
| ChatGPT 或 claude.ai 无法连接服务 | 保持 remote 终端打开。服务每次启动时地址都会变化:请更新连接器的 URL。 |
| “Run the dry run first” 或 “changed since the dry run” | 你看到变更后,Steam 或你的值又发生了变化。请重新进行试运行,并检查新的变更。 |
已知限制
- 扫描可读取 Unity、Godot 和 Unreal 项目。其他引擎会改为回答相关问题;扫描后的所有操作都相同。
- 仍需在 Steamworks 中手动完成: 定价、内容调查和评级、Controller 与 Accessibility 调查、发布日期、统计数据定义、截图和预告片、创建 depot、package 和 DLC,以及将 build 设置为默认分支的线上版本。
export_package生成的清单会明确告知你具体操作位置。 - 尚未在线验证: 写入商店标签、将 beta 分支设为线上版本、应用和快捷方式图标,以及为 macOS 和 Linux 存档建议的 Auto-Cloud 覆盖设置。
- 图片: 工具只会填充空图片槽;绝不会替换或移除 Steamworks 中的图片。
- BROWSER 模式依据截至 2026-10-03 的 Steamworks 网站运行。 页面发生变化时,工具会在写入前停止。
- 市场数据来自 Steam 的公开商店;Steam 不会发布销量数据,因此销量估算仅供参考。
更多信息
- docs/ADVANCED.md:配置、密钥和账户、手动连接各个应用、远程客户端、写入的工作方式、BROWSER 模式、文件和开发。
- docs/CAPABILITIES.md:Steamworks 各个区域中自动化的内容,以及验证程度。
- docs/SCHEMA.md:
steamworks.yaml的所有字段。 - examples/example-game/steamworks.yaml:完整示例。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。