Categories › Web & Browser › Browser automation (click, fill, screenshot)
Make any browser game multiplayer and host it at a share link. No account needed to start.
Remote server: your requests and data go to api.multiplayeragent.com. Claude Code: claude mcp add --transport http multiplayer-agent https://api.multiplayeragent.com/mcp?src=registry · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
create_game — Mint a new game (publishable key) under your studio (secret key). Returns its publishableKey + wsEndpoint. Point a client at the new key, orlist_games — List the games (publishable keys) under your studio, with labels and per-game settings. Marks which game is `primary` (the one unnamed callsset_game_name — Set a human-readable name for a game (the `game` argument, else the x-mp-game header, else your only game). The name shows in your dashboarddefine_room_type — Create or replace the spec for a room (validation/types/defaults). Returns connection info. Omit fields entirely for a fully schemaless roomget_connection_info — Returns { wsEndpoint, roomName, publishableKey, adsPublisherId } for wiring a client. adsPublisherId is your BYO Google Ads id (embed it if get_client_snippet — Returns a complete client wired to this room. platform "web" (default): a single-file HTML game with realtime movement plus an anonymous (cldeploy_room_logic — Deploy server-side game logic (JS source) for a room so it runs AUTHORITATIVELY: clients send inputs and the server computes state on a ticklist_room_logic — Returns the deploy history (version, tickRate, bytes, deployedAt) for a room's authoritative logic, newest first.rollback_room_logic — Roll a room's authoritative logic back to a prior version by re-deploying it as a new version (history stays intact). Omit toVersion to restget_room_logs — Returns recent runtime errors from a room's deployed logic (newest first), so you can self-fix after a deploy without joining the room. Erroget_live_ops — Read a game's live ops: `now` (what players see right now: the merged config plus active and upcoming events), the base config, every scheduset_live_config — Set the game's live config: any JSON the game reads at runtime (drop rates, prices, difficulty, a banner, feature switches). It reaches roomschedule_live_event — Schedule (or, with an existing id, edit) a timed event: a window, optionally repeating daily or weekly, optionally limited to some rooms, cacancel_live_event — Delete a scheduled event. If it is running, it ends in running rooms within ~15 seconds (its config overrides drop away; server logic gets oset_highlight_webhook — Set where the game's highlights post: a Discord channel webhook (Server Settings → Integrations → Webhooks → Copy URL) or a Slack incoming wget_sdk_reference — Returns the full SDK reference (markdown) wired to ONE game's key/endpoints: realtime rooms, player identity (anonymous + claim/login), the set_player_scope — Choose whether players (and their data/leaderboards) are shared across all of your games ('account', the default) or isolated to one game ('enable_login_provider — Let players sign in with a portal or federated account via player.loginExternal({ provider, token }). Self-serve providers: 'wavedash' (gamelist_login_providers — List the external login providers enabled on a game (names only, never secrets). selfServe=true ones you can reconfigure with enable_login_pverify_login_token — Check a real provider token against the game's login config exactly as player.loginExternal would, WITHOUT creating or linking a player. Retcreate_upload — Upload files straight from disk instead of pasting their bytes into a tool call: for images, audio, fonts, 3D models, and ANY file over ~50 publish_game — Host the game's files at a public share link, https://<slug>.play.multiplayeragent.com/ (the game's own origin; the slug comes from the gamelist_starters — List the starter games: 180+ ready-made multiplayer games across every genre (the ones built in Multiplayer Agent's videos come first) to beremix_game — Start from a starter game (see list_starters): makes a NEW game in this studio (or, with `game`, reuses one of yours) and returns a link to connect_account — Connect this keyless session to the user's own account, the way `gh auth login` works. Ask for their email first and pass it (it prefills thclaim_studio — This connection has no account: it builds into an unclaimed studio. Returns the claim link to give the user (a free sign-up or log-in that mNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.