habivBETA
Create
HomeExploreSavedMy GamesProfile
Publish GameConnect AISettingsDocs
0built this week
0total runs
Made with any model
About & legal
AboutTermsPrivacyCookiesCommunity guidelinesCopyright
habivBETA
© 2026 Habiv
Docs

MCP & agents

Connect Claude, Codex or any MCP app to Habiv once. Then ask it in plain words to publish, update or roll back your games, and it hands you the link.

OverviewAI promptsGame detailsGame SDKMCP & agents

Connect

The quickest way takes about a minute and needs no API key. It's the same setup as Settings → Connect AI:

  1. Copy the message
  2. Paste it into Claude Code or Codex
  3. Click Approve when Habiv opens
Message to paste into Claude Code or Codex
Please connect yourself to Habiv (https://habiv.com) so you can publish the browser games we make together.

Habiv is a remote MCP server:
  URL: https://habiv.com/api/mcp
  Transport: Streamable HTTP
  Sign-in: OAuth in my browser (no API key needed)

Steps:
1. Add it as an MCP server named "habiv", available in all my projects.
   - Claude Code: claude mcp add --transport http --scope user habiv https://habiv.com/api/mcp
   - Codex: codex mcp add habiv --url https://habiv.com/api/mcp
   - Any other app: add a remote HTTP MCP server with the URL above.
2. Start the sign-in.
   - Codex: run codex mcp login habiv (it opens my browser).
   - Claude Code: tell me to restart Claude Code, type /mcp, pick "habiv" and choose Authenticate.
3. A Habiv page will open in my browser. Tell me to click Approve, then wait for me.
4. Once the habiv tools show up, call list_my_games to confirm we're connected.

Keep your replies short and in plain words, not technical. From then on, when I say "publish this to Habiv", use publish_game with the game's files (index.html at the root) and share the link when it's live.

Your agent adds Habiv, starts the sign-in and tells you when to click Approve. It then lists your games to check that the connection works. From then on, just ask it to “publish this game to Habiv”.

Claude app (web or desktop)

Open Settings → Connectors → Add custom connector, name it Habiv and paste this link. Claude asks you to approve on Habiv the first time you use it.

Link
https://habiv.com/api/mcp

Set it up yourself

If you'd rather not paste the message, here are the details:

Server URLhttps://habiv.com/api/mcp
TransportStreamable HTTP
Sign-inOAuth in your browser, or a personal token

Claude Code. Run this, restart Claude Code, type /mcp, pick habiv and choose Authenticate. Approve on the Habiv page that opens.

Terminal
claude mcp add --transport http --scope user habiv https://habiv.com/api/mcp

Codex. The login command opens your browser. Approve, then go back to Codex.

Terminal
codex mcp add habiv --url https://habiv.com/api/mcp
codex mcp login habiv

Cursor and other apps. Add a remote HTTP MCP server. Most apps take a config like this:

JSON
{
  "mcpServers": {
    "habiv": {
      "type": "http",
      "url": "https://habiv.com/api/mcp"
    }
  }
}

Things to ask

Once connected, talk to your agent normally. For example:

  • “Publish this game to Habiv.”
  • “Publish this as a new version of Drift Dodge. Changelog: faster enemies, fixed the jump.”
  • “Open the code of my game Blink Buffet, make the timer 30 seconds and publish it.”
  • “Roll Drift Dodge back to the previous version.”
  • “Use this image as the cover, and add the tags arcade and one-button.”
  • “Turn on the leaderboard for Drift Dodge, lowest time wins.”
  • “Hide Blink Buffet for now.”

If you want scores or levels, ask the agent to add the Habiv SDK calls before it publishes. Pointing it at https://habiv.com/docs/sdk is enough.

How publishing works

  1. The agent calls publish_game with the game's files, a title and the details it knows: tagline, description, categories, controls, the model and tool that made it. It also writes them into a habiv.json in the bundle, so they stay with the code.
  2. Habiv checks and prepares the build, the same way as a web upload. The agent polls get_publish_status until the status is ready, usually within a minute.
  3. The game lands as a private draft in My games. Publish it from there, or ask the agent to release it with publish_version. To skip the draft and go live as soon as the build is ready, the agent passes publish_when_ready: true.

Passing a game_id publishes a new version of an existing game. Its page, stats, comments and leaderboard stay the same, and every earlier version stays available for rollback.

Tools

Publishing

ToolWhat it does
publish_gameUploads a game from inline files (text files as plain text, binary files as base64), a public zip/HTML URL or an upload session, and publishes it once it's ready. Pass game_id for a new version, with keep_other_files to send only the changed files.
create_uploadOpens an upload for a zip on disk or a bundle over 3 MB (up to 50 MB). Up to 4 MB the URL is on habiv.com, so sandboxes only need www.habiv.com allowed. Then call publish_game with upload_id.
get_publish_statusProcessing status (processing, ready, rejected), engine, warnings, the details found in the build, which page fields are still empty, a preview link and the game URL.

Your games

ToolWhat it does
list_my_gamesYour games in every status, with their latest version.
get_gameEvery editable field of one of your games, or the public page of anyone's game.
get_game_filesLists or reads the source files of a version, so the agent can keep working on a game.
update_gameTitle, tagline, description, category, tags, orientation, controls, run length, remix licence, leaderboard, published or draft.
unpublish_gameHides a game. It stays in My games and can be published again.

Store art

ToolWhat it does
list_thumbnail_designsThe ready-made thumbnail styles, colour themes and modes, the same ones as the picker on the publish and edit pages.
make_thumbnailMakes the cover and card from a ready-made design, or from the agent's own HTML design. Renders in 1 to 3 minutes.
get_thumbnail_statusWhether a thumbnail is still rendering, done (with the new images) or failed.
create_art_uploadAn upload URL on habiv.com for an image the agent made or generated.
set_game_artSets the cover (16:9) or card (3:4) from an uploaded file, a public image URL or base64. PNG, JPEG or WebP.

Versions

ToolWhat it does
list_versionsEvery version, newest first, with status, changelog and which one is live.
publish_versionMakes a specific ready version live. Use it to roll back.
update_versionEdits a version's changelog, prompt, model or tool.
delete_versionDeletes a version that isn't live, with its files. Players open older versions from the game page until then.

Limits

WhatLimit
Inline files in publish_gameUp to 40 files, 3 MB in total
bundle_urlA public https .zip or .html, up to 25 MB
create_uploadUp to 50 MB. One PUT under 20 MB, 8 MB parts above that
Publishing20 publishes per hour per connection
get_game_files512 KB per file, 2 MB per call. Images, audio and engine builds come back as links
set_game_art3 MB image, PNG, JPEG or WebP
make_thumbnail10 per hour
Upload URLs on habiv.com4 MB per file; bigger bundles get a direct storage URL

Builds follow the same rules as web uploads: an index.html at the root, local assets, 1,000 files and 300 MB unzipped. See what a build looks like.

Tokens for scripts

Agents should use the browser sign-in. For CI jobs and your own scripts, create a personal token in Settings → Connect AI. It's shown only once. Send it with every request:

HTTP header
Authorization: Bearer hbv_live_…

Any MCP client library works: point it at https://habiv.com/api/mcp with that header. Browser sign-ins and tokens are listed together in Settings, and you can revoke either at any time.

Troubleshooting

  • The Habiv tools don't show up. Restart your agent after adding the server. In Claude Code, run /mcp and check that habiv is connected.
  • “unauthorized”. The sign-in expired or the connection was revoked. Authenticate again from /mcp, or run codex mcp login habiv.
  • “rejected”. get_publish_status gives the reason, such as no index.html, an http:// file, or too many files. Fix it and publish again.
  • “rate_limited”. You hit 20 publishes in an hour. Wait a little and try again.
  • Runs stay at 0. Counts refresh every few minutes, and plays on drafts don't count. See how runs work.
On this page
ConnectThings to askHow publishing worksToolsLimitsTokens for scriptsTroubleshooting