Byteplant Validator MCP Server
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Byteplant Validator MCP Server validate email address user@example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
This is an MCP server that connects AI assistants such as Claude, Cursor and VS Code to the Byteplant validation APIs. Ask your assistant to check an email address, phone number or postal address, and it calls the matching Byteplant tool and reads back the result.
The server runs locally on your computer and talks to your MCP client over stdio.
Installation
The easiest way to run the server is with uv. uvx downloads the package and a suitable Python version automatically, so there is nothing else to install.
Add the server to your MCP client with one of the configurations below, and replace the placeholders with your API keys. You only need the keys for the services you use.
Claude Desktop
In Claude Desktop, go to Settings → Developer → Edit Config. This opens
claude_desktop_config.json:macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the Byteplant server:
{ "mcpServers": { "byteplant": { "command": "uvx", "args": ["byteplant-mcp@latest"], "env": { "EV_TOKEN": "<EMAIL VALIDATOR API KEY>", "PV_TOKEN": "<PHONE VALIDATOR API KEY>", "AV_TOKEN": "<ADDRESS VALIDATOR API KEY>" } } } }Restart Claude Desktop.
Claude Code
claude mcp add \
--env EV_TOKEN=<EMAIL VALIDATOR API KEY> \
--env PV_TOKEN=<PHONE VALIDATOR API KEY> \
--env AV_TOKEN=<ADDRESS VALIDATOR API KEY> \
--transport stdio byteplant -- uvx byteplant-mcp@latestCursor
Add the same mcpServers entry as for Claude Desktop to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project).
VS Code
Add the server to .vscode/mcp.json in your project:
{
"servers": {
"byteplant": {
"type": "stdio",
"command": "uvx",
"args": ["byteplant-mcp@latest"],
"env": {
"EV_TOKEN": "<EMAIL VALIDATOR API KEY>",
"PV_TOKEN": "<PHONE VALIDATOR API KEY>",
"AV_TOKEN": "<ADDRESS VALIDATOR API KEY>"
}
}
}
}Using pip instead of uv
pip install byteplant-mcpThis installs a byteplant-mcp command. Use its full path as the command, because desktop apps often don't see your shell's PATH (find it with which byteplant-mcp on macOS/Linux or where byteplant-mcp on Windows):
"command": "/full/path/to/byteplant-mcp"Alternatively, run the module with the Python installation you installed it into:
"command": "/path/to/python",
"args": ["-m", "byteplant_mcp"]Related MCP server: email-verify
Tools
Tool | What it does |
| Checks whether an email address is deliverable and detects freemail providers |
| Validates a phone number and returns its line type, carrier codes, location and formats |
| Validates and standardizes a postal address, with optional geocoding |
Credentials
Each tool uses its own API key, passed to the server as an environment variable. Sign up for the service you need to get one:
Environment variable | Used by | Get an API key |
|
| |
|
| |
|
|
You can manage your keys in your Byteplant account. If a key is missing, the matching tool tells the assistant which variable to set instead of calling the API.
Usage
Just ask your assistant in plain language, for example:
"Is support@byteplant.com a valid email address?"
"Check whether +49 9874 322466 is a mobile or a landline number."
"Validate this address and give me the standardized version: Heilsbronner Str. 4, 91564 Neuendettelsau, Germany."
The assistant fills in the tool parameters below. Every tool also has a timeout parameter, which sets how long the API may take to respond: 5–300 seconds, 10 by default.
validate_email - API Docs
Parameter | Required | Description |
| ✅ | The email address to validate |
Output
Field | Description |
| Numeric result code, e.g. |
| Added by the server: |
| Added by the server: what the |
| |
| |
|
|
validate_phone - API Docs
Parameter | Required | Description |
| ✅ | The phone number to validate, in national format or in international format with a leading |
| Two-letter ISO 3166-1 country code. Optional if the phone number is in international format. | |
| IETF language tag for geocoding results. Defaults to | |
|
|
Output
Field | Description |
|
|
|
|
| Geographical location (city, county, state) |
| Two-letter ISO 3166-1 country code |
| Phone number in national format |
| Phone number in international format |
| Mobile country code, which identifies the mobile network operator (carrier) |
| Mobile network code, which identifies the mobile network operator (carrier) |
validate_address - API Docs
Parameter | Required | Description |
| ✅ | Two-letter ISO 3166-1 country code. Use |
| ✅ | Street, house number and building. May include the unit or apartment, or even the complete address. |
| House or building number, if it isn't part of | |
| Building, unit, apartment or floor | |
| City or locality | |
| ZIP or postal code | |
| State or province | |
| Whether to return coordinates for the address. Off by default. | |
| Output language for countries with more than one postal language. Use it only to translate addresses, and leave it empty for address validation. | |
|
|
Output
Field | Description |
|
|
| Full address in standardized format |
| Additional address details (building, unit, apartment, suite) |
| Street in standardized format |
| Street number in standardized format |
| ZIP or postal code in standardized format |
| City in standardized format |
| District in standardized format |
| County in standardized format |
| State or province in standardized format |
| Two-letter ISO 3166-1 country code |
| Address type: |
| Residential Delivery Indicator: commercial or residential |
| Hints about errors in the address input. See the full list of diagnostic hints. |
| Hints about which parts of the address input were fixed. See the full list of correction hints. |
| Coordinates. Only returned for valid addresses when |
Compatibility
Requirement | Version |
Python | 3.10 or later (installed automatically by |
MCP client | Any client that runs local stdio servers, e.g. Claude Desktop, Claude Code, Cursor, VS Code, Windsurf or OpenAI Codex |
ChatGPT and Claude on the web or mobile only connect to remote (hosted) MCP servers, so they can't use this server yet.
Resources
Contact: contact@byteplant.com
License
Available Tools
3 toolsvalidate_addressValidate a postal addressARead-only
Validate and standardize a postal address and return its status, standardized address components, and optionally its coordinates.
Result fields:
status (string): VALID: address is correct and deliverable. SUSPECT: address is incorrect and needs corrections to be deliverable, a suggested correction is provided. 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 a lot of different matches. In these cases automatic correction suggestions are not available. DELAYED, NO_COUNTRY, RATE_LIMIT_EXCEEDED, API_KEY_INVALID_OR_DEPLETED, RESTRICTED, INTERNAL_ERROR
formattedaddress (string): full address in standardized format
supplement (string): additional address details (building / unit / apt / suite etc.)
street (string): street address in standardized format
streetnumber (string): street number in standardized format
postalcode (string): zip / postal code in standardized format
city (string): city in standardized format
type (string): address type: S = Street address | P = P.O. Box, Pick-Up or other delivery service
rdi (string): Residential Delivery Indicator (Commercial / Residential)
district (string): district in standardized format
county (string): county in standardized format
state (string): state / province in standardized format
country (string): two-letter ISO 3166-1 country code
latitude (number): latitude (for valid addresses if Geocoding is enabled)
longitude (number): longitude (for valid addresses if Geocoding is enabled)
diagnostics (string): detailed diagnostic hints, indicating errors in the address input
corrections (string): detailed correction hints, indicating which parts of the address input have been fixed
ratelimit_remain (int): number of API requests remaining before the API rate limit is reached (the default API rate limit allows 100 API requests in 300s)
ratelimit_seconds (int): number of seconds remaining in the current rate limit interval
Inputs: code (required), street_adr (required), city, state, +7 more. Returns: object
validate_emailValidate an email addressBRead-only
Validate an email address and return info about it.
Result fields:
status (int): API result code. 401, 118 and 119 status codes indicate API errors: 401 -> info: 'Email address missing' 118 -> info: 'Rate Limit Exceeded' 119 -> info: 'API Key Invalid or Depleted'
info (string): short status description
details (string): full status description
freemail (boolean): indicates freemail addresses (Gmail, Yahoo, Outlook/Hotmail/Live, AOL, ...) [true | false]
ratelimit_remain (int): number of API requests remaining before the API rate limit is reached (the default API rate limit allows 100 API requests in 300s)
ratelimit_seconds (int): number of seconds remaining in the current rate limit interval
category, status_description: added from the numeric status code (category is VALID, SUSPECT, INVALID, INDETERMINATE or UNKNOWN)
Inputs: email (required), timeout. Returns: object
validate_phoneValidate a phone numberBRead-only
Validate a phone number and return its status, line type, carrier codes, location and national/international formats.
Result fields:
status (string): VALID_CONFIRMED, VALID_UNCONFIRMED, INVALID, DELAYED, RATE_LIMIT_EXCEEDED, API_KEY_INVALID_OR_DEPLETED
linetype (string): FIXED_LINE, MOBILE, VOIP, TOLL_FREE, PREMIUM_RATE, SHARED_COST, PERSONAL_NUMBER, PAGER, UAN, VOICEMAIL
location (string): geographical location (city, county, state)
countrycode (string): two letter ISO 3166-1 country code
formatnational (string): phone number in national format
formatinternational (string): phone number in international format
mcc (string): mobile country code to identify a mobile network operator (carrier) using the GSM (including GSM-R), UMTS, and LTE networks
mnc (string): mobile network code to identify a mobile network operator (carrier) using the GSM (including GSM-R), UMTS, and LTE networks
ratelimit_remain (int): number of API requests remaining before the API rate limit is reached (the default API rate limit allows 100 API requests in 300s)
ratelimit_seconds (int): number of seconds remaining in the current rate limit interval
Inputs: phone (required), code, mode, locale, +1 more. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool targets a distinct data type (email, address, phone) with no overlap in purpose. An agent can easily select the correct tool based on input type.
All tools follow the same predictable verb_noun pattern: validate_email, validate_address, validate_phone. No naming deviations or mixed conventions.
Three tools cleanly cover the three core validation domains. The count is well-scoped with each tool earning its place.
The server provides complete validation coverage for email, postal address, and phone number, which are the primary contact-data validation needs. No obvious missing operations for a read-only validation service.
Maintenance
Related MCP Connectors
BounceBan MCP — wraps the BounceBan email-verification API (bounceban.com)
Validate emails (MX, disposable, role, typo) and phone numbers, singly or in batches, for AI agents.
380+ live data, validation and utility APIs in one MCP server: IP, DNS, email, FX, weather and more.
Verify addresses, email addresses, and phone numbers with confidence scores.
Related MCP Servers
- AlicenseAqualityCmaintenanceEmail validation MCP server using MailboxValidator API to determine validity of an email address.337 npm1MIT
- AlicenseAqualityDmaintenanceEnables real-time email verification via MCP tools, checking syntax, MX, disposable domains, and optional SMTP probe to determine deliverability with a VALID/RISKY/INVALID verdict.29 npmMIT
- AlicenseNot gradedqualityDmaintenanceComprehensive email validation MCP server that checks syntax, MX records, disposable domains, role-based accounts, SPF/DKIM, typo suggestions, and risk scoring.MIT
- AlicenseNot gradedqualityDmaintenanceProvides an MCP tool to verify email addresses, returning valid, invalid, risky, or error statuses via the InboxValid API. It includes a mock API and retry logic for robust, type-safe verification.MIT