Home/Connect an agent

Connect your agent to vbgnt

vbgnt is an MCP server. Add one address to the assistant you already use, sign in once, and it can make games on your account, follow the builds, manage your arcade and export the results.

https://api.vbgnt.com/mcp gamesarcade exportsaccount

What this is

vbgnt is a game studio you talk to: describe a game, and an agent on a cloud machine writes it, draws it, tests it and publishes it to your arcade. The MCP server puts that studio inside whichever assistant you already use. Connect it once, and Claude, Codex, Cursor or any other client that speaks the Model Context Protocol can create games on your account, send changes, follow the builds, manage your arcade and export the results, all from the conversation you are already having.

Everything a connected agent does runs on your account and your keys, exactly as if you had typed it into the studio. The agent brings the context (the story you wrote together, the lesson plan, the release schedule); the studio brings the engine, the art pipeline and the test harness.

Before you start

  • A vbgnt account. The studio is invite-only. If you do not have one, request an invite first; the server cannot create accounts.
  • A way to build. Games build with your own Claude token or API key (or your OpenAI sign-in, for the Codex-based model), set once in the studio's Settings. An agent can tell you which one is missing but cannot add it.
  • Optional: an arcade name and an itch.io key. The agent can claim yourname.vbgnt.com for you. Publishing to itch.io needs your itch key in Settings.

Set it up

The server address is the same everywhere. Add it, and the client opens a vbgnt page in your browser where you sign in and press Allow. No API key exists for this server: the sign-in page is the only way in.

Claude.ai and the Claude desktop app

Settings, Connectors, Add custom connector. Name it "vbgnt", paste the address, and press Add. Then Connect: the sign-in page opens, and the connector turns on for every chat and project.

https://api.vbgnt.com/mcp

Claude Code

One command, then /mcp inside a session to sign in the first time. Add --scope user to make it available in every project.

claude mcp add --transport http vbgnt https://api.vbgnt.com/mcp

Codex CLI

Register the server, then log in. Codex keeps the tokens in its own store and refreshes them.

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

Or in ~/.codex/config.toml:

[mcp_servers.vbgnt]
url = "https://api.vbgnt.com/mcp"

Cursor

Add to .cursor/mcp.json in a project or ~/.cursor/mcp.json for everywhere, then open Settings, MCP and press Login next to vbgnt.

{ "mcpServers": {
    "vbgnt": { "url": "https://api.vbgnt.com/mcp" } } }

VS Code (Copilot agent mode)

Run MCP: Add Server from the command palette and pick HTTP, or write .vscode/mcp.json. VS Code asks to sign in the first time the server is started.

{ "servers": {
    "vbgnt": { "type": "http", "url": "https://api.vbgnt.com/mcp" } } }

Gemini CLI

Add to ~/.gemini/settings.json, then run /mcp auth vbgnt in a session.

{ "mcpServers": {
    "vbgnt": { "httpUrl": "https://api.vbgnt.com/mcp" } } }

OpenCode

Add to opencode.json. OpenCode runs the sign-in the first time a tool is called.

{ "mcp": {
    "vbgnt": { "type": "remote", "url": "https://api.vbgnt.com/mcp" } } }

ChatGPT

Custom connectors live behind Developer mode: Settings, Apps and Connectors, Advanced, turn it on, then Create with the address and OAuth as the authentication. The menu names move around between releases; the address does not.

https://api.vbgnt.com/mcp

Anything else

Any client that implements the MCP authorization flow (discovery, dynamic registration, PKCE) works unchanged. Point it at the address; the server advertises everything else.

https://api.vbgnt.com/mcp

What happens when you connect

Your browser opens app.vbgnt.com. If you are not signed in, you sign in. Then one page shows which agent is asking, the account it will act as, and the permissions it wants. Allow sends the agent back with a token that lasts an hour and refreshes for as long as the agent stays connected. Deny sends it back with nothing. You can disconnect from the agent's side at any time; the token dies within the hour.

Example phrases

Talk to your agent the way you would talk to the studio. Each line below is a complete request; the small print says what the agent will do with it.

A first game

  • Make me a top-down tank duel for two players, 90s shareware look, first to five wins. Call it whatever fits. create_game with a brief, then get_game_activity until it is live
  • Turn the bedtime story we wrote last week into a small 2D pixel-art game for a five-year-old. Touch controls, no reading required. create_game, using the story from your conversation as the brief
  • Build a 3D endless runner set in a flooded city, third person, chunky low-poly style. Check on it every minute and tell me when I can play. create_game with style 3d, then polling
  • Start a game called "Harbour Watch" but do not build anything yet. I will describe it after lunch. create_game without a brief, a draft; prompt_game starts it later

Changing a game

  • The jump feels floaty and the second level is too hard. Fix both. prompt_game on the game you were last talking about
  • Add a boss at the end of level three: big, slow, three hit points, and telegraph its attacks. prompt_game
  • Make this one playable online with a friend. Two players, one hosts. prompt_game; the studio adds the lobby, room code and invite link
  • Swap the art for hand-painted 2D, warmer palette, keep the gameplay. prompt_game
  • Stop the current build, I changed my mind. stop_game

Following along

  • Is the racing game done yet? What is it doing right now? get_game_activity: status, progress lines, the transcript tail
  • List my games and tell me which ones are still drafts. list_games
  • Show me the player script from the platformer and explain the jump code. list_game_files, read_game_file
  • Give me a zip of the whole project so I can open it in Godot. download_game_source

