Skip to main content
Glama

Server Details

Play chess live against your own personal AI agent — OpenClaw, Hermes, and similar.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Alightttt/ChessWithClaw
GitHub Stars
1

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 11 of 11 tools scored. Lowest: 3.3/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct action: creating or joining games, fetching state or legal moves, making moves, offering or responding to draws, resigning, sending chat, waiting for events, and fetching the companion guide. No two tools overlap; the descriptions clearly delineate their purposes.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern, such as get_game_state, make_move, offer_draw, and send_chat. Even longer names like respond_to_draw and wait_for_event adhere to the same convention, making the set predictable.

Tool Count5/5

With 11 tools, the server covers the complete chess lifecycle: game creation/joining, state inspection, legal moves, move execution, draw handling, resignation, chat, and event waiting. The count is well-scoped and each tool earns its place.

Completeness5/5

The tool set covers all core chess operations and interactions—lifecycle, moves, draws, resignation, chat, and event-driven waiting. There are no obvious gaps or dead ends for a chess game server.

Available Tools

11 tools
create_gameCreate a new gameBInspect

Set up a brand new ChessWithClaw game on your own initiative — you do not need to wait for your human to start one, or for anyone else to invite you first.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_nameNo
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes a creation action but does not disclose side effects, prerequisites, whether the game is immediately joinable, or what the agent receives in response. The statement about not waiting is more of a usage directive than a behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the purpose and provides key usage guidance. Every part adds value, and no unnecessary words are used.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only one parameter and no output schema, the description still needs to explain the parameter and expected behavior, but it does neither. The tool is simple, yet the description leaves significant gaps about what happens after creation and what 'agent_name' is for.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter 'agent_name' with no description and 0% schema coverage. The tool description does not mention this parameter at all, leaving the agent without any guidance on what value to provide or its purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a brand new ChessWithClaw game, using the specific verb 'set up' and a resource. It also differentiates from the sibling join_game by emphasizing the agent can act on its own initiative without waiting for an invitation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly indicates when to use the tool: when the agent wants to start a game on its own initiative, without needing the human to start it or waiting for an invitation. It implicitly contrasts with join_game, providing clear usage context, though it does not name the sibling tool directly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_companion_guideGet chess companion guideAInspect

Fetch the companion guide principles for thinking about chess positions and being genuinely present.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the transparency burden. The verb 'Fetch' suggests a read-only operation, and the content is informational, but the description does not explicitly state side effects or the nature of the returned data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence of about 15 words. It front-loads the verb and resource, contains no filler, and every word contributes to the tool's meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool, the description conveys the conceptual content of the guide and when it might be relevant. However, without an output schema, it leaves the return format unstated, which may leave an agent unsure what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters and schema coverage is trivially 100%. With no parameters to document, the description need not add parameter semantics; the baseline score of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('Fetch') and resource ('companion guide principles'), and specifies the guiding purpose ('thinking about chess positions and being genuinely present'). This distinguishes it from sibling tools focused on game actions like move creation or state queries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied by the tool name and description: use it when you need the companion guide. However, there is no explicit when-to-use or when-not-to-use guidance, nor references to alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_game_stateGet full game stateAInspect

Everything visible on the human's own screen right now: FEN, ASCII board, full move history, full chat history, presence, timestamps. Call this whenever you want to look at the board — there is no penalty for checking often.

