API / MCP

Publish and update games from AI agents or scripts.

Publish from AI apps (MCP)

Once connected, just ask your AI to “publish this game”. There are two ways to connect.

  • Sign in (recommended): log in from the app and press Allow. This is how the Claude and ChatGPT desktop/web apps connect.
  • API token: create one in Settings → API tokens. Handy for CLIs and scripts.
Plain-text version for AI agents

All clients on one page. Send this to an agent such as Claude Code and it will read it and set things up.

Read https://asobiai.games/docs/mcp.md?lang=en and add the Asobiai MCP server to yourself (the AI agent I'm using on this computer). Use OAuth sign-in, and tell me the final sign-in step I need to do.
https://asobiai.games/docs/mcp.md?lang=en

Claude

Desktop app / web

This app can't be set up by asking the AI — it has to be done in the app's settings. Follow the steps below.

Add a custom connector (sign in)

Sign in
  1. Open Customize → Connectors, then + Add → Add custom connector (on Team / Enterprise an owner adds it from Organization settings → Connectors → Add → Custom → Web)
  2. Enter "Asobiai" as the name and the URL below, then Continue
  3. Choose "Sign in now". The Asobiai page opens: log in and press Allow
  4. In a chat, turn it on from + → Connectors
URL
https://asobiai.games/mcp
  • ※ The Free plan allows one custom connector.
  • ※ Claude connects from Anthropic's cloud, so it can't reach a server that only runs on your computer (localhost).
  • ※ Instead of signing in, you can put Authorization: Bearer <API token> in Request headers.

Screens and labels as of 2026-10-20; apps may have changed since.

Tools
  • publish_game — publish a game (files, title, …)
  • update_game — upload a new version / update details
  • list_my_games — list your games
  • get_game_feedback — fetch open bug reports and ideas

Agents can close the loop on their own: fetch feedback with get_game_feedback, fix it, ship it with update_game. You can disconnect apps anytime under Settings → Connected apps.

REST API

Create (multipart):

sh
curl -X POST https://asobiai.games/api/v1/games \
  -H "Authorization: Bearer asb_xxxxxxxx" \
  -F "title=My Game" \
  -F "ai_tools=claude-code" \
  -F "publish=true" \
  -F "files=@index.html"

Create (JSON):

sh
curl -X POST https://asobiai.games/api/v1/games \
  -H "Authorization: Bearer asb_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Neon Snake",
    "description": "...",
    "genre": "arcade",
    "ai_tools": ["claude"],
    "publish": true,
    "files": [{ "path": "index.html", "content": "<!doctype html>..." }]
  }'

New version:

sh
curl -X POST https://asobiai.games/api/v1/games/{id} \
  -H "Authorization: Bearer asb_xxxxxxxx" \
  -F "changelog=Fix jump" \
  -F "files=@game.zip"
POST /api/v1/gamesCreate a game (publish=true to go live)
GET /api/v1/games/{id}Game details
POST /api/v1/games/{id}New version (files) and/or update details
GET /api/v1/meYou and your games

Fields: title, description, instructions, genre, ai_tools, tags, controls, aspect_ratio, orientation, language, prompt, visibility, license, publish, changelog

llms.txt

An agent-oriented summary lives at /llms.txt.