To publish a vibe-coded game, put the finished game in a folder with an index.html at the root, then upload that folder to a host that gives you a public browser link. On Fifth Door you can do it without leaving your editor: install the Fifth Door MCP server in Claude Code, Cursor, or Codex, sign in once, and ask your agent to publish. You get a play URL back, and you can list the game on Discover when it is ready for strangers.
This guide covers what "publishing" should mean for a game you built by prompting a coding agent, how the main options differ, and the exact steps on Fifth Door.
Why is my vibe-coded game stuck on localhost?
A coding agent can write a working browser game in an afternoon, but it usually runs at localhost or as a file on your laptop. Nobody else can open that. Publishing means three things:
- A public URL anyone can open in a browser, on a phone or a laptop.
- A stable link that keeps working when you push an update.
- Players, not only a link. A game with nowhere to be discovered stalls after your friends try it once.
Most hosting options solve the first two. Fewer solve the third.
Where can you publish a game made with Claude Code or Cursor?
| Option | Good for | Trade-off |
|---|---|---|
| Static hosts (GitHub Pages, Netlify, Vercel, Cloudflare Pages) | A quick public link with full control | No players, no game page, and saves or leaderboards are your problem |
| itch.io (HTML5 upload) | Jams, devlogs, indie releases | Manual upload; no publishing from your agent |
| A game platform with publishing from your agent (Fifth Door) | Link plus a Discover feed, game pages, and platform services | Static web games only; not a native store pipeline |
If you need Steam or native builds, you are in engine territory. See AI game maker vs game engine.
How do you publish a vibe-coded game to Fifth Door?
1. Install the MCP server
In Claude Code:
claude mcp add fifth-door -- npx -y @fifth-door/mcp@latest
In Codex:
codex mcp add fifth-door -- npx -y @fifth-door/mcp@latest
In Cursor, use the Add to Cursor link on Publish from your editor, or add the same npx -y @fifth-door/mcp@latest command to .cursor/mcp.json. Other MCP-compatible clients take the same config.
2. Sign in once
Ask your agent to run the login tool. It gives you a short code and a link. Approve it in a browser where you are signed in to Fifth Door. The session is cached, so you do this once per computer.
3. Check the bundle
A Fifth Door game is a static web bundle:
index.htmlat the root of the folder you publish, plus the files it references by relative path. Any framework or none.- If the game has a build step, publish the build output (for example
dist/). - Up to 200 files and 100 MB per game.
4. Pick a slug, a play target, and a cover
- Slug: a stable lowercase name. Publishing the same slug again updates the game and keeps its play URL.
- Play target:
mobile(portrait phone, the default),mobile_landscape,desktop(keyboard and mouse), oreverywhere. Build for the one you pick. - Cover: a 4:3 image inside the bundle (1200x900 works well) with the game's title drawn into the art, because cards show no separate title text.
5. Ask your agent to publish
Say "publish this game to Fifth Door." The agent calls publish_game and returns a play URL. Open it on your phone before you send it to anyone.
What happens after you publish?
New games start unlisted: the link works, but the game is not on Discover. That gives you time to fix rough edges with a few friends first.
When it is ready:
- Go public. Ask the agent to set the game's visibility to public. It then appears on Discover, and a short gameplay preview is queued for its card if it has none.
- Share. Send the link, or use Share / Copy link on the game page.
- Enter the weekly jam. Fifth Door runs a weekly jam with a theme. Your agent can list this week's jam and enter a public game that first went public during jam week.
- Keep shipping. Republish to the same slug as you improve it. The URL stays the same.
Publishing also creates a page for the game in Studio, Fifth Door's in-browser editor, where you can edit the listing and see how it is being played.
Can you add saves, leaderboards, or multiplayer?
Yes, without building a backend. The Fifth Door Platform SDK is optional, and a plain static game runs fine without it. When you need more, it provides saved progress, leaderboards and other shared records, multiplayer rooms and invites, daily puzzles, in-game AI generation, and notifications. Your agent can read the SDK docs through the MCP server before it writes any code. For a full walkthrough of rooms and invites, see how to make a multiplayer game with AI.
The MCP server can also generate game art and audio (images, characters, sprite animations, music, sound effects, and voice lines) into your project's assets/ folder, on a daily budget per account.
Pre-publish checklist
- The first screen makes the goal obvious
- Controls work on the play target you chose (touch for mobile)
- There is a restart button and a clear end state
- No console errors on a fresh load
- Cover art has the title drawn in
- You played it on a real phone once
FAQ
What is the easiest way to publish a vibe-coded game?
Use a host that publishes from the tool you built it in. With the Fifth Door MCP server, you ask your agent to publish and get a play URL back, with no deploy config.
Does it matter whether I used Claude Code, Cursor, or Codex?
No. The Fifth Door MCP server works with Cursor, Claude Code, Codex, and other MCP-compatible clients. The game just needs to be a static web bundle with an index.html.
Is my game public as soon as I publish?
No. New games are unlisted until you make them public. Anyone with the link can play, so treat unlisted as link-only, not private.
Can I update a game after publishing?
Yes. Publish again with the same slug. The play URL stays the same.
I do not use a coding agent. Can I still make a game?
Yes. Use the hosted create flow instead: describe the game and the agent builds it. Start with how to make a game with AI without coding.
Get your game off localhost
Install the MCP server from Publish from your editor, publish your game unlisted, test it on your phone, then make it public and see it on Discover. No game yet? Start one in create.