IBAN checker
iban_checkerCheck that an IBAN is well formed: country length and mod-97 check digits. Does not confirm that the account exists or who owns it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| iban | Yes | The IBAN, spaces allowed. |
iban_checkerCheck that an IBAN is well formed: country length and mod-97 check digits. Does not confirm that the account exists or who owns it.
| Name | Required | Description | Default |
|---|---|---|---|
| iban | Yes | The IBAN, spaces allowed. |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive, so safety is covered. The description adds the meaningful behavioral limit that annotations cannot express: a pass means format-valid only, not account existence. Missing only return shape (boolean vs. message/warnings).
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 short sentences, no waste, with the capability statement front-loaded and the scoping caveat immediately after. Nothing repeats the name or title verbatim.
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 one-parameter read-only validator with no output schema, the description covers what is checked and what a positive result does not guarantee — the two things an agent must know to avoid over-trusting the result. Only the response format (boolean vs. structured result) is left unstated.
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?
Single parameter with 100% schema coverage ('The IBAN, spaces allowed'), so the schema already handles formatting tolerance. The description adds nothing about the parameter and nothing is missing; 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 ('Check') and resource ('IBAN'), and pins down the exact validation semantics: country length plus mod-97 check digits. It also delimits scope negatively ('does not confirm that the account exists or who owns it'), so the agent knows precisely what class of tool this is.
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 scope line tells the agent when this tool is inappropriate (identity/ownership verification requires something else), which is genuine usage guidance. It stops short of naming a sibling (e.g. swift_code_checker, cbu_checker) or saying 'call this before attempting a payment', so routing is implied rather than explicit.
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.