DEVELOPERS
Plug your AI game into LoveAIGame
Four ways in, from zero-code to fully automated. Pick what fits.
- 01Paste a linkThe fastest path. Paste a URL and we pull the title, pitch and cover, and check whether it can be embedded.Publish
- 02ManifestShip a tiny JSON file or a few meta tags to control exactly how your game is listed.See format
- 03API / AI agentOne curl publishes a game. Or hand the prompt to Claude Code or Cursor and let it submit for you.See API
- 04SDKOne script tag for leaderboards and play events. Achievements, cloud saves and payments are next.See SDK
- 05MCP serverPlug LoveAIGame into your AI agent. After that, “publish this game to LoveAIGame” or “remix that game for me” is all you need to say — the agent calls the tools itself.
- 06Open source & remixPublish with repo_url and license and your game gets a “co-create with AI” entry point; when someone publishes with remix_of, their game joins your version tree. A repository without a declared licence is not open source, and the platform will not steer anyone into copying its code.
Manifest
Either serve /.well-known/loveaigame.json from your site root, or add meta tags to your page <head>. Both are read automatically when the link is submitted.
{
"title": "Neon Drift",
"tagline": "Thread a glowing ship through an endless neon highway.",
"cover": "https://your-game.dev/cover.png",
"genre": "arcade",
"tags": ["endless", "neon"],
"ai_tools": ["claude", "cursor"],
"author": "you"
}<meta name="loveaigame:title" content="Neon Drift">
<meta name="loveaigame:tagline" content="Thread a glowing ship through an endless neon highway.">
<meta name="loveaigame:cover" content="https://your-game.dev/cover.png">
<meta name="loveaigame:genre" content="arcade">
<meta name="loveaigame:ai" content="claude, cursor">
<meta name="loveaigame:tags" content="endless, neon">genre: arcade | action | shooter | puzzle | strategy | rpg | adventure | platformer | racing | simulation | card | multiplayer | sports | casual | other
ai_tools: claude, chatgpt, gemini, cursor, copilot, grok, deepseek, qwen, kimi, doubao, v0, bolt, lovable, replit, windsurf, websim, rosebud
REST API
Public endpoints are CORS-enabled and need no auth to submit; editing and deleting require the manage key returned at publish time.
| POST | /api/v1/inspect | Scan a URL and return what we detected |
| POST | /api/v1/games | Publish a game |
| GET | /api/v1/games | List games (q / genre / tool / sort / limit / offset) |
| GET | /api/v1/games/{slug} | Game details |
| PATCH | /api/v1/games/{slug} | Edit a listing (manage key) |
| DELETE | /api/v1/games/{slug} | Unlist (manage key) |
| GET · POST | /api/v1/games/{slug}/scores | Read / submit leaderboard scores |
curl -X POST https://loveaigame.com/api/v1/games \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-game.dev",
"genre": "arcade",
"ai_tools": ["claude"],
"author": "you"
}'
# -> { "ok": true, "game": { "slug": "neon-drift", "page": "…" }, "manage_key": "lag_…" }curl -X PATCH https://loveaigame.com/api/v1/games/neon-drift \
-H "Authorization: Bearer lag_your_manage_key" \
-H "Content-Type: application/json" \
-d '{ "tagline": "Now with boss fights." }'Let your AI agent publish it
Copy this into Claude Code, Cursor, or any coding agent with network access:
Publish this web game to LoveAIGame (https://loveaigame.com).
1. Find the public, deployed URL of this game (deploy it first if needed).
2. Send: POST https://loveaigame.com/api/v1/games (Content-Type: application/json)
{
"url": "<deployed url>",
"title": "<game title>",
"tagline": "<one sentence, max 160 chars>",
"description": "<2-3 short paragraphs: how it plays, controls, how it was built>",
"genre": "<one of: arcade | action | shooter | puzzle | strategy | rpg | adventure | platformer | racing | simulation | card | multiplayer | sports | casual | other>",
"tags": ["<up to 8 short tags>"],
"ai_tools": ["<any of: claude, chatgpt, gemini, cursor, copilot, grok, deepseek, qwen, kimi, doubao, v0, bolt, lovable, replit, windsurf, websim, rosebud>"],
"author": "<my name or handle>",
"repo_url": "<repo url if public>",
"license": "<SPDX id of the repo's licence, e.g. MIT - omit if none>",
"prompt": "<the main prompt(s) used to build it>"
}
3. Save the returned "manage_key" to a file named .loveaigame and add that file to .gitignore.
4. Tell me the returned game.page URL.
Full docs for agents: https://loveaigame.com/llms.txtMCP server
Plug LoveAIGame into your AI agent. After that, “publish this game to LoveAIGame” or “remix that game for me” is all you need to say — the agent calls the tools itself.
# Claude Code
claude mcp add --transport http loveaigame https://loveaigame.com/api/mcp
# Cursor / Claude Desktop / any MCP client (mcp.json)
{
"mcpServers": {
"loveaigame": { "type": "http", "url": "https://loveaigame.com/api/mcp" }
}
}| search_games | Search the catalogue (optionally open source only) |
| get_game | Details, source, licence, prompt and version tree |
| get_remix_brief | Remix instructions and licence obligations |
| inspect_url | Preview what would be auto-detected |
| publish_game | Publish a game, a remix, or a jam entry |
| update_game | Edit a listing you published |
| list_jams | See game jams |
Claude Code skill: /loveaigame-skill/SKILL.md
Open source & remix
Publish with repo_url and license and your game gets a “co-create with AI” entry point; when someone publishes with remix_of, their game joins your version tree. A repository without a declared licence is not open source, and the platform will not steer anyone into copying its code.
curl -X POST https://loveaigame.com/api/v1/games \
-H "Content-Type: application/json" \
-d '{
"url": "https://my-fork.vercel.app",
"remix_of": "neon-drift",
"title": "Neon Drift: Night Shift",
"prompt": "Add a boss wave every 60 seconds and a synthwave soundtrack.",
"repo_url": "https://github.com/me/neon-drift-night-shift",
"license": "MIT"
}'license: MIT | Apache-2.0 | GPL-3.0 | AGPL-3.0 | BSD-3-Clause | MPL-2.0 | CC-BY-4.0 | CC-BY-SA-4.0 | CC0-1.0 | Unlicense | (any SPDX id)
JavaScript SDK
About 1KB, zero dependencies. Talks to the LoveAIGame player over postMessage when embedded, and falls back to the REST API when opened standalone.
<script src="https://loveaigame.com/sdk.js" data-game="your-game-slug"></script>
<script>
LoveAIGame.ready(); // the game is loaded and interactive
function onGameOver(score) {
LoveAIGame.gameOver({ score }); // ends the run + submits to the leaderboard
}
LoveAIGame.on("pause", () => game.pause());
LoveAIGame.on("resume", () => game.resume());
</script>Badge
Once listed, put the badge in your README to send players to your game page.
[](https://loveaigame.com/en/game/your-game-slug)About our crawler
LoveAIGameBot only reads public search APIs, RSS feeds and the meta tags of game landing pages. It respects rate limits and never copies game assets. Auto-collected games credit and link back to their makers; if that's you, claim or remove your listing at any time.
User-Agent: LoveAIGameBot/0.1