TipTap Games
All clients

claude.ai

Add TipTap as a custom connector, approve it once, and build games from a normal Claude chat.

  • Sign-in — no key to paste
  • About two minutes

Custom connectors are available on Claude's paid plans. You need a TipTap account too — the approval step signs you in, so create one first if you have not.

Setup

  1. Open Settings → Connectors on claude.ai

    Click your profile, choose Settings, then Connectors. Scroll past the pre-listed connectors to Add custom connector.

    claude.ai → Settings → Connectors.
  2. Paste the TipTap server URL

    Server URL

    https://mcp.tiptapgames.com/mcp

    Give it a name you will recognise — “TipTap Games” is fine. Do not fill in a client ID, a secret, or any token. Claude discovers all of that itself; typing something into those fields is the most common way this step goes wrong.

    The URL is the only thing you fill in. Leave every credential field empty.
  3. Sign in to TipTap and press Approve

    Claude sends you to tiptapgames.com. Sign in if you are not already, and you get a consent screen naming the client that is asking. Press Approve and the browser hands control back to Claude, which finishes connecting on its own.

    The screen shows text and no logos, on purpose: rendering an image supplied by the connecting client would mean fetching a URL it chose, and would tell that third party you were looking at the page. It also tells you where the client's name came from — either Identified by a domain it publishes its details at, or Unverified app, meaning it registered itself and chose its own name. The second is normal for a client that self-registered. It is a fact about how the app introduced itself, not an accusation — but it is why the screen asks you to continue only if you started this yourself a moment ago.

    The consent screen is on tiptapgames.com — check the address bar before approving anything.
  4. Check it landed

    Back on claude.ai the connector should now say connected and list TipTap's tools. On the TipTap side it appears under Create → Agents & access → Connected apps, with the date it was last used and a Revoke button.

    TipTap → Create → Agents & access → Connected apps.
  5. Ask Claude for a game

    Start a new chat and send this as the first message. Claude creates its own build session and works through to submission.

    Starter prompt

    You are building a game for TipTap Games, a vertical feed of instantly playable web
    games. You will do it through TipTap's MCP server, which is connected to this
    session as `tiptap`.
    
    The game I want: a one-thumb arcade game of your choosing — pick something simple you can finish well
    
    Build it end to end, autonomously:
    
    1. Call create_build_session with a title and a one-paragraph brief for that game.
       Use the session_id it returns for every call after this one.
    2. Call get_game_specification, then get_sdk_documentation. Read both before you
       write any code — the SDK is how the game reports score and handles pause,
       resume, and the leaderboard, and none of it can be guessed.
    3. Call list_categories so you can set a real category at submit. Unknown slugs
       are dropped silently. Browse list_cookbook_recipes for proven patterns — the
       recipes are written so that following one produces a game that validates.
    4. Write ONE self-contained .html file:
       - Inline every byte of CSS and JavaScript. No external scripts, styles, or fonts.
       - No network at runtime — fetch, XMLHttpRequest, and WebSocket are blocked by CSP.
       - No cookies and no localStorage; the game runs on an opaque sandbox origin and
         they throw.
       - Assets as data: or blob: URLs only. 5 MB maximum.
       - Portrait-first: it is played inside a phone-shaped frame in a vertical feed.
    5. Declare the achievements with set_game_achievements before you validate, so
       validation can cross-check them against the code.
    6. Call upload_game_draft with the HTML, then validate_game_draft. Fix every issue
       with severity "error" and validate again — read each issue's suggestedFix.
       Warnings are advisory.
    7. Set a cover with set_game_thumbnail: a raster data URL (PNG, JPEG, WebP, or GIF)
       of 512 KB or less. SVG is rejected, so rasterize first.
    8. Call submit_game once validation returns passed: true, then get_build_status to
       confirm it reached the review queue.
    
    Do not put an API key or any credential in the game file — the validator blocks any
    upload containing one, and game HTML is public to every player.
    
    Do not declare the game complete until validate_game_draft returns passed: true.
    
    submit_game sends the game for review. It is not live until a human moderator
    approves it, so tell me "submitted for review", never "published".
    
    Tell me every tool call you make and what it returned. If a tool fails, show me the
    full error including its `code` and `guidance` fields rather than working around it.

    To describe the game you want instead of letting Claude choose, type it into the starter prompt card on /create and copy the version it writes for you. Sessions are only ever opened by the agent itself, so this prompt is the entry point either way.

    Claude calls create_build_session first, then works through the build.

If something goes wrong

“Forbidden” after you press Approve

A consent screen is only good for the request that opened it. Close the tab, add the connector again from claude.ai, and approve the fresh screen — a stale one cannot be re-submitted, by design, because that is what stops somebody else's approval form being replayed against your account.

The connector connects but lists no tools

Check the URL ends in /mcp and uses the hostname above. Only that host is accepted; an older Railway-style hostname answers 403 on the tool endpoint even though its health check looks fine.

It asks you to approve every single time

That means the client is not holding on to its refresh token. Removing and re-adding the connector usually clears it. It is harmless — just repetitive.

Want it gone? Disconnect it from claude.ai, or press Revoke in Create → Agents & access. Either way its access dies on the next request it makes — there is no grace period and nothing to clean up. Games it already submitted stay yours.

What happens next

Once your agent is connected, this is the whole path from prompt to feed.

  1. Your agent opens a build session

    It does this itself, on its first tool call — there is no session to create on the website first. Everything it does afterwards is attached to that session and shows up under your account.

  2. You watch it work

    The session page shows a live activity feed — spec read, draft uploaded, validation run, cover set. It is built from the server's own audit trail, not from what the agent reports, so it shows what actually happened.

  3. The validation loop runs

    The agent uploads a draft and validates it. Failing the first time is normal and healthy: the validator returns specific errors, the agent repairs them and validates again until it passes.

  4. The game is submitted for review

    Only once validation passes. Submitting puts the game in the moderation queue under your account, tagged as agent-built.

  5. A human moderator approves it

    Then — and only then — it goes live in the feed. You keep full ownership, and you can take it down whenever you like.

No agent can put a game in the feed on its own. The tool it calls is submit_game, and it reaches a review queue. If your agent tells you the game is “published”, it is getting ahead of itself — the real status is on your games.