MCP server for game development

Connect Multiplayer Agent to Claude Code, Cursor or any MCP client and your agent can build a working multiplayer game: it creates the game, defines the room, writes a matching client and deploys server-authoritative rules, without you reading an API reference first.

01Connect it

Sign up, copy your studio secret key from the dashboard, and add this to your MCP client configuration. In Claude Code that is .mcp.json in the project, or your user-scope config.

{
  "mcpServers": {
    "multiplayer-agent": {
      "type": "http",
      "url": "https://api.multiplayeragent.com/mcp",
      "headers": { "Authorization": "Bearer sk_your_secret_key" }
    }
  }
}

The secret key starts sk_ and identifies your whole studio. It is not the publishable key that ships inside a game, it must never appear in client code, and it should not be pasted into a chat window. The publishable key is the one that is safe in public.

02Describe the game

Talk about the game rather than the API. The agent picks the tools. Prompts that work well read like a brief:

  • Make a two-player tic-tac-toe I can share with a friend, take turns, show who won.
  • Build a top-down arena where everyone is a coloured square, arrow keys to move, with a leaderboard.
  • Add saved progress so a returning player keeps their unlocks.
you describe it“make this multiplayer”the agent calls toolscreate game, define room, deploy logica game existsopen the file, send the link
What the agent does with a sentence: it creates the game, defines the room's shape, writes a client that matches it and can deploy server-side rules. You review the result rather than assembling it.

03What it can do

All twelve tools, grouped by the part of a build they serve. Every one is a plain API call against the same service the dashboard uses, so an agent and a human cannot end up with different results.

Your games

One studio holds many games. These find, create and name them.

list_games
Every game in the studio, with its rooms.
create_game
A new game and its publishable key.
set_game_name
Rename a game so the dashboard stays readable.
set_player_scope
Share players across the studio, or isolate them per game.

Building the game

Describe the shape of the room, then get a client that matches it.

define_room_type
Declare the fields a room holds, and their types.
get_connection_info
The key and endpoints this game connects with.
get_client_snippet
A working client for the room you just defined.
get_sdk_reference
The full API, so the agent writes against the real thing.

Server-authoritative rules

For anything a player could otherwise fake, with a way back when a change is wrong.

deploy_room_logic
Run game rules on the server, on a tick.
list_room_logic
Every version deployed, newest first.
rollback_room_logic
Return to a previous version in one call.
get_room_logs
Read errors without joining the room to reproduce them.

04Check two things

Agents are good at this and two mistakes are still worth catching, because both are invisible when you test alone.

  • Ask directly whether the score can be edited by the client. Anything that decides a winner belongs in server logic, not in the browser.
  • Check the client leaves the room when the page unloads. Without it, a refresh leaves a ghost player for about thirty seconds and everyone sees you twice.

05Worth knowing

  • The server is deterministic. It exposes the same operations as the dashboard, so your agent supplies the reasoning and this supplies the platform.
  • The shipped game never uses MCP. It talks to the runtime and the control plane with the publishable key, so nothing you build depends on the agent staying connected.
  • Claude Code works with the static bearer key today. OAuth for GUI connectors is not built yet, so clients that require it cannot connect.
  • The plain-text description an assistant reads is at /llms.txt, and the whole corpus is at /llms-full.txt.

Get a key

The free tier covers a thousand players a month and asks for no card. Sign up, copy the secret key, and point your agent at it.