x402-is-semiperfect
Is Semiperfect: Check if a number is semiperfect.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Value to process |
Is Semiperfect: Check if a number is semiperfect.
| 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?
With no annotations provided, the description carries the full disclosure burden, yet it only restates the name. It does not say the return is a boolean, whether the input must be a positive integer, how large a value is supported, or what happens on invalid input.
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?
It is very short, but the label prefix 'Is Semiperfect:' merely duplicates the title and the following sentence, so the content is redundant rather than efficiently front-loaded.
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 math predicate with no output schema and no annotations, the description should at least define a semiperfect number (equal to the sum of some subset of its proper divisors) and indicate the boolean result. Neither is present, leaving the agent to infer the semantics from the name alone.
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 single parameter has full schema coverage, so the baseline is 3. The description adds nothing, and the schema's own text ('Value to process') is generic and never clarifies that the value must be an integer rather than the string type it declares.
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 (check) and a specific resource (whether a number is semiperfect), so the operation is unambiguous. However, it does nothing to separate this tool from the many closely named siblings such as x402-is-abundant, x402-is-perfect, and x402-is-weird, which is exactly the ambiguity a predicate tool must resolve.
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 versus alternatives, no prerequisites, and no mention of the related divisor-class predicates in the sibling list. An agent gets no routing guidance at all.
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.