Skip to main content
Glama

AgentStall: Africa and global data for agents

South African ID number check: validate and decode an SA ID number

za_validate_id_number
Read-onlyIdempotent

South African ID number validation: checks a 13-digit SA ID number (date of birth, citizenship digit and Luhn checksum) and decodes date of birth, age, gender and citizenship status. Structural check only, with no Home Affairs lookup; the number is not stored. Useful for KYC and onboarding forms and for catching typos. Price: $0.005 USDC per call (x402, Base mainnet).

Input Schema

NameRequiredDescriptionDefault
idYes13-digit SA ID number

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, yet the description still adds three traits the agent could not infer: there is no Home Affairs registry lookup, the input number is not stored, and each call costs $0.005 USDC via x402 on Base mainnet. Those scope, privacy and billing facts are exactly the context an agent needs before invoking a paid KYC check.

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?

Three front-loaded sentences: capability first, scope limitation second, use cases and price last. Every clause carries information — encoding details, limitation, privacy, cost — with no filler or repetition of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description compensates by enumerating the decoded return fields (date of birth, age, gender, citizenship status). Combined with the scope, privacy and pricing disclosures, nothing material is missing for a one-parameter, read-only validation tool.

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

Parameters4/5

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

Schema coverage is 100% and the single parameter is already described as a '13-digit SA ID number', so the baseline is 3. The description adds meaning by explaining what the number encodes (date of birth, citizenship digit, Luhn checksum), which tells an agent the expected format and what validation will actually test.

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 and resource ('validates' a '13-digit SA ID number' and 'decodes date of birth, age, gender and citizenship status'), and the 'Structural check only, with no Home Affairs lookup' clause separates it from sibling validators like za_validate_company_number and za_validate_tax_number. An agent can distinguish it from every sibling without opening a schema.

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?

It states clear usage contexts ('KYC and onboarding forms', 'catching typos'), which gives an agent a concrete trigger. It stops short of naming an alternative or an explicit when-not condition, but the 'structural check only, no Home Affairs lookup' caveat effectively rules out use cases where registry verification is required.

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