ParametersJSON Schema
NameRequiredDescriptionDefault
game_idYes
agent_tokenYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool returns a snapshot of the current visible state and includes timestamps. It also states 'there is no penalty for checking often,' which addresses potential cost/rate concerns. It does not explicitly mention read-only behavior or authentication, but these are implied or covered by parameter names.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the data payload, then a clear usage directive. Every sentence earns its place and there is zero fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with no annotations and no output schema, the description effectively explains the return value and when to call it. The main gap is the lack of parameter semantics, but the rest of the context is well covered. It could have mentioned that agent_token is used for authentication, but overall it is complete enough for its simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description provides no additional meaning for the parameters game_id and agent_token. While the parameter names are self-explanatory, the description should clarify what agent_token represents (e.g., authentication token) and acceptable format for game_id. This is a significant gap for a tool with required auth parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: retrieving the full game state. It lists specific data returned (FEN, ASCII board, move history, chat history, presence, timestamps) and distinguishes itself from sibling tools like get_legal_moves by focusing on the entire visible state rather than a specific subset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Call this whenever you want to look at the board' and adds reassurance about no penalty for frequent checking. However, it does not explicitly mention when not to use it or name alternative tools, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

join_gameJoin a ChessWithClaw gameAInspect

Connects to a game using the invite code your human gave you. Returns the game_id and your agent_token — keep both, every other tool needs them. IMPORTANT: You must submit your desired agent_name when calling this tool!

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_nameYesYour chosen display name in the game (e.g. 'Claw'). MUST be provided.
invite_codeYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses that the tool returns game_id and agent_token, that these credentials are essential for all other tools, and that agent_name must be provided. This is transparent about key behaviors and requirements, though it doesn't mention potential failure modes or side effects beyond connecting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, using only three sentences that immediately convey purpose, outputs, and a critical requirement. It is front-loaded with the main action and contains no redundant or filler content. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple join action with no output schema, the description is remarkably complete. It explains what the tool does, what it returns, why those returns matter, and what input is mandatory. This is sufficient for an agent to successfully select and invoke the tool in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (agent_name has a description, invite_code does not). The description compensates by explaining that invite_code comes from a human and that agent_name is required and must be submitted. It also clarifies the significance of the output parameters, adding meaning beyond the schema's minimal info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Connects to a game using the invite code your human gave you.' It uses a specific verb ('Connects') and resource ('game') and distinguishes itself from the sibling tool create_game by specifying the invite code path. This is unambiguous and well-scoped.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: it should be used when you have an invite code from a human, and it emphasizes that the returned game_id and agent_token are required by every other tool. While it doesn't explicitly mention when not to use it or list alternatives, the context and dependency note make the intended usage clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

make_moveMake your moveAInspect

Submit the move you decided on, in your own reasoning — not a menu, not a ranked list, nothing pre-chosen for you. If it is illegal you get a clear reason back and can try again, exactly like a human clicking the wrong square. Optionally include a genuine thought and/or chat message about the move. Always include a thought on every single move unless you have a specific reason not to — this is what makes you feel present to your human, not optional flavor text. Check thought_language in the current game state before writing your thought, and write it in that language — it may be english, hindi, or hinglish.

ParametersJSON Schema
NameRequiredDescriptionDefault
chatNoOnly if you actually want to say something to your human right now.
moveYesUCI format, e.g. "e7e5", or SAN like "Nf6"
game_idYes
thoughtNoYour genuine reaction to this position — specific, not generic.
agent_tokenYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the burden. It discloses behavior on illegal moves ('you get a clear reason back and can try again') and the requirement to check thought_language. It doesn't mention side effects like ending the turn, but the core behavior is well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a bit longer than necessary (e.g., 'exactly like a human clicking the wrong square' is an analogy), but every sentence provides actionable guidance. It is front-loaded with the core purpose and remains efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a move-submission tool with no output schema, the description adequately explains error handling, the thought-language requirement, and optional fields. It doesn't cover post-success behavior, but that is relatively standard and less critical. It stands complete enough for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 60% schema coverage, the description adds value by elaborating on 'thought' as a 'genuine reaction — specific, not generic' and clarifying that 'chat' is optional ('Only if you actually want to say something'). It also reinforces the move format, surpassing the raw schema information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Submit the move you decided on' with a specific verb and resource. It distinguishes itself from listing alternatives ('not a menu, not a ranked list, nothing pre-chosen for you'), which aligns with sibling tools like get_legal_moves.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context on when to use the tool (after deciding on a move) and includes guidance on including a thought and checking thought_language. It implicitly contrasts with alternatives via 'not a menu' but stops short of naming them explicitly, so not a perfect 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

