{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_h4jvufdrbg55","handle":"multiplayer-agent","url":"https://wellknown.network/agents/multiplayer-agent","links":{"self":"https://wellknown.network/agents/multiplayer-agent/record.json","html":"https://wellknown.network/agents/multiplayer-agent","markdown":"https://wellknown.network/agents/multiplayer-agent/record.md","api":"https://wellknown.network/api/v1/agents/multiplayer-agent","status":"https://wellknown.network/api/v1/agents/multiplayer-agent/status","claim":"https://wellknown.network/agents/multiplayer-agent/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/multiplayer-agent/claim.json","badge":"https://wellknown.network/agents/multiplayer-agent/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/multiplayer-agent/history","tools":"https://wellknown.network/api/v1/agents/multiplayer-agent/tools"},"ard":{"identifier":"urn:air:api.multiplayeragent.com:server:multiplayer-agent","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Multiplayer Agent","summary":"Make any browser game multiplayer and host it at a share link. No account needed to start.","description":"Make any browser game multiplayer and host it at a share link. No account needed to start.","publisher":{"name":"com.multiplayeragent","url":null},"homepage":"https://multiplayeragent.com/mcp","repository":"https://github.com/multiplayeragent/multiplayer-agent","version":"1.0.2","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.multiplayeragent.com/mcp?src=registry","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-28T03:29:11.476426Z","publishedAt":"2026-10-28T03:29:11.476426Z","registryName":"com.multiplayeragent/multiplayer-agent"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":0.992,"provenance":"derived"},{"slug":"automation.workflows","name":"Workflow Automation","confidence":0.833,"provenance":"derived"},{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.54,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":0.54,"provenance":"derived"}],"categories":["analytics","automation","dev","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-29T08:23:44.312Z","lastProbedAt":"2026-10-29T08:23:44.312Z","statusComputedAt":"2026-10-29T08:26:12.145Z","reliability30d":{"probes":3,"successRate":1,"p50Ms":195,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":3,"ok":3,"authBoundaryOk":0,"serviceOk":3,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-29T08:23:44.312Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":165,"error":null,"detail":{"tools":[{"name":"create_game","description":"Mint a new game (publishable key) under your studio (secret key). Returns its publishableKey + wsEndpoint. Point a client at the new key, or scope this MCP to i"},{"name":"list_games","description":"List the games (publishable keys) under your studio, with labels and per-game settings. Marks which game is `primary` (the one unnamed calls fall back to) and w"},{"name":"set_game_name","description":"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 dashboard: call this when you"},{"name":"define_room_type","description":"Create or replace the spec for a room (validation/types/defaults). Returns connection info. Omit fields entirely for a fully schemaless room."},{"name":"get_connection_info","description":"Returns { wsEndpoint, roomName, publishableKey, adsPublisherId } for wiring a client. adsPublisherId is your BYO Google Ads id (embed it if set). Check the retu"},{"name":"get_client_snippet","description":"Returns a complete single-file HTML game wired to this room: realtime movement plus an anonymous (claimable) player, a saved color (datastore), and a click lead"},{"name":"get_live_ops","description":"Read a game's live ops: `now` (what players see right now: the merged config plus active and upcoming events), the base config, every scheduled event with its s"},{"name":"set_live_config","description":"Set the game's live config: any JSON the game reads at runtime (drop rates, prices, difficulty, a banner, feature switches). It reaches rooms that are already r"},{"name":"schedule_live_event","description":"Schedule (or, with an existing id, edit) a timed event: a window, optionally repeating daily or weekly, optionally limited to some rooms, carrying config overri"},{"name":"cancel_live_event","description":"Delete a scheduled event. If it is running, it ends in running rooms within ~15 seconds (its config overrides drop away; server logic gets onLiveOps with it in "},{"name":"get_sdk_reference","description":"Returns the full SDK reference (markdown) wired to ONE game's key/endpoints: realtime rooms, player identity (anonymous + claim/login), the datastore (saves/sta"},{"name":"publish_game","description":"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 game's name and never ch"},{"name":"list_starters","description":"List the starter games: ready-made multiplayer games (many built in Multiplayer Agent's videos) to begin from with remix_game. Each shows its slug, title, summa"},{"name":"remix_game","description":"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 the starter's source"},{"name":"connect_account","description":"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 the page). Returns a o"},{"name":"claim_studio","description":"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 moves the studio's ga"}],"toolCount":16,"toolsHash":"323214bbd4d41be08f390833588f64f67929c02dfe4beb11e4d3609c3d9d5c8b","serverName":"multiplayer-agent","capabilities":["prompts","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T01:29:13.005Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":272,"error":null,"detail":{"tools":[{"name":"create_game","description":"Mint a new game (publishable key) under your studio (secret key). Returns its publishableKey + wsEndpoint. Point a client at the new key, or scope this MCP to i"},{"name":"list_games","description":"List the games (publishable keys) under your studio, with labels and per-game settings. Marks which game is `primary` (the one unnamed calls fall back to) and w"},{"name":"set_game_name","description":"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 dashboard: call this when you"},{"name":"define_room_type","description":"Create or replace the spec for a room (validation/types/defaults). Returns connection info. Omit fields entirely for a fully schemaless room."},{"name":"get_connection_info","description":"Returns { wsEndpoint, roomName, publishableKey, adsPublisherId } for wiring a client. adsPublisherId is your BYO Google Ads id (embed it if set). Check the retu"},{"name":"get_client_snippet","description":"Returns a complete single-file HTML game wired to this room: realtime movement plus an anonymous (claimable) player, a saved color (datastore), and a click lead"},{"name":"get_live_ops","description":"Read a game's live ops: `now` (what players see right now: the merged config plus active and upcoming events), the base config, every scheduled event with its s"},{"name":"set_live_config","description":"Set the game's live config: any JSON the game reads at runtime (drop rates, prices, difficulty, a banner, feature switches). It reaches rooms that are already r"},{"name":"schedule_live_event","description":"Schedule (or, with an existing id, edit) a timed event: a window, optionally repeating daily or weekly, optionally limited to some rooms, carrying config overri"},{"name":"cancel_live_event","description":"Delete a scheduled event. If it is running, it ends in running rooms within ~15 seconds (its config overrides drop away; server logic gets onLiveOps with it in "},{"name":"get_sdk_reference","description":"Returns the full SDK reference (markdown) wired to ONE game's key/endpoints: realtime rooms, player identity (anonymous + claim/login), the datastore (saves/sta"},{"name":"publish_game","description":"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 game's name and never ch"},{"name":"list_starters","description":"List the starter games: ready-made multiplayer games (many built in Multiplayer Agent's videos) to begin from with remix_game. Each shows its slug, title, summa"},{"name":"remix_game","description":"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 the starter's source"},{"name":"connect_account","description":"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 the page). Returns a o"},{"name":"claim_studio","description":"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 moves the studio's ga"}],"toolCount":16,"toolsHash":"323214bbd4d41be08f390833588f64f67929c02dfe4beb11e4d3609c3d9d5c8b","serverName":"multiplayer-agent","capabilities":["prompts","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T18:32:15.252Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":172,"error":null,"detail":{"tools":[{"name":"create_game","description":"Mint a new game (publishable key) under your studio (secret key). Returns its publishableKey + wsEndpoint. Point a client at the new key, or scope this MCP to i"},{"name":"list_games","description":"List the games (publishable keys) under your studio, with labels and per-game settings. Marks which game is `primary` (the one unnamed calls fall back to) and w"},{"name":"set_game_name","description":"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 dashboard: call this when you"},{"name":"define_room_type","description":"Create or replace the spec for a room (validation/types/defaults). Returns connection info. Omit fields entirely for a fully schemaless room."},{"name":"get_connection_info","description":"Returns { wsEndpoint, roomName, publishableKey, adsPublisherId } for wiring a client. adsPublisherId is your BYO Google Ads id (embed it if set). Check the retu"},{"name":"get_client_snippet","description":"Returns a complete single-file HTML game wired to this room: realtime movement plus an anonymous (claimable) player, a saved color (datastore), and a click lead"},{"name":"get_live_ops","description":"Read a game's live ops: `now` (what players see right now: the merged config plus active and upcoming events), the base config, every scheduled event with its s"},{"name":"set_live_config","description":"Set the game's live config: any JSON the game reads at runtime (drop rates, prices, difficulty, a banner, feature switches). It reaches rooms that are already r"},{"name":"schedule_live_event","description":"Schedule (or, with an existing id, edit) a timed event: a window, optionally repeating daily or weekly, optionally limited to some rooms, carrying config overri"},{"name":"cancel_live_event","description":"Delete a scheduled event. If it is running, it ends in running rooms within ~15 seconds (its config overrides drop away; server logic gets onLiveOps with it in "},{"name":"get_sdk_reference","description":"Returns the full SDK reference (markdown) wired to ONE game's key/endpoints: realtime rooms, player identity (anonymous + claim/login), the datastore (saves/sta"},{"name":"publish_game","description":"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 game's name and never ch"},{"name":"list_starters","description":"List the starter games: ready-made multiplayer games (many built in Multiplayer Agent's videos) to begin from with remix_game. Each shows its slug, title, summa"},{"name":"remix_game","description":"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 the starter's source"},{"name":"connect_account","description":"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 the page). Returns a o"},{"name":"claim_studio","description":"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 moves the studio's ga"}],"toolCount":16,"toolsHash":"323214bbd4d41be08f390833588f64f67929c02dfe4beb11e4d3609c3d9d5c8b","serverName":"multiplayer-agent","capabilities":["prompts","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"create_game","description":"Mint a new game (publishable key) under your studio (secret key). Returns its publishableKey + wsEndpoint. Point a client at the new key, or scope this MCP to i"},{"name":"list_games","description":"List the games (publishable keys) under your studio, with labels and per-game settings. Marks which game is `primary` (the one unnamed calls fall back to) and w"},{"name":"set_game_name","description":"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 dashboard: call this when you"},{"name":"define_room_type","description":"Create or replace the spec for a room (validation/types/defaults). Returns connection info. Omit fields entirely for a fully schemaless room."},{"name":"get_connection_info","description":"Returns { wsEndpoint, roomName, publishableKey, adsPublisherId } for wiring a client. adsPublisherId is your BYO Google Ads id (embed it if set). Check the retu"},{"name":"get_client_snippet","description":"Returns a complete single-file HTML game wired to this room: realtime movement plus an anonymous (claimable) player, a saved color (datastore), and a click lead"},{"name":"get_live_ops","description":"Read a game's live ops: `now` (what players see right now: the merged config plus active and upcoming events), the base config, every scheduled event with its s"},{"name":"set_live_config","description":"Set the game's live config: any JSON the game reads at runtime (drop rates, prices, difficulty, a banner, feature switches). It reaches rooms that are already r"},{"name":"schedule_live_event","description":"Schedule (or, with an existing id, edit) a timed event: a window, optionally repeating daily or weekly, optionally limited to some rooms, carrying config overri"},{"name":"cancel_live_event","description":"Delete a scheduled event. If it is running, it ends in running rooms within ~15 seconds (its config overrides drop away; server logic gets onLiveOps with it in "},{"name":"get_sdk_reference","description":"Returns the full SDK reference (markdown) wired to ONE game's key/endpoints: realtime rooms, player identity (anonymous + claim/login), the datastore (saves/sta"},{"name":"publish_game","description":"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 game's name and never ch"},{"name":"list_starters","description":"List the starter games: ready-made multiplayer games (many built in Multiplayer Agent's videos) to begin from with remix_game. Each shows its slug, title, summa"},{"name":"remix_game","description":"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 the starter's source"},{"name":"connect_account","description":"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 the page). Returns a o"},{"name":"claim_studio","description":"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 moves the studio's ga"}],"package":null,"toolSurface":{"id":"ts_kvxn7j4zbzwh","endpointId":"ep_6h3rpbaep9wu","hash":"323214bbd4d41be08f390833588f64f67929c02dfe4beb11e4d3609c3d9d5c8b","toolCount":16,"serverName":"multiplayer-agent","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-28T18:32:15.251Z","lastSeenAt":"2026-10-29T08:23:44.323Z","observations":3,"toolNames":["create_game","list_games","set_game_name","define_room_type","get_connection_info","get_client_snippet","get_live_ops","set_live_config","schedule_live_event","cancel_live_event","get_sdk_reference","publish_game","list_starters","remix_game","connect_account","claim_studio"],"distinctSurfaces":1},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.multiplayeragent/multiplayer-agent","url":"https://registry.modelcontextprotocol.io/v0/servers/com.multiplayeragent%2Fmultiplayer-agent","firstSeenAt":"2026-10-28T17:19:57.555Z","fetchedAt":"2026-10-28T17:19:57.555Z","normalizedAt":"2026-10-28T17:19:57.555Z"}]},"firstSeenAt":"2026-10-28T17:19:57.555Z","updatedAt":"2026-10-29T08:27:12.107Z"}