Your arcade

  • Is "nightowl" free as an arcade name? If so, claim it. check_arcade_handle, then claim_arcade_handle after you confirm
  • Put the tank game at the top of my arcade and hide the two drafts. reorder_arcade, update_game with featured and hidden
  • Write a one-line blurb for each of my games and set it. update_game with a description, per game
  • How did my arcade do this month? Which game got played most, and on what? get_arcade_stats over 30 days

Exports and publishing

  • Export the runner for Windows and Mac and give me the download links when they are ready. start_export, then get_export until done
  • Build an Android version of the kids' game for the tablet. start_export with android
  • Push the web build of the tank game to itch.io at myname/tank-duel. start_export with itch_push and a target; needs your itch key in Settings
  • Cancel that export, I want to fix the title screen first. cancel_export

Account

  • Which account am I connected as, and can it build with Claude or OpenAI models? whoami, list_models
  • Do I have an itch.io key set up? whoami reports whether each key is set, never the key itself

Bigger jobs

  • Make three tiny games from this lesson plan, one per section, hidden from the arcade until I have played each one. create_game three times, update_game hidden, polling all three
  • Every Monday: read my arcade stats, export the most played game for every platform, push it to itch.io and send me a summary. a scheduled agent using get_arcade_stats, start_export, get_export
  • Fork the racing game, call the fork "Winter Cup", and ask the studio for ice tracks and snow. fork_game, then prompt_game on the fork

Writing a brief the studio can build

The agent passes your words to the studio, so the rules for a good brief are the same as in the studio itself. Name one mechanic, a camera and an art direction; say the player count if it is more than one; keep the first version small and add to it in later turns. Original ideas only: the studio steers away from reproducing existing franchises so the game can live on a public arcade. How to prompt a game into existence goes deeper, and the workflow post shows the order of prompts that worked across dozens of games.

Permissions

An agent asks for some or all of four permissions. The sign-in page lists them, and a connection only ever gets the tools in the groups it was granted.

ScopeWhat it unlocks
gamesCreate, prompt, follow, stop, fork, rename, describe, feature or hide games; browse, read and edit project files; download the project; rebuild.
arcadeCheck and claim an arcade name, reorder the shelf, read views, players, plays and playtime.
exportsStart, follow, fetch, cancel and delete platform exports; push to itch.io.
accountWho is signed in, which arcade they own, which models and keys are available.

Three things are true of every connection. It acts on your account only: there is no way to list other people's games or read other arcades. It cannot set or read your keys: Claude, OpenAI, art, audio and itch.io keys are entered in the studio's Settings and nowhere else. And deleting a game requires the agent to confirm explicitly, so a stray sentence cannot erase one.

Tools reference

ToolDoes
whoamiAccount email, arcade, model access, which keys are set, this connection's scopes
list_modelsModels the account can build with
list_games, get_gameYour games with status, play URL and cover
create_gameName, style (2d, 2d-hd, 3d), brief; starts the first build
prompt_gameThe next build instruction for a game
get_game_activityRunning turns and progress, queued prompts, new replies, transcript tail
stop_gameCancel the running turn and drop queued prompts
fork_gameClone a project into a new draft game
update_gameName, description, featured, hidden
delete_gamePermanent; needs an explicit confirm
rebuild_gameRepublish from current sources, no agent turn
list_game_files, read_game_file, write_game_fileBrowse, read and edit project files
get_game_file_url, download_game_sourceDownload one file, or the whole project as a zip
get_arcade, check_arcade_handle, claim_arcade_handleYour arcade, name availability, claim
reorder_arcade, get_arcade_statsShelf order; views, players, plays and playtime
list_exports, start_export, get_exportPlatform exports and itch.io publishing
cancel_export, delete_exportStop a job, or remove a finished one and its files

Troubleshooting

The agent says it is not authorized or gets a 401

The connection was never approved, or it was disconnected. Run the sign-in again: Connect in Claude.ai's connector settings, /mcp in Claude Code, codex mcp login vbgnt in Codex, Login in Cursor's MCP settings.

A tool answers "this connection was not granted the ... scope"

The agent asked for fewer permissions than the job needs. Disconnect and reconnect, and approve the missing group on the sign-in page.

The build seems stuck

A first playable takes minutes, and a game with a lot of generated art takes longer. Ask the agent for the game's activity: it shows the live progress lines. If a turn really is going nowhere, "stop the build" cancels it and keeps what was done so far; the next prompt continues from there.

An export was refused

Two rules: one export per game at a time, and not while a build turn is running, because the export needs the finished sources. Publishing to itch.io also needs your itch key in the studio's Settings and a target of the form username/game-slug.

The agent asks me for an API key

Do not paste one. The server cannot accept keys, and anything typed into an agent conversation ends up in a transcript. Add the key in the studio's Settings, then ask the agent to try again.

I want to disconnect an agent

Remove the connector on the agent's side (Claude.ai's connector settings, claude mcp remove vbgnt, codex mcp remove vbgnt, the JSON file for the others). Its token expires within the hour and cannot be refreshed once the client stops asking.

Keep reading

Related articles

Feature

Let your agents make games: vbgnt is now an MCP server

Connect Claude, Claude Code or any MCP client to your studio, sign in once, and your own agent can create games, follow the builds, manage your arcade and export the results from wherever you already talk to it.

7 min read
Craft

How to prompt a game into existence

The difference between a generated game worth playing and a generated shell is almost entirely in the first two sentences. Here is what belongs in them.

10 min read
Shipping

How to export a vbgnt game for Windows, Mac, Linux, Android and iOS

The arcade plays the web build. Everything else starts in the Publish pane: tick the platforms, press Export, and a build machine does the rest while you keep working on the game.

8 min read