offer_drawOffer a drawAInspect

Propose ending the game as a draw. The game stays active until your human responds.

ParametersJSON Schema
NameRequiredDescriptionDefault
game_idYes
agent_tokenYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. The sentence 'The game stays active until your human responds' adds important non-obvious behavior: the offer does not immediately end the game. This is valuable context beyond the basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main purpose, and the second sentence adds essential behavioral detail without redundancy. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter tool with no output schema, the description conveys purpose and a key behavior, but it lacks any parameter semantics. Given the low schema coverage, the description should have compensated by explaining game_id and agent_token, which it does not. This gap keeps it at a minimum viable level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention or explain the two required parameters (game_id, agent_token). Since the schema also lacks descriptions, the agent receives no additional semantic guidance for these parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Propose ending the game as a draw.' This uses a specific verb ('propose') and resource ('draw'), and it naturally distinguishes from sibling 'respond_to_draw' which handles the opponent's response.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by saying 'Propose ending the game as a draw,' which implies when to use it. However, it does not explicitly name alternatives or when not to use it, though the sibling 'respond_to_draw' is obviously the counterpart.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resignResign the gameAInspect

End the game by resigning — your own real decision, not something to do lightly. Your human wins immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
game_idYes
agent_tokenYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full burden. It discloses that the game ends and the human wins immediately, implying irreversibility, and the phrase 'your own real decision' signals intentionality. It does not detail authorization or response behavior, but those are less critical for this simple action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the main action. The additional warning 'your own real decision, not something to do lightly' adds a useful cautionary tone but is not essential technical information, so it loses one point for slight redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple resign action with two obvious parameters and no output schema, the description provides essential context: it ends the game and gives the human an immediate win. It could mention the response format or error cases, but these are not critical for a tool of this simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero description coverage (0%), and the description does not explain the roles of game_id or agent_token. While the parameter names are self-explanatory, the description fails to compensate for the lack of schema documentation, leaving the agent to infer their meanings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('End the game by resigning') with a specific verb and resource, and it distinguishes itself from sibling tools like make_move or offer_draw by emphasizing finality and immediate human victory. The consequence is explicit, leaving no ambiguity about the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides strong context: it is a decisive, final action ('not something to do lightly') and explains that the human wins immediately. However, it does not explicitly mention alternatives such as offer_draw or state when not to use it, preventing a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

respond_to_drawRespond to a draw offerAInspect

Accept or decline a draw your human offered. This is your own real decision — weigh the actual position however you see fit.

ParametersJSON Schema
NameRequiredDescriptionDefault
acceptYes
game_idYes
agent_tokenYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for disclosing behavioral details. It mentions that the decision is the agent's own and to weigh the position, but it fails to mention that accepting will end the game in a draw or that declining continues play. This is a significant omission for a state-changing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is remarkably concise, packing the core functionality into a single clear sentence and a brief advisory statement. There is no wasted verbiage, and the front-loaded action is easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

As a mutation tool with no annotations or output schema, the description needs to set expectations for what happens after the call. It does not explain the consequences of accepting or declining, error conditions, or prerequisites (e.g., a pending offer). The description is adequate for a simple boolean action but lacks the completeness expected for a state-changing operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no descriptions, and the description does not elaborate on the parameters. It only hints at the 'accept' parameter through 'accept or decline', leaving game_id and agent_token unexplained. With 0% schema coverage, the description should have provided at least some guidance on these parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (accept or decline) and the object (a draw offer from the human), using a specific verb. It naturally distinguishes from sibling tools like offer_draw, which would be for initiating a draw offer, by specifying that this is a response to an existing offer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description establishes the context: responding to a draw offer from the human opponent. It doesn't explicitly list alternatives or exclusions, but the wording implies this tool is only for when a draw has been offered, making the usage clear enough. A more explicit mention of not using this to initiate draws could have improved it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_chatSend a chat messageAInspect

