Skip to main content
Glama
Kajdep

CountryCallingCodes

Country Calling Codes MCP

Metadata-only listing repository for the hosted Country Calling Codes MCP server (service 1.4.0).

| Agent skill | Kajdep/countrycalling-codes-skill |

Official registry name: io.github.Kajdep/countrycallingcodesmcp.

Hosted MCP

  • Endpoint: https://www.countrycalling.codes/api/mcp

  • Transport: Streamable HTTP

  • Authentication: none

  • Protocol: 2025-11-25

  • Tools: 11 read-only tools (see below)

  • Resources: countrycalling://capabilities, countrycalling://coverage, and the template countrycalling://countries/{code}/phone-input

  • Website: https://www.countrycalling.codes

  • Developer docs: https://www.countrycalling.codes/developers#mcp

  • LLM guide: https://www.countrycalling.codes/llms-full.md

  • Skill manifest: https://www.countrycalling.codes/skill.json

  • OpenAPI: https://www.countrycalling.codes/api/calling-codes/openapi.json

  • Status: https://www.countrycalling.codes/api/calling-codes/status

  • Registry manifest (live): https://www.countrycalling.codes/server.json

The server.json in this repository is the same document the website serves and the official MCP Registry already publishes as 1.4.0. Registry publication is driven from the implementation repo (.github/workflows/publish-mcp.yml in v0-countrycallingcodes), not from this listing.

Related MCP server: Countries MCP Server

What it does

Read-only international phone workflows for apps and agents:

  • Country and territory calling-code lookup (ISO codes, E.164 dial codes, regions, trunk prefixes, NANP)

  • Phone analysis and ephemeral formatting against versioned numbering metadata

  • Origin-specific dialing instructions for reviewed country pairs

  • Batch normalization (up to 100 records) with duplicate grouping

  • Number comparison, region resolution, form-input hints, and format diagnosis

  • Overlapping calling windows across explicit IANA time zones

Every MCP tool has a REST twin that returns the same structured payload. Results carry source evidence and a limitations array. A well-formed number is not proof that it is allocated, active, reachable, owned, or consented for contact.

Agent-facing usage rules (when to call which tool, how to treat ambiguity, how to clean a CRM column) live in the skill, not here.

MCP client configuration

For clients that support remote Streamable HTTP servers — this is the same config the skill and the live discovery document use:

{
  "mcpServers": {
    "country-calling-codes": {
      "type": "streamable-http",
      "url": "https://www.countrycalling.codes/api/mcp"
    }
  }
}

For clients that require a local stdio bridge, use mcp-remote:

{
  "mcpServers": {
    "country-calling-codes": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://www.countrycalling.codes/api/mcp"
      ]
    }
  }
}

A ready-to-paste copy is in mcp-config.json.

Tools

All tools are annotated readOnlyHint, non-destructive, idempotent, and closed-world. Phone strings are capped at 64 characters; tool arguments at 64 KiB; the JSON-RPC envelope at 128 KiB.

MCP tool

REST twin

Purpose

lookup_country_calling_code

GET /api/calling-codes

Free-text / ISO / dial-code / region lookup across 233 countries and territories. Set includeExamples for reviewed patterns.

format_international_phone_number

POST /api/phone/format

Lighter ephemeral formatter. Prefer analyze_phone_number when you need status, checks, candidates, or evidence.

get_phone_capabilities

GET /api/capabilities

Per-country review status, supported operations, evidence, dataset versions, and request limits. Call this first for an unfamiliar country.

analyze_phone_number

POST /api/phone/analyze

Strict parse against versioned numbering metadata. National numbers need numberCountryCode; exit prefixes need originCountryCode.

get_dialing_instructions

POST /api/dialing/instructions

Origin-specific dial string, steps, and pattern for reviewed country pairs.

normalize_phone_numbers

POST /api/phone/batch

Up to 100 uniquely identified records, order preserved, per-record errors, optional canonical duplicate grouping.

compare_phone_numbers

POST /api/phone/compare

Equality after analysis. extensionPolicy is exact by default; suffix-only matches are never equal.

resolve_phone_region

POST /api/phone/region

Metadata-backed country candidates or non-geographic classification. Not geolocation or carrier lookup.

get_phone_input_rules

GET /api/countries/{code}/phone-input

Display placeholders and trunk-prefix guidance. Not a validation mask.

diagnose_dialing_problem

POST /api/phone/diagnose

Explain a formatting failure and propose a bounded, reviewed prefix repair for confirmation.

find_calling_windows

POST /api/calling-windows

Overlapping working hours for up to 8 participants, explicit IANA zones, 1–31 days, DST-aware.

Example (lookup_country_calling_code):

{
  "code": "GB",
  "includeExamples": true
}

Expected result includes the United Kingdom record with dial code +44.

Full parameter and response shapes belong in the skill API reference and the hosted OpenAPI. Do not fork a third copy of those contracts in this repository.

Resources

URI

Contents

countrycalling://capabilities

Full capability document (same payload as GET /api/capabilities)

countrycalling://coverage

Coverage view of the same document

countrycalling://countries/{code}/phone-input

Reviewed input rules for one ISO alpha-2 country

Coverage and limits

  • Numbering metadata: libphonenumber-js 1.13.12, max metadata, 245 countries and territories plus supported non-geographic numbering.

  • Reviewed dialing guides and input examples: AE, AU, BR, CN, DE, FR, GB, IN, IT, JP, SG, US, ZA. Dialing instructions require both origin and destination to be reviewed.

  • Directory dataset: 233 countries and territories.

  • No SMS, calls, HLR/HSS, MNP, carrier lookup, contact mutation, or outbound data submission.

  • Phone-bearing and MCP transport responses are no-store. No application-level per-client quota; honour 429 + Retry-After if hosting enforces one.

Directory submission metadata

Name: Country Calling Codes
Description: Calling codes, phone analysis, dialing guidance, batch normalization and calling windows.
Category: Data / Search / Reference / API
Website: https://www.countrycalling.codes
MCP URL: https://www.countrycalling.codes/api/mcp
Registry: io.github.Kajdep/countrycallingcodesmcp
Version: 1.4.0
OpenAPI URL: https://www.countrycalling.codes/api/calling-codes/openapi.json
Skill: https://github.com/Kajdep/countrycalling-codes-skill
Skill manifest: https://www.countrycalling.codes/skill.json
LLM guide: https://www.countrycalling.codes/llms-full.md
Implementation: https://github.com/Kajdep/v0-countrycallingcodes
GitHub listing: https://github.com/Kajdep/countrycallingcodesmcp
Tools: 11 (see table above)
Auth: None
Cost to user: Free/public read-only lookup and analysis

Data and privacy

This repository contains no private data and no dataset export. The hosted MCP server is read-only. Phone values are processed ephemerally and are not stored by the service; MCP clients and third-party gateways may retain their own conversation history.

Related MCP Connectors

Related MCP Servers