Byteplant Validator MCP Server
Provides email, phone, and address validation using Byteplant's APIs. Enables real-time live validation in any MCP-compatible client.
README
<!-- mcp-name: io.github.byteplant-dev/byteplant-mcp -->
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.