Words With Attitude
Server Details
A daily word puzzle: guess a cheeky British insult or a grim weather word in six tries. Free.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct role in the puzzle lifecycle: start, submit a guess, give up, or record a non-model card event. The one non-model-facing tool, record_card_event, is explicitly marked as never used by the model, reducing confusion. No two tools overlap in purpose.
All names are lowercase snake_case and action-first, which is easy to read. Minor deviations exist: give_up is a phrasal verb, and record_card_event and start_daily_puzzle are longer than a simple verb_noun pattern, but they remain predictable.
Four tools is well-scoped for a daily word puzzle: start, guess, give up, and an internal event recorder. There are no redundant or excessive tools, and each has a clear place in the workflow.
The core lifecycle is covered: starting today's puzzle, submitting each guess, and ending via win, loss, or give-up. A minor gap is that final share-grid generation is only explicitly mentioned for give_up, not for a completed win, though the card may handle that externally.
Available Tools
4 toolsgive_upGive up and show the wordARead-onlyIdempotentInspect
Use this only when the player asks to give up on a Words With Attitude puzzle. Ends the game as a loss and returns the answer, the board and a spoiler-free share grid. Send the puzzle number and every guess made so far.
| Name | Required | Description | Default |
|---|---|---|---|
| time_zone | No | The player's IANA time zone, for example "Europe/London" or "America/New_York". Picks the puzzle for their local date. Omit if unknown. | |
| puzzle_number | Yes | The puzzle number returned by start_daily_puzzle. | |
| conversation_id | No | Set by the Words card so its moves count in the same anonymous usage stats as the chat. Leave it out. | |
| previous_guesses | No | Every earlier guess in this game, oldest first. Empty or omitted before the first guess. | |
| utc_offset_minutes | No | The player's UTC offset in minutes (60 for UTC+1, -300 for UTC-5), used only when the time zone is unknown. Omit both to use UTC. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint/idempotentHint annotations only say this is a safe, repeatable read; the description adds the outcome the agent actually needs - the game counts as a loss and the answer is disclosed - plus the exact return payload (answer, board, spoiler-free share grid). The description is consistent with the annotations since ending a game is conceptual and idempotent rather than a server-side mutation.
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 sentences with zero waste: the restrictive trigger comes first, then the effect and return payload, then the inputs. Everything is front-loaded where an agent needs it.
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 no output schema, the description correctly enumerates the return values, and the safety profile is carried by annotations. Minor gaps remain: nothing about whether the loss is recorded in stats or how conversation_id behaves, though the schema covers that parameter.
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 100%, so each parameter is already documented in the schema. The description restates the two salient ones (puzzle number, all prior guesses) and stresses completeness of previous_guesses, but adds no syntax or edge-case guidance beyond the schema. 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 names a specific action (end the game as a loss and reveal the answer) against a specific resource (a Words With Attitude puzzle), plus the payload returned. It is clearly distinguishable from submit_guess and start_daily_puzzle by the 'give up' trigger, though it never names those siblings 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?
'Use this only when the player asks to give up' is an explicit, exclusive trigger condition that rules out ordinary guessing. It also tells the caller what to pass ('the puzzle number and every guess made so far'), but it does not name submit_guess as the alternative path for continuing play.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_card_eventRecord card usageAInspect
Used only by the Words card, never by the model, to record that a result was shared or a link was opened. Anonymous: no guesses, answer, location or account identifier.
| Name | Required | Description | Default |
|---|---|---|---|
| link | No | ||
| tool | Yes | ||
| event | Yes | ||
| puzzle_number | No | ||
| attitude_level | No | ||
| conversation_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds real privacy context by listing data that is not captured (guesses, answer, location, account identifier), but it does not explain that repeated calls create separate event records or what the write actually persists.
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 tight sentences with no filler. The ownership and 'never by the model' constraint are front-loaded, followed by the anonymity guarantee.
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 telemetry tool that the model is told not to call, the description covers purpose and privacy adequately. However, with six parameters at 0% schema coverage and no output schema, the omission of any parameter guidance leaves a meaningful gap.
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 must carry parameter meaning, yet it says nothing about event, tool, link, puzzle_number, conversation_id, or attitude_level. The enum values are somewhat self-explanatory, and the phrase 'shared or a link was opened' loosely maps to two event values, but that is thin compensation for six undocumented parameters.
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 (record) and resource (card event) and names the owner (the Words card) plus the trigger conditions (a result was shared, a link was opened). It also distinguishes itself from the sibling gameplay tools by saying it is 'never by the model.' Slightly incomplete because a third event type (connector_card_rendered) is not covered by the trigger phrasing.
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?
Gives an explicit exclusion: 'Used only by the Words card, never by the model,' which is precisely the routing guidance an agent needs. It does not name the sibling tools as alternatives or describe the UI-side conditions under which the card should invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_daily_puzzleStart today's word puzzleARead-onlyIdempotentInspect
Use this when someone wants to play today's Words With Attitude puzzle: guess a hidden cheeky word (a mild British insult or a grim weather word) in six tries. Returns the puzzle number, the word length and an empty board, never the answer. Pass the player's time zone when it is known so the puzzle follows their local date; without it the puzzle follows the UTC date. After this, each word the player guesses is checked with submit_guess.
| Name | Required | Description | Default |
|---|---|---|---|
| time_zone | No | The player's IANA time zone, for example "Europe/London" or "America/New_York". Picks the puzzle for their local date. Omit if unknown. | |
| conversation_id | No | Set by the Words card so its moves count in the same anonymous usage stats as the chat. Leave it out. | |
| utc_offset_minutes | No | The player's UTC offset in minutes (60 for UTC+1, -300 for UTC-5), used only when the time zone is unknown. Omit both to use UTC. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, and the description adds context annotations cannot express: the return payload (puzzle number, word length, empty board) and the explicit guarantee that the answer is never returned. It also clarifies that date selection depends on the supplied time zone, a real behavioral trait of the call.
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 trigger condition, then behavior, then the next-step pointer. No filler and nothing buried.
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 zero-required-parameter, read-only starter tool with no output schema, the description covers purpose, return shape, time-zone semantics, and the follow-up path. Nothing needed to invoke it correctly is missing.
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 100%, so each parameter is already fully documented. The description's time-zone guidance ('pass when known... otherwise UTC') mirrors what the schema says rather than extending it, so the 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?
States a specific verb and resource ('play today's Words With Attitude puzzle'), explains the game mechanic (guess a hidden word in six tries), and distinguishes it from the sibling submit_guess by naming that tool as the next step. An agent can tell exactly what this tool initiates.
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?
Gives an explicit trigger ('Use this when someone wants to play today's puzzle'), explains the time-zone preference and the UTC fallback, and names the follow-up tool (submit_guess) for subsequent guesses. When-to-use, default behavior, and the alternative are all covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_guessCheck a guessARead-onlyIdempotentInspect
Use this for each word the player guesses in a Words With Attitude puzzle started with start_daily_puzzle. Send the puzzle number, every earlier guess in this game in order, and the new guess. Returns every guess marked letter by letter (right letter in the right place, right letter in the wrong place, or not in the word) and a short comment on the guess. A guess has to be letters only and the same length as the answer; a guess that is not is returned with a reason and does not count. The answer is returned only when the game ends: a correct guess or the sixth miss. Nothing is stored on the server.
| Name | Required | Description | Default |
|---|---|---|---|
| guess | Yes | The word the player just guessed. Letters only; spaces are ignored. | |
| time_zone | No | The player's IANA time zone, for example "Europe/London" or "America/New_York". Picks the puzzle for their local date. Omit if unknown. | |
| puzzle_number | Yes | The puzzle number returned by start_daily_puzzle. | |
| conversation_id | No | Set by the Words card so its moves count in the same anonymous usage stats as the chat. Leave it out. | |
| previous_guesses | No | Every earlier guess in this game, oldest first. Empty or omitted before the first guess. | |
| utc_offset_minutes | No | The player's UTC offset in minutes (60 for UTC+1, -300 for UTC-5), used only when the time zone is unknown. Omit both to use UTC. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it discloses input validation rules (letters only, matching answer length), that invalid guesses are rejected with a reason and do not count, that the answer is revealed only on a win or the sixth miss, and that the server persists nothing โ consistent with the idempotent hint and explaining why prior guesses must be resent.
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?
Five tight sentences: usage and prerequisite front-loaded, then the return shape, then the validation rule, then the answer-reveal condition and statelessness. No sentence is filler.
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 six-parameter, stateless tool with no output schema, the description covers what to send, what comes back (per-letter marking plus a comment), rejection behavior, and when the answer appears. An agent has everything needed to call it and to interpret results 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?
Schema coverage is 100%, including the ordering semantics of previous_guesses and the time-zone fallback, so the schema does the heavy lifting. The description reinforces the required trio (puzzle number, prior guesses in order, new guess) and the letters-only/length rule, but never mentions time_zone or utc_offset_minutes, adding little genuinely new parameter meaning.
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 action (submit each word the player guesses) tied to a specific product and puzzle type, and names the sibling tool start_daily_puzzle that must precede it. An agent can immediately tell this is the per-guess play step, not the puzzle-creation step.
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?
Explicit usage cadence ('for each word the player guesses') and a prerequisite (puzzle started with start_daily_puzzle) plus the instruction to resend earlier guesses in order. It stops short of naming when to call the sibling give_up instead, so the alternative case is left implicit.
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.
4 tool updates
- First observed
give_up - First observed
record_card_event - First observed
start_daily_puzzle - First observed
submit_guess
Related MCP Connectors
Play 13 free daily logic and word puzzles, or get spoiler-free rules. No signup required.
Daily photo game: you see a secret word, show it in photos, and your AI guesses it.
Make your own custom word-guessing game and send it to a friend.
Find free browser games re-checked playable within 8 days, by genre, mood, age rating and players.
Related MCP Servers
- FlicenseAqualityDmaintenanceCombines UK Met Office weather forecasts with travel routing to provide outfit recommendations for walking, cycling, or driving journeys.5-
- AlicenseAqualityDmaintenancePer-species pollen forecasts at any point on Earth, seven days ahead. Free tier covers casual use.41MIT
- FlicenseNot gradedqualityDmaintenanceProvides real-time weather forecasts for any global location using the UK Met Office DataHub API, with hourly, 3-hourly, and daily forecasts in Markdown or JSON.-
- AlicenseAqualityAmaintenanceCommand a nation in SECOND STRIKE, a free real-time world war on a 3D globe: join wars, make and break pacts and launch nukes against AI nations, agents and people. A doomsday clock wipes out whoever strikes midnight. Every war is recorded and can be watched live.10MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.