x402-is-happy
Is Happy: Check whether a number is a happy number — repeatedly replace it by the sum of squares of its digits until it reaches 1 or cycles. Provide value.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Value to process |
Is Happy: Check whether a number is a happy number — repeatedly replace it by the sum of squares of its digits until it reaches 1 or cycles. Provide value.
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Value to process |
Changes observed during successful MCP inspections.
Input schema / properties / valueAdded value: +{
+ "description": "Value to process",
+ "type": "string"
+}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 does disclose the core behavior (iterative digit-square summation terminating at 1 or a cycle), which is more than nothing. But it omits anything about invalid input handling, output format (presumably boolean, though no output schema confirms this), or whether negative/float values are accepted. Adequate but with clear gaps for a no-annotation tool.
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 short and front-loads the core purpose, followed by the algorithm and the input reminder. The final fragment 'Provide value.' is slightly awkward and could be merged, but overall there is little 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?
For a single-parameter predicate tool with no annotations and no output schema, the description explains the algorithm but leaves the return type implicit and does not address input validation or non-integer inputs. It is the minimum viable amount of information for an agent to call the tool, but not more.
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 the schema already documents the single 'value' parameter (as a string, notably, with the generic description 'Value to process'). Baseline is 3. The description adds the operational meaning of the input (a number to be tested by a specific algorithm), which mildly compensates for the schema's unhelpful generic parameter description, but does not clarify the string-vs-number typing ambiguity.
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 ('Check whether a number is a happy number') and includes the exact algorithmic definition (sum of squares of digits until 1 or cycle). This distinguishes it from general number-check tools. However, the sibling roster contains near-identical tools (x402-is-happy-number, x402-is-abundant-number, etc.), and the description does not name or differentiate itself from them, so it stops 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?
The 'Provide value' clause implies a required input, and the algorithm description gives context on what kind of input is expected (an integer). But there is no explicit when-to-use statement, no exclusion of non-numeric inputs, and no pointer to the sibling x402-is-happy-number tool. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.