{
  "markdown": "<!-- mcp-name: io.github.byteplant-dev/byteplant-mcp -->\n# Byteplant Validator MCP Server\nEmail, Phone Number, and Address Validation for the Model Context Protocol (MCP)\n\nThis 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.\n\n## Features\n- Email validation\n- Phone number validation\n- Postal address validation\n- Fast studio MCP server \n- Local execution\n- Easy integration with Claude Desktop\n\n## Requirements\n- Python ≥ 3.12\n- A Byteplant API key (one for each validator). [You can register to get one here](https://www.byteplant.com/account/)\n- MCP Client (e.g. Claude Desktop)\n\n\n## MCP Configuration (Claude Desktop)\n### 1. Installation\nFirst, install the python module. You can use local installation (like `venv`) or global.\n```bash\npip install byteplant-mcp\n```\n### 2. Configuration\nNext, add the MCP server to Claude configuration.\n```json\n{\n\t\"mcpServers\": {\n\t\t\"byteplant\": {\n\t\t\t\"command\": \"path/to/python/installation\",\n\t\t\t\"args\": [\"-m\", \"byteplant-mcp\"],\n\t\t\t\"env\": {\n\t\t\t\t\"EV_TOKEN\": \"<EMAIL VALIDATOR API TOKEN>\",\n\t\t\t\t\"PV_TOKEN\": \"<PHONE VALIDATOR API TOKEN>\",\n\t\t\t\t\"AV_TOKEN\": \"<ADDRESS VALIDATOR API TOKEN>\"\n\t\t\t}\n\t\t}\n\t}\n}\t\n```\n\n## Byteplant's Email, Phone, and Address Validation Tools \n### 1. `validate_email`\n\n## Real-Time Email Validation API\n\nThe Email Validation API returns the deliverability status and detailed information for the email that is provided as input.\n\n---\n\n## API Endpoint\n\n| Parameter | Value |\n|------|-------|\n| **API URL** | `https://api.email-validator.net/api/verify` |\n| **Method** | `GET` or `POST` |\n\n### Example API Request (GET)\n\nhttps://api.email-validator.net/api/verify?EmailAddress=support@byteplant.com&APIKey=your\n API key\n\n---\n\n## Input Parameters\n\n| Parameter | Description |\n|-----------|-------------|\n| **EmailAddress** | Email address to validate (string). |\n| **APIKey** | Your API key (string). |\n| **Timeout** | Timeout in seconds (int). *Default:* `10` (min `5`, max `300`). |\n\n---\n\n## API Result (JSON)\n\n| Parameter | Description |\n|--------|-------------|\n| **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 |\n| **info** | [Short status description.](https://www.byteplant.com/email-validator/validation-results.html) |\n| **details** | [Full status description.](https://www.byteplant.com/email-validator/validation-results.html) |\n| **freemail** | Indicates if email is from a freemail provider (`true` / `false`). |\n| **ratelimit_remain** | Remaining API requests before rate limit is reached (default: 100 requests / 300s). |\n| **ratelimit_seconds** | Seconds remaining in the current rate-limit interval. |\n\n\n### 2. `validate_phone`\n\n## Real-Time Phone Validation API\n\nThe Real-Time Phone Verification API validates a single phone number in real-time.  \nIt returns the status (`VALID_CONFIRMED`, `VALID_UNCONFIRMED`, `INVALID`) as well as details such as line type, carrier/operator, and location.\n\n---\n\n## API Endpoint\n\n| Parameter | Value |\n|------|-------|\n| **API URL** | `https://api.phone-validator.net/api/v2/verify` |\n| **Method** | `GET` or `POST` |\n\n### Example API Request (GET)\n\nhttps://api.phone-validator.net/api/v2/verify?PhoneNumber=09874-322466&CountryCode=de&APIKey=your\n API key\n\n---\n\n## Input Parameters\n\n| Parameter | Description |\n|-----------|-------------|\n| **PhoneNumber** | Phone number to validate (string, URL encoded). Accepts national format or international format with leading `+` (`+` → `%2B`, space → `%20`). |\n| **CountryCode** | Two-letter ISO 3166-1 country code (string). *Optional if number is in international format.* |\n| **Locale** | IETF language tag for geocoding (string). *Optional; default:* `en-US`. |\n| **Mode** | Validation mode (string): `express` (static checks) or `extensive` (full validation). *Optional; default:* `extensive`. |\n| **APIKey** | Your API key (string). |\n| **Timeout** | Timeout in seconds (int). *Optional; default:* `10` (min `5`, max `300`). |\n\n---\n\n## API Result (JSON)\n\n| Parameter | Description |\n|--------|-------------|\n| **status** | `VALID_CONFIRMED`, `VALID_UNCONFIRMED`, `INVALID`, `DELAYED`, `RATE_LIMIT_EXCEEDED`, `API_KEY_INVALID_OR_DEPLETED` |\n| **linetype** | `FIXED_LINE`, `MOBILE`, `VOIP`, `TOLL_FREE`, `PREMIUM_RATE`, `SHARED_COST`, `PERSONAL_NUMBER`, `PAGER`, `UAN`, `VOICEMAIL` |\n| **location** | Geographical location (city, county, state). |\n| **countrycode** | Two-letter ISO 3166-1 country code. |\n| **formatnational** | Phone number in national format. |\n| **formatinternational** | Phone number in international format. |\n| **mcc** | Mobile Country Code (GSM/UMTS/LTE). |\n| **mnc** | Mobile Network Code (GSM/UMTS/LTE). |\n| **ratelimit_remain** | Remaining API requests before rate limit is hit (default limit: 100 requests / 300s). |\n| **ratelimit_seconds** | Seconds remaining in current rate-limit interval. |\n\n\n### 3 `validate_address`\n\n## Real-Time Address Validation API\n\nThe Address Validation API returns the deliverability status and detailed information for the address that is provided as input.\n\n---\n\n## API Endpoint\n\n| Parameter     | Value |\n|----------|-------|\n| **API URL** | `https://api.address-validator.net/api/verify` |\n| **Method**  | `GET` or `POST` |\n\n---\n\n### Example API Request (GET)\n\nhttps://api.address-validator.net/api/verify?StreetAddress=Heilsbronner Str. 4&City=Neuendettelsau&PostalCode=91564&CountryCode=de&Geocoding=true&APIKey=your API key\n\n## Input Parameters\n\n| Parameter | Description |\n|----------|-------------|\n| **CountryCode** | Two-letter ISO 3166-1 country code (string). Use `'XX'` for international. |\n| **StreetAddress** | Street/house number/building; may include unit/apartment info (string). |\n| **StreetNumber** | House number/building (*optional*) (string).<br>House number/building may be part of `StreetAddress` or provided separately. |\n| **AdditionalAddressInfo** | Building/unit/apt/floor etc. (*optional*) (string) |\n| **City** | City or locality (city, district) (*optional*) (string) |\n| **PostalCode** | ZIP / postal code (*optional*) (string) |\n| **State** | State/province (*optional*) (string) |\n| **Geocoding** | Enable Geocoding (`true`/`false`); default: `false` (*optional*) |\n| **Locale** | Output language for countries with multiple postal languages—use only for translation; leave empty for validation. Default: local language (*optional*) |\n| **OutputCharset** | Output character set: `us-ascii` or `utf-8` (default). (*optional*) |\n| **APIKey** | Your API key (string) |\n| **Timeout** | Timeout in seconds (default: 10s, min 5s, max 300s) (int) |\n\n## General Usage Notes\n\nAlways use commas (\",\") to separate address elements where needed.\n\nStreetAddress may contain the complete address; optional fields may be left empty.\n\n### China / Japan / Korea\n\nNative script: Use big → small order for all fields.\n\nEnglish script: Use small → big order for all fields.\n\n## API Result (JSON)\n\n| Parameter | Description |\n|-------|-------------|\n| **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 |\n| **formattedaddress** | Full address in standardized format. |\n| **supplement** | Additional address details (building / unit / apt / suite etc.). |\n| **street** | Street address in standardized format. |\n| **streetnumber** | Street number in standardized format. |\n| **postalcode** | ZIP / postal code in standardized format. |\n| **city** | City in standardized format. |\n| **type** | Address type: S = Street address / P = P.O. Box, Pick-Up, or other delivery service. |\n| **rdi** | Residential Delivery Indicator (Commercial / Residential). |\n| **district** | District in standardized format. |\n| **county** | County in standardized format. |\n| **state** | State / province in standardized format. |\n| **country** | Two-letter ISO 3166-1 country code. |\n| **latitude** | Latitude (for valid addresses if Geocoding is enabled). |\n| **longitude** | Longitude (for valid addresses if Geocoding is enabled). |\n| **diagnostics** | Detailed diagnostic hints, indicating errors in the address input. |\n| **corrections** | Detailed correction hints, indicating which parts of the address input have been fixed. |\n| **ratelimit_remain** | Number of API requests remaining before the API rate limit is reached (default API rate limit allows 100 API requests in 300s). |\n| **ratelimit_seconds** | Number of seconds remaining in the current rate limit interval. |\n\n## Environment Variables\n- `EV_TOKEN`: Your Email Validator API Token\n- `PV_TOKEN`: Your Phone Validator API Token\n- `AV_TOKEN`: Your Address Validator API Token\nYou may use only the tokens for the services you use (e.g. only Email Validator), in that case leave the others tokens empty.\n\n## Contact\n- Website: https://www.byteplant.com\n- Get your API key: https://www.byteplant.com/account/\n\n- Email: contact@byteplant.com",
  "bytes": 9423,
  "sha": "f877ac1d4aef7645e9792bf7f8403f33efb924a3663ba8f87b26acc1f65537b9",
  "repo_slug": "byteplant-dev/byteplant-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_byteplant_dev_byteplant_mcp_9966811e/readme"
}