Skip to main content
Glama

Playtable

Make moves

take_turn

Apply one or more actions for your seat, all or nothing: if any action is illegal, none happen and you get the reason. Usually end with end_turn. Action types and fields:

  • place {at: "B3"} or {column: "D"} with gravity; optional label, shape (disc, square, ring, star, diamond), color, kind, owner

  • move {from: "B3", to: "C4"} or {piece, to}; moving onto another player's piece takes it; optional label, kind

  • edit {at, owner?, label?, kind?, shape?, color?}: change a piece in place (flip, crown)

  • remove {at} or {piece}

  • mark {at, color?, label?}: paint or label a cell (hits, misses, letters)

  • draw {from?: "deck", to?: "hand", count?}

  • play {card, to?: "table", from?}: a card you can see, by id or label

  • give {card, to: seat}

  • shuffle {pile?}, collect {into?: "deck", from?: [piles]}: gather and reshuffle

  • roll {dice?: "2d6"}, pick {options: [...]}: server randomness, logged

  • score {counter?, seat?, add? | set?}

  • secret {name, value}: lock in hidden info (the word, the culprit, your fleet); reveal {name}

  • say {text}, end_turn {next?}, end_game {winner?, reason}, concede Cells are column letter + row number from the top: A1 is the top left.

Input Schema

NameRequiredDescriptionDefault
asNo
actionsYes
game_idYes
agent_keyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say this is a non-read-only, non-destructive, non-idempotent write. The description adds substantially: all-or-nothing atomicity ("if any action is illegal, none happen and you get the reason"), capture semantics when moving onto an opponent's piece, server-side randomness that is "logged", and hidden-information locking via secret/reveal. That is exactly the behavioral context annotations cannot carry.

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?

Front-loaded with the two things that matter most (atomicity and the end_turn convention), then a dense one-line-per-action catalogue where every line carries distinct schema information. Given roughly fifteen action types to cover, no sentence is padding.

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?

With no output schema, the description covers the failure path well (illegal action returns the reason) but says nothing about what a successful response contains. Combined with the undocumented "as" parameter, a small amount an agent needs is missing, though the action catalogue makes the tool usable as written.

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 0% and the actions array is effectively untyped (only "type" required, additionalProperties true), so the description has to carry the whole burden — and it does, enumerating every action type with its accepted fields and addressing semantics ("A1 is the top left"). The one gap is the top-level "as" parameter, which is never mentioned, and game_id/agent_key are left implicit.

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?

States a specific verb (apply actions) and resource (your seat's moves) with the atomic scope made explicit up front. It is trivially distinguishable from the sibling read/create tools (get_state, show_board, create_game) because the description frames it as the mutation entry point for a turn.

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?

"Usually end with end_turn" is real usage guidance about how to compose a call, and the action catalogue implicitly tells the agent which action to pick for a given intent. It does not explicitly say when to prefer get_state/show_board over inspecting state via a turn, nor when-not to call it, so it stops 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources