Skip to main content
Glama
aiexp1

Tanod MCP server

utilpeek: look up a phone number prefix (country, line type, original network)

lookup_phone_prefix
Read-onlyIdempotent

Look up a phone number prefix to identify its country, line type, original network, time zones, and E.164 form; returns candidates when the prefix spans multiple networks.

Instructions

utilpeek: Look up a phone number prefix: country, line type and original network, with ambiguity. To parse a full number use parse_phone_number. Returns the country, line type, original network, time zones and E.164 form of the leading digits of a number (0917, +63917, 0063917), ambiguous with candidates when they span networks; list with region lists a country's mobile prefixes by network. Input: prefix, optional region to read a national form such as 0917; or list: true with region and no prefix. Original range holder, not the current network (number portability); offline metadata; a national form without region lists candidate countries. Bad input is a 422 (not charged). Typically under 0.1 s. Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. The submitted text is never logged or stored. Docs: https://tanod.dev/learn/phone-number-prefix-lookup-api.html

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
listNoWith `region` (and no prefix): return every mobile prefix of that country at the 4-digit national level (e.g. 0905, 0917), grouped by network.
prefixNoThe leading digits of a number, in any form: 0917, 917, +63917, 0063917 or 63917 (digits with an optional leading + or 00; separators space - . ( ) are ignored). Without `region` a national form (0917) is read in every country and the reply lists the candidate `countries`. Omit with `list`.
regionNoISO 3166-1 alpha-2 country (PH, US, GB, ...): reads a national prefix and selects the country for `list`.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
typeNo
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
levelNo
mixedNo
probeNo
blocksNo
detailNo
regionNo
sourceNo
carrierNo
countryNo
regionsNo
networksNo
possibleNo
ambiguityNo
ambiguousNo
countriesNo
timezonesNo
candidatesNo
other_shareNo
prefix_e164No
trunk_prefixNo
interpreted_asNo
total_prefixesNo
countries_countNo
country_calling_codeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description layers on real behavioral context: ambiguity handling with `candidates`, portability caveat (original range holder, not current network), offline metadata, 422 on bad input with no charge, sub-0.1s latency, pricing, and a free tier.

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?

Purpose is front-loaded and the content is dense with little redundancy. However it is a single run-on paragraph that also carries pricing, free-tier, latency, privacy and docs details, which makes it somewhat overloaded and harder to scan.

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?

Complete for this tool: input modes, error behavior, cost, latency model, privacy, and a docs link are all present, and return values are explained even though an output schema exists. Nothing an agent needs to call it correctly is missing.

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%, so the schema already documents each parameter and the baseline would be 3. The description adds value by spelling out the inter-parameter contract (region+prefix vs. list+region, national form listing candidate countries), which the per-field schemas state only in isolation.

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?

States a specific verb (look up) plus the exact resource (phone number prefix) and the payload (country, line type, original network). It also distinguishes itself from the sibling parse_phone_number by name, so an agent can route correctly without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes full numbers to parse_phone_number and describes both modes: prefix with optional region, or `list: true` with region and no prefix. It also explains the national-form-without-region case, giving complete when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools