Byteplant Validator MCP Server
Email, Phone Number, and Address Validation for the Model Context Protocol (MCP)
This package provides an MCP server that uses Byteplant’s Email-Validator, Phone-Validator, and Address-Validator APIs to deliver real-time live validation in any MCP-compatible client.
Features
- Email validation
- Phone number validation
- Postal address validation
- Fast studio MCP server
- Local execution
- Easy integration with Claude Desktop
Requirements
- Python ≥ 3.12
- A Byteplant API key (one for each validator). You can register to get one here
- MCP Client (e.g. Claude Desktop)
MCP Configuration (Claude Desktop)
1. Installation
First, install the python module. You can use local installation (like venv) or global.
pip install byteplant-mcp
2. Configuration
Next, add the MCP server to Claude configuration.
{
"mcpServers": {
"byteplant": {
"command": "path/to/python/installation",
"args": ["-m", "byteplant-mcp"],
"env": {
"EV_TOKEN": "<EMAIL VALIDATOR API TOKEN>",
"PV_TOKEN": "<PHONE VALIDATOR API TOKEN>",
"AV_TOKEN": "<ADDRESS VALIDATOR API TOKEN>"
}
}
}
}
Byteplant's Email, Phone, and Address Validation Tools
1. validate_email
Real-Time Email Validation API
The Email Validation API returns the deliverability status and detailed information for the email that is provided as input.
API Endpoint
| Parameter | Value |
|---|---|
| API URL | https://api.email-validator.net/api/verify |
| Method | GET or POST |
Example API Request (GET)
https://api.email-validator.net/api/verify?EmailAddress=support@byteplant.com&APIKey=your API key
Input Parameters
| Parameter | Description |
|---|---|
| EmailAddress | Email address to validate (string). |
| APIKey | Your API key (string). |
| Timeout | Timeout in seconds (int). Default: 10 (min 5, max 300). |
API Result (JSON)
| Parameter | Description |
|---|---|
| status | API result code. 401, 118, 119 indicate API errors:<br>• 401 → Email address missing<br>• 118 → Rate Limit Exceeded<br>• 119 → API Key Invalid or Depleted |
| info | Short status description. |
| details | Full status description. |
| freemail | Indicates if email is from a freemail provider (true / false). |
| ratelimit_remain | Remaining API requests before rate limit is reached (default: 100 requests / 300s). |
| ratelimit_seconds | Seconds remaining in the current rate-limit interval. |
2. validate_phone
Real-Time Phone Validation API
The Real-Time Phone Verification API validates a single phone number in real-time.
It returns the status (VALID_CONFIRMED, VALID_UNCONFIRMED, INVALID) as well as details such as line type, carrier/operator, and location.
API Endpoint
| Parameter | Value |
|---|---|
| API URL | https://api.phone-validator.net/api/v2/verify |
| Method | GET or POST |
Example API Request (GET)
https://api.phone-validator.net/api/v2/verify?PhoneNumber=09874-322466&CountryCode=de&APIKey=your API key
Input Parameters
| Parameter | Description |
|---|---|
| PhoneNumber | Phone number to validate (string, URL encoded). Accepts national format or international format with leading + (+ → %2B, space → %20). |
| CountryCode | Two-letter ISO 3166-1 country code (string). Optional if number is in international format. |
| Locale | IETF language tag for geocoding (string). Optional; default: en-US. |
| Mode | Validation mode (string): express (static checks) or extensive (full validation). Optional; default: extensive. |
| APIKey | Your API key (string). |
| Timeout | Timeout in seconds (int). Optional; default: 10 (min 5, max 300). |
API Result (JSON)
| Parameter | Description |
|---|---|
| status | VALID_CONFIRMED, VALID_UNCONFIRMED, INVALID, DELAYED, RATE_LIMIT_EXCEEDED, API_KEY_INVALID_OR_DEPLETED |
| linetype | FIXED_LINE, MOBILE, VOIP, TOLL_FREE, PREMIUM_RATE, SHARED_COST, PERSONAL_NUMBER, PAGER, UAN, VOICEMAIL |
| location | Geographical location (city, county, state). |
| countrycode | Two-letter ISO 3166-1 country code. |
| formatnational | Phone number in national format. |
| formatinternational | Phone number in international format. |
| mcc | Mobile Country Code (GSM/UMTS/LTE). |
| mnc | Mobile Network Code (GSM/UMTS/LTE). |
| ratelimit_remain | Remaining API requests before rate limit is hit (default limit: 100 requests / 300s). |
| ratelimit_seconds | Seconds remaining in current rate-limit interval. |
3 validate_address
Real-Time Address Validation API
The Address Validation API returns the deliverability status and detailed information for the address that is provided as input.
API Endpoint
| Parameter | Value |
|---|---|
| API URL | https://api.address-validator.net/api/verify |
| Method | GET or POST |
Example API Request (GET)
https://api.address-validator.net/api/verify?StreetAddress=Heilsbronner Str. 4&City=Neuendettelsau&PostalCode=91564&CountryCode=de&Geocoding=true&APIKey=your API key
Input Parameters
| Parameter | Description |
|---|---|
| CountryCode | Two-letter ISO 3166-1 country code (string). Use 'XX' for international. |
| StreetAddress | Street/house number/building; may include unit/apartment info (string). |
| StreetNumber | House number/building (optional) (string).<br>House number/building may be part of StreetAddress or provided separately. |
| AdditionalAddressInfo | Building/unit/apt/floor etc. (optional) (string) |
| City | City or locality (city, district) (optional) (string) |
| PostalCode | ZIP / postal code (optional) (string) |
| State | State/province (optional) (string) |
| Geocoding | Enable Geocoding (true/false); default: false (optional) |
| Locale | Output language for countries with multiple postal languages—use only for translation; leave empty for validation. Default: local language (optional) |
| OutputCharset | Output character set: us-ascii or utf-8 (default). (optional) |
| APIKey | Your API key (string) |
| Timeout | Timeout in seconds (default: 10s, min 5s, max 300s) (int) |
General Usage Notes
Always use commas (",") to separate address elements where needed.
StreetAddress may contain the complete address; optional fields may be left empty.
China / Japan / Korea
Native script: Use big → small order for all fields.
English script: Use small → big order for all fields.
API Result (JSON)
| Parameter | Description |
|---|---|
| status | VALID: address is correct and deliverable.<br>SUSPECT: address is incorrect and needs corrections to be deliverable, a suggested correction is provided.<br>INVALID: address is incorrect and not deliverable - either there is no match at all in the reference data or the address is ambiguous and there are many matches. In these cases automatic correction suggestions are not available.<br>DELAYED, NO_COUNTRY, RATE_LIMIT_EXCEEDED, API_KEY_INVALID_OR_DEPLETED, RESTRICTED, INTERNAL_ERROR |
| formattedaddress | Full address in standardized format. |
| supplement | Additional address details (building / unit / apt / suite etc.). |
| street | Street address in standardized format. |
| streetnumber | Street number in standardized format. |
| postalcode | ZIP / postal code in standardized format. |
| city | City in standardized format. |
| type | Address type: S = Street address / P = P.O. Box, Pick-Up, or other delivery service. |
| rdi | Residential Delivery Indicator (Commercial / Residential). |
| district | District in standardized format. |
| county | County in standardized format. |
| state | State / province in standardized format. |
| country | Two-letter ISO 3166-1 country code. |
| latitude | Latitude (for valid addresses if Geocoding is enabled). |
| longitude | Longitude (for valid addresses if Geocoding is enabled). |
| diagnostics | Detailed diagnostic hints, indicating errors in the address input. |
| corrections | Detailed correction hints, indicating which parts of the address input have been fixed. |
| ratelimit_remain | Number of API requests remaining before the API rate limit is reached (default API rate limit allows 100 API requests in 300s). |
| ratelimit_seconds | Number of seconds remaining in the current rate limit interval. |
Environment Variables
EV_TOKEN: Your Email Validator API TokenPV_TOKEN: Your Phone Validator API TokenAV_TOKEN: Your Address Validator API Token You may use only the tokens for the services you use (e.g. only Email Validator), in that case leave the others tokens empty.
Contact
-
Website: https://www.byteplant.com
-
Get your API key: https://www.byteplant.com/account/
-
Email: contact@byteplant.com