PhoneCheck
Offline phone-number validation and formatting (E.164, region, line type). No carrier lookup.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"phonecheck": {
"url": "https://phonecheck.mike-tusa.workers.dev/mcp"
}
}
}Remote endpoints
https://phonecheck.mike-tusa.workers.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (2)
🟢parse_phone_number(number, default_country)
Validate one phone number offline against libphonenumber metadata and return E.164, international, national and RFC 3966 formats, region, calling code and line type (from the original allocation). Valid means the number fits an allocated range, not that the line is connected or reachable; no carrier/HLR lookup. Read-only. Same engine, keys and limits as POST /v1/parse.
Input Schema
{
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "The phone number, e.g. \"+44 20 7946 0018\" or \"(213) 373-4253\". Max 64 characters.",
"minLength": 1,
"maxLength": 64
},
"default_country": {
"type": "string",
"description": "Optional ISO 3166-1 alpha-2 region used when the number has no +country code, e.g. US, GB.",
"pattern": "^[A-Za-z]{2}$",
"minLength": 2,
"maxLength": 2
}
},
"required": [
"number"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"input": {
"type": "string"
},
"default_country": {
"type": "string"
},
"national_number": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"possible": {
"type": "boolean"
},
"e164": {
"type": "string"
},
"international": {
"type": "string"
},
"national": {
"type": "string"
},
"rfc3966": {
"type": "string"
},
"country": {
"type": "string"
},
"country_name": {
"type": "string"
},
"calling_code": {
"type": "string"
},
"non_geographic": {
"type": "boolean"
},
"line_type": {
"type": "string"
},
"extension": {
"type": "string"
},
"reason": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"valid"
]
}🟢get_example_number(country)
Return the libphonenumber example (mobile) number for a region, in all formats, for format testing only (do not dial). Read-only. Same data and limits as GET /v1/example/{country}.
Input Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 region code, e.g. US, GB, DE.",
"pattern": "^[A-Za-z]{2}$",
"minLength": 2,
"maxLength": 2
}
},
"required": [
"country"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"country": {
"type": "string"
},
"country_name": {
"type": "string"
},
"calling_code": {
"type": "string"
},
"line_type": {
"type": "string"
},
"rfc3966": {
"type": "string"
},
"e164": {
"type": "string"
},
"international": {
"type": "string"
},
"national": {
"type": "string"
},
"note": {
"type": "string"
}
}
}Community
Evidence