Skip to main content
Glama

Agent Data Tools: Developer utilities

validate_luhn

Check whether a number passes the Luhn (mod 10) algorithm used by card numbers, IMEI numbers and many IDs, and compute the check digit to append. Only the format is checked; nothing is looked up. Use to catch typos in card or ID numbers. Costs $0.001 in USDC on Base per successful call, paid with x402.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
numberYesDigits, spaces and hyphens allowed

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

With annotations present the bar is lower, and the description still adds meaningful behavior: no external lookup, format-only checking, and a concrete cost model ($0.001 USDC on Base per successful call via x402). The per-call pricing also explains why the tool is non-idempotent and involves an external payment rail, so it is consistent with readOnlyHint=false and openWorldHint=true rather than contradicting them. It does not describe the shape of the response (boolean vs. check digit vs. both), which is the remaining gap.

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?

Four tightly-scoped sentences, front-loaded with what it does, followed by scope limits, use case, and cost. No filler or repetition; the pricing detail is placed last where it belongs.

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?

For a one-parameter tool with no output schema and existing annotations, the description covers purpose, scope, use case, and cost. It implies the return content ('passes' plus 'compute the check digit') but never states the exact response shape, which is the one thing an agent calling it blind would still wonder about.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage ('Digits, spaces and hyphens allowed'), so the schema already carries the parameter semantics. The description adds nothing about the input format beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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?

The description names a specific verb+resource (check a number against the Luhn mod-10 algorithm) and additionally states the secondary output (compute the check digit to append) plus the domains it applies to (card numbers, IMEI, IDs). It also distinguishes itself from lookup-style siblings by stating 'Only the format is checked; nothing is looked up.'

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?

'Use to catch typos in card or ID numbers' gives a clear positive trigger, and 'Only the format is checked; nothing is looked up' implicitly sets the boundary for when this is not appropriate (no existence/validity checking). It never names an alternative validator such as validate_iban or validate_isbn, so the when-not side is only implied.

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