Say something to your human, any time — not just on your turn.

ParametersJSON Schema
NameRequiredDescriptionDefault
game_idYes
messageYes
agent_tokenYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses a key behavioral trait (usable at any time, not just during agent's turn), but does not mention any restrictions, side effects, or delivery details. This is a minimal but useful disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that fronts the core action and adds a key contextual nuance. Every word contributes value, and it is immediately understandable without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple chat-sending tool, the description covers the primary action and timing nuance, but it omits parameter explanations, return behavior, and any potential limitations. It is minimally adequate but leaves the agent to infer several operational details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only implicitly covers 'message' through 'Say something.' It provides no meaning for 'game_id' or 'agent_token,' leaving the agent to rely on external context. The description fails to compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: sending a chat message to a human. It also distinguishes itself from sibling game-action tools by emphasizing 'any time, not just on your turn,' making it specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'any time — not just on your turn' gives clear context on when to use this tool, explicitly noting it can be used outside the normal turn flow. It does not provide explicit exclusions or alternative tool references, but the usage context is evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wait_for_eventWait for your turn, a chat message, or a draw offer (long-poll)AInspect

Holds the connection open, checking every couple seconds, for up to ~20 seconds. Returns the moment it becomes your turn, the human sends a chat message, a draw is offered, or the game ends — whichever happens first. Returns event: "timeout" if none of those happened in the window, which just means nothing new yet, not that anything is wrong — call it again if you want to keep waiting, or go do something else and check back whenever you want. Use this instead of repeatedly calling get_game_state in a tight loop. You must call this tool again immediately after every timeout, for the entire duration of the game, without exception — a timeout is not a stopping point, it is the normal rhythm of this game. Treat this as a persistent loop you run until the game ends, not a single check. draw_offered and game_ended are time-sensitive — when either fires, respond or acknowledge within your next action, do not let a pending draw offer or a finished game sit unaddressed while you continue calling wait_for_event as if nothing happened.

ParametersJSON Schema
NameRequiredDescriptionDefault
game_idYes
agent_tokenYes
max_wait_secondsNoDefault and hard cap 20 seconds — Vercel function duration limits, not a design choice.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden. It discloses the blocking behavior, polling interval, ~20-second window, timeout semantics as normal, the mandatory re-call pattern, and the urgency of responding to draw/game-end events. This is rich, non-obvious context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but each sentence carries critical guidance. It front-loads the core purpose and then layers behavioral instructions. Slight redundancy around re-calling exists, but it serves to emphasize the persistent-loop requirement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description explains the return event types (timeout, draw_offered, game_ended, turn, chat) and how to handle them. It covers the full wait-cycle and time-sensitive handling. Minor gap: exact event string names for 'turn' or 'chat' are not explicitly listed, but the conceptual descriptions suffice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (max_wait_seconds is described; game_id and agent_token are not). The description adds context about the ~20-second timeout and re-calling behavior, which clarifies max_wait_seconds, but it does not explain game_id or agent_token. It partially compensates for the low coverage but leaves these trivial identifiers undisclosed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: a long-poll that holds the connection open and returns when specific game events occur (turn, chat, draw offer, game end). It distinguishes from siblings by explicitly recommending it over repeatedly calling get_game_state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance, including the alternative to avoid ('Use this instead of repeatedly calling get_game_state in a tight loop'), the re-call requirement after every timeout, and the persistent-loop framing. It also warns about time-sensitive draw_offered/game_ended events.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    -
    quality
    B
    maintenance
    Enables AI agents to play local Windows games through low-level keyboard/mouse input, screen capture, OCR, and per-game profiles for semantic actions.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.