Skip to main content
Glama

Le Confidant

Normalize phone numbers for WhatsApp

normalize_whatsapp_numbers
Read-onlyIdempotent

Validate up to 100 phone numbers and return E.164 numbers and wa.me links with per-row status and duplicate positions. National numbers require defaultCountry. Never guess a country from language. Does not check WhatsApp registration or contact people. Inputs are processed by this server to return the result; this tool does not store or log phone numbers or text. It does not access an account or send messages.

Input Schema

NameRequiredDescriptionDefault
localeNoen
numbersYes
defaultCountryNoCountry for national numbers; never inferred from locale.

Output Schema

NameRequiredDescriptionDefault
rowsYes
localeNoen
validCountYes
invalidCountYes
uniqueValidCountYes
registrationCheckedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing data-handling behavior: inputs are processed server-side to return the result, no storage or logging of phone numbers or text, no account access, no messages sent, no WhatsApp registration lookup. That privacy and side-effect profile is exactly the extra context annotations can't express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the capability and return values, then constraints, then exclusions — a sensible ordering. A few clauses are redundant ("Inputs are processed by this server to return the result" restates that it's a computation), but nearly every sentence carries information.

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?

An output schema exists so return values needn't be detailed, yet the description still summarizes status and duplicate reporting usefully. The only real hole is the undocumented `locale` parameter; otherwise an agent has enough to call this correctly and knows the tool is a safe, side-effect-free batch normalizer.

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?

Schema coverage is only 33%. The description compensates for `numbers` (up to 100) and reinforces `defaultCountry`'s role for national numbers, but `locale` (enum with default "en") is never mentioned in either the schema or the description, leaving one of three parameters opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — validate up to 100 phone numbers and return E.164 numbers plus wa.me links — with the output shape (per-row status, duplicate positions) spelled out. The batch/normalization framing is distinguishable from format_whatsapp_text and style_whatsapp_text, though it never explicitly contrasts itself with generate_whatsapp_link even though it also emits wa.me links.

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?

Gives a concrete precondition ("National numbers require defaultCountry") and an explicit negative rule ("Never guess a country from language"), plus scope exclusions (no registration check, no contacting people). It stops short of naming when an agent should pick a sibling instead, so it's clear context without routing.

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