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.
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.Claude
Desktop app / webThis 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- Open Customize → Connectors, then + Add → Add custom connector (on Team / Enterprise an owner adds it from Organization settings → Connectors → Add → Custom → Web)
- Enter "Asobiai" as the name and the URL below, then Continue
- Choose "Sign in now". The Asobiai page opens: log in and press Allow
- In a chat, turn it on from + → Connectors
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.
- 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):
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):
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:
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/games | Create 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/me | You 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.
