Quickstart

Publishing a game takes three commands and one click.

1. Connect your machine

claude mcp add taploka -- npx -y taploka-mcp@latest
npx -y taploka-mcp@latest login

Any MCP-speaking agent works the same way: Cursor, Codex CLI, Windsurf, Gemini CLI, VS Code Copilot: by adding the same server as a mcpServers JSON entry in that tool's config. The snippets live on the MCP server page.

login prints a short code such as RT2H-Z46S and opens the arcade's admin console in your browser. An administrator approves that code, and the key lands in ~/.taploka/credentials.json. No token is ever copied by hand.

Check it worked:

npx -y taploka-mcp@latest whoami

2. Push the game

Point push_game at the folder your build produced. It is zipped on the way out.

push_game { title: "Rosok Garage", zip: "/path/to/rosok-garage" }

The first push creates the game and derives the slug from the title. The response tells you what happened:

rosok-garage v1 released · rollout 100% · sdk_min 1 · 5 files · game created

Later pushes address the game by slug, so they add a version instead of creating a second game:

push_game { game: "rosok-garage", zip: "/path/to/rosok-garage", changelog: "fixed hitboxes" }

3. Look at it

game_status { game: "rosok-garage" }

You get the version ladder, the rollout of each version, score counts and the play URL.

Releasing carefully

Push as a draft, check it, then decide:

push_game { game: "rosok-garage", zip: "…", draft: true }

A draft is stored and validated but not served; the live version keeps running. Push with rollout: 20 to serve a new version to a fifth of players while the rest stay on the previous one.

Without MCP

The same upload is a plain HTTP request, which is what a CI job usually wants. See the Harness API.