# Steamworks Release Assistant

An MCP server that reads your game folder, drafts the store page and checks everything against Valve's rules. It never hits Publish — you do.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 8
- Author: wazzapsenk
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/wazzapsenk/steamworks-mcp
- Updated: 2026-10-17
- HTML: https://affpapa.org/en/nevibecode/mcp/steamworks-release-assistant

## What it does

The server walks you through the same four release steps Valve reviews: prerequisites, store page, build review, release. It scans your project folder, asks about anything it cannot find, and keeps the result in a single `steamworks.yaml` next to your game. Each value carries a status: missing, draft, approved by you, done in Steamworks, or needs review when something changes after your approval.

Inside are 38 tools, 38 skills, 24 code rules and 125 release checks, plus 114 rules for store text. Unity, Godot and Unreal are covered. You need `uv` first — it runs Python programs and installs with one command. No Steam keys or Steam login are required to start.

The server speaks both MCP transports. Over stdio the app itself starts it: Claude, Codex, Claude Desktop. Over Streamable HTTP come ChatGPT and claude.ai, and there every request needs sign-in through OAuth or a bearer token. Steamworks gets filled in only after a dry run and your OK.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `STEAMWORKS_MCP_ROOT`, `STEAMWORKS_PUBLISHER_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env STEAMWORKS_MCP_ROOT=<STEAMWORKS_MCP_ROOT> --env STEAMWORKS_PUBLISHER_KEY=<STEAMWORKS_PUBLISHER_KEY> --transport stdio steamworks-release-assistant -- uvx steamworks-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from steamworks-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add steamworks-release-assistant --env STEAMWORKS_MCP_ROOT=<STEAMWORKS_MCP_ROOT> --env STEAMWORKS_PUBLISHER_KEY=<STEAMWORKS_PUBLISHER_KEY> -- uvx steamworks-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from steamworks-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "steamworks-release-assistant": {
            "command": "uvx",
            "args": [
                "steamworks-mcp"
            ],
            "env": {
                "STEAMWORKS_MCP_ROOT": "<STEAMWORKS_MCP_ROOT>",
                "STEAMWORKS_PUBLISHER_KEY": "<STEAMWORKS_PUBLISHER_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from steamworks-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "steamworks-release-assistant": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "steamworks-mcp"
            ],
            "env": {
                "STEAMWORKS_MCP_ROOT": "<STEAMWORKS_MCP_ROOT>",
                "STEAMWORKS_PUBLISHER_KEY": "<STEAMWORKS_PUBLISHER_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from steamworks-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e STEAMWORKS_MCP_ROOT=<STEAMWORKS_MCP_ROOT> -e STEAMWORKS_PUBLISHER_KEY=<STEAMWORKS_PUBLISHER_KEY> steamworks-release-assistant uvx steamworks-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from steamworks-mcp <command>

## When to use it
- draft a store page from the files already in the project
- check texts and settings against Valve's rules before submitting
- see what is still missing before the store page goes live
- compare your page with similar games on Steam
- pick a price and break it down by country

## Example prompts
- Help me get the game in `MyGame/` onto Steam.
- Write my store page and suggest a price for each country.

## Similar
- [release-checklist](https://affpapa.org/en/nevibecode/skills/release-checklist.md) — skill · 443 installs
- [godot-platform-desktop](https://affpapa.org/en/nevibecode/skills/godot-platform-desktop.md) — skill · 372 installs
- [steam-publish](https://affpapa.org/en/nevibecode/skills/steam-publish.md) — skill · 6100 installs
- [audio-design](https://affpapa.org/en/nevibecode/skills/audio-design.md) — skill · 7700 installs
- [make-game](https://affpapa.org/en/nevibecode/skills/make-game.md) — skill · 1100 installs
- [reverse-document](https://affpapa.org/en/nevibecode/skills/reverse-document.md) — skill · 461 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
