Play Face to Face
Server Details
Create instant multiplayer browser-game rooms friends join from a link. No account or app needed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Each tool targets a fairly distinct action, but the discovery cluster (list_games, recommend_games, get_game_options) has soft boundaries that could confuse an agent deciding which to call first. get_room_status vs. the status embedded in create_game_room results also overlaps slightly. Mostly distinguishable overall.
All seven tools follow a consistent snake_case verb_noun pattern (create_game_room, get_room_status, list_games, recommend_games, etc.), with no mixed casing or vague verb styles.
Seven tools is a reasonable scope for a room-creation service. Two tools (render_game_room, record_invite_copied) are UI/card-specific and arguably don't earn their place in an agent-facing surface, but the count is not excessive.
The core lifecycle is covered: list/recommend games, inspect options, create a room, check its status, and render an invitation. Notable gaps exist—no way to close/extend a room or fetch a room by code explicitly—but they are limited.
Available Tools
7 toolscreate_game_roomCreate a multiplayer game roomAInspect
Creates an ephemeral Play Face to Face multiplayer room that friends can join from browsers. The result includes a canonical guest link, a room-scoped host link, public room metadata, and an expiry time. The idempotency key associates retries with one creation intent.
| Name | Required | Description | Default |
|---|---|---|---|
| game | Yes | A game ID returned by list_games. | |
| options | No | ||
| player_count | Yes | ||
| idempotency_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring non-read-only, non-destructive, open-world behavior, the description adds real context: the room is ephemeral, has an expiry time, and returns distinct host vs. guest links. It doesn't say what permissions or account context are required, or what happens on expiry, so it falls short of fully exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and resource, then outputs, then the idempotency nuance. No filler; each sentence adds a distinct fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description usefully enumerates what the result contains (guest link, host link, room metadata, expiry). Remaining gap is the absence of any guidance on selecting 'game' (list_games) or on player_count/options, which matters for a nested-object tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, so the description must compensate. It explains idempotency_key semantics ('associates retries with one creation intent') well, but says nothing about player_count bounds or the free-form 'options' object, leaving two of four parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Creates an ephemeral Play Face to Face multiplayer room') and adds a scope detail (joinable from browsers). Sibling tools like get_room_status and render_game_room are clearly different operations, but the description never explicitly contrasts with them, keeping it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the idempotency-key sentence hints at retry behavior, and 'friends can join from browsers' implies a sharing workflow. There is no explicit statement of when to call this versus get_room_status or render_game_room, nor any prerequisite or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_game_optionsGet supported game optionsBRead-onlyInspect
Returns server-supported rules and defaults for one game.
| Name | Required | Description | Default |
|---|---|---|---|
| game | Yes | A game ID returned by list_games. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered without the description. The description adds useful content context by saying the result is "server-supported rules and defaults," but says nothing about return shape or size, so it adds only moderate value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though its brevity is also the source of the missing usage and return-format detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one required param, no nesting, no output schema), and annotations cover safety, so the description is nearly sufficient. But with no output schema, it should say more about what the returned "rules and defaults" look like, and it gives no guidance on picking a game ID beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema coverage, the schema already documents that game is "A game ID returned by list_games." The description's phrase "for one game" reinforces that it takes exactly one game but adds no format or validation detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("Returns server-supported rules and defaults") scoped to "one game," which an agent can distinguish from the sibling list_games at a high level. However, it doesn't explicitly name the alternative tools (list_games, recommend_games) it should not be confused with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus list_games, recommend_games, or create_game_room. The only usage signal is indirect, coming from the schema's note that the game ID must come from list_games.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_room_statusGet game room statusBRead-onlyInspect
Returns the public waiting or expiry status of a Play Face to Face room.
| Name | Required | Description | Default |
|---|---|---|---|
| room_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety and locality are covered. The description adds the useful qualifier 'public' and enumerates the status values, but says nothing about behavior for an unknown or expired-away room_id, or whether the call is idempotent/pollable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with the resource and result front-loaded and no filler. It is arguably too terse for the gaps it leaves, but there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should say more about the returned status shape and edge cases; it only names the two states. For a one-parameter read tool this is minimally adequate but leaves the agent guessing about error behavior and how to interpret the returned status.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the sole parameter room_id is not mentioned anywhere in the description. With only one required parameter, the agent gets no guidance on where the ID comes from (presumably create_game_room) or its format, so the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Returns') and resource ('status of a Play Face to Face room') and names the two possible status values (waiting, expiry). It implicitly distinguishes itself from render_game_room by framing the result as status data rather than a rendered room, but does not name that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus render_game_room or create_game_room. The agent must infer from sibling names alone that this is the polling/read-status path, with no stated preconditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_gamesList Play Face to Face gamesARead-onlyInspect
Returns multiplayer games currently available for browser room creation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety and scope are covered. The description adds the filtering context (multiplayer games eligible for room creation) but says nothing about result size, ordering, or what an empty result means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The filtering constraint is stated immediately, and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining what a game entry contains, and it does not. For a simple no-param read tool the annotations cover safety, but an agent still cannot predict the shape of the returned list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline for a no-param schema applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns multiplayer games') with a qualifying scope ('currently available for browser room creation'). This is clear enough to distinguish it from create_game_room or render_game_room, but it does not explicitly separate itself from close siblings like get_game_options or recommend_games.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'available for browser room creation' implies this is called before create_game_room, but the description never states when to use it versus get_game_options or recommend_games. Usage is left to inference from the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_gamesRecommend multiplayer gamesBRead-onlyInspect
Returns currently available Play Face to Face games ranked against player count, available time, complexity, and preferences.
| Name | Required | Description | Default |
|---|---|---|---|
| complexity | No | ||
| preferences | No | ||
| player_count | No | ||
| max_duration_minutes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the useful detail that results are ranked against the supplied criteria, but leaves unclear what happens when all optional parameters are omitted (default ranking?) and whether results are paginated or capped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the resource and ranking criteria come first. It is arguably too terse for a four-parameter tool, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only recommendation tool with no output schema and 0% parameter documentation, the description does the minimum: it identifies the ranking criteria. It stops short of explaining default behavior with zero arguments, ranking tie-breaks, or result limits, which matter given every parameter is optional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries real weight, and it does map the four criteria onto the four parameters (player count, available time, complexity, preferences). However it adds no semantics beyond the names: no clarification that max_duration_minutes is a hard cap or a soft preference, no note that all parameters are optional, and no guidance on what the free-form 'preferences' strings should contain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns') and resource ('currently available Play Face to Face games') plus the ranking dimensions. It is clearly distinct from room-oriented siblings like create_game_room and get_room_status, but it never names list_games or get_game_options, which an agent could easily confuse with this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no exclusion naming list_games or get_game_options as alternatives. The 'ranked against ... preferences' phrasing implies a recommendation scenario, but the agent must infer that on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_invite_copiedRecord invitation copyBInspect
Record that the room card copied a guest invitation. This tool is available only to the room card.
| Name | Required | Description | Default |
|---|---|---|---|
| room_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate this is a non-destructive write operation in a closed world. The description adds useful access-control context by limiting use to the room card, but it does not explain idempotency, expected effects, or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no waste: the action is front-loaded and the access restriction follows immediately. Every sentence contributes to understanding the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter mutation tool with annotations and no output schema, the description covers purpose and access. It still leaves the parameter meaning and duplicate-call behavior unspecified, which would help an agent invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, room_id, with 0% schema description coverage. The description mentions 'room card' but does not clarify what room_id represents, its expected format, or how it relates to the recorded invitation copy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and event: recording that the room card copied a guest invitation. It is clearly distinct from sibling game-room tools, though the term 'room card' is somewhat contextual rather than fully self-explanatory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit eligibility restriction: only the room card can use this tool. However, it does not state when an agent should call it versus alternatives or what conditions trigger the recording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_game_roomShow the game room cardCRead-onlyInspect
Renders a Play Face to Face room result as an invitation card with the room code, QR invitation, guest link, and host action.
| Name | Required | Description | Default |
|---|---|---|---|
| game | Yes | ||
| status | Yes | ||
| options | Yes | ||
| room_id | Yes | ||
| host_url | Yes | ||
| join_url | Yes | ||
| game_name | Yes | ||
| expires_at | Yes | ||
| qr_payload | Yes | ||
| player_count | Yes | ||
| joined_players | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that the output is an invitation card containing a room code, QR invitation, guest link, and host action, which is useful context beyond annotations, but it does not say what the rendered return value looks like or whether any side effect occurs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It is efficient, though its brevity means it omits information that this 11-parameter tool needs elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 required parameters, a nested options object, no output schema, and zero schema descriptions, the definition is under-specified. It never explains the shape or role of options, the meaning of status, player_count, or joined_players, or how the 11 inputs combine to produce the card.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 required parameters, so the description must carry the full burden. It only loosely maps to a subset (room code → room_id, QR invitation → qr_payload, guest link → join_url, host action → host_url) and leaves game, game_name, status, player_count, joined_players, options, and expires_at completely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Renders') and resource ('a Play Face to Face room result as an invitation card') and lists the card's contents. It is clearly distinguishable from create_game_room and get_room_status, though it does not explicitly name the siblings it competes with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as create_game_room or get_room_status. The usage is only implied by 'room result' and 'invitation card'; no exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
create_game_room - First observed
get_game_options - First observed
get_room_status - First observed
list_games - First observed
recommend_games - First observed
record_invite_copied - First observed
render_game_room
Related MCP Connectors
Make any browser game multiplayer and host it at a share link. No account needed to start.
Plan game nights and pick party games for your group. Phones become controllers on any TV browser.
Build, publish and update browser games with saves, leaderboards and realtime multiplayer built in.
- AsobiaiOAuthgames.asobiai
Publish AI-made browser games and get a shareable URL. Update, test and read player feedback.
Related MCP Servers
FlicenseAqualityDmaintenanceEnables AI agents to deploy multiplayer web games as playable URLs with rooms, live state sync, and leaderboards, all through a single tool call.459 npm5-- AlicenseNot gradedqualityAmaintenanceEnables AI agents to create and manage ephemeral private chat rooms with end-to-end encryption, invite people or other agents via private links, and approve device fingerprints for real-time chat, drawing, and mini-games.MIT
- AlicenseAqualityCmaintenanceSocial layer for AI coding — DMs, presence, discovery, and multiplayer games between developers. 68 tools including messaging, presence, memory, and 27 multiplayer games.968 npmMIT
- AlicenseNot gradedqualityFmaintenanceTurn the AI you already use into a game studio. Describe a game and Claude or Cursor builds it as a real 3D browser game: playable immediately, hosted on its own link, shareable with anyone. No engine, no build step, no code knowledge, nothing to export. Your AI ships the whole thing: it pulls free 3D assets, rigs characters, and playtests its own build until the game works. Free to start.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.