io.github.byteplant-dev/byteplant-mcp

平台与服务

by byteplant-dev

An MCP server that provides Email, Phone and Address Validation Services from Byteplant

什么是 io.github.byteplant-dev/byteplant-mcp?

An MCP server that provides Email, Phone and Address Validation Services from Byteplant

README

<!-- mcp-name: io.github.byteplant-devops/byteplant-mcp --> <p align="center"> <img src="https://www.byteplant.com/img/logo.png" alt="Byteplant" width="400"> </p> <h1 align="center">Byteplant MCP Server</h1> <p align="center"> Validate email addresses, phone numbers and postal addresses from any <a href="https://modelcontextprotocol.io/">MCP</a> client,<br> with unparalleled precision in 240+ countries worldwide. </p> <p align="center"> <a href="https://pypi.org/project/byteplant-mcp/"><img src="https://img.shields.io/pypi/v/byteplant-mcp" alt="PyPI version"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="License"></a> </p> <div align="center">

Byteplant MCP server

</div> <p align="center"> <a href="#installation">Installation</a> · <a href="#tools">Tools</a> · <a href="#credentials">Credentials</a> · <a href="#usage">Usage</a> · <a href="#compatibility">Compatibility</a> · <a href="#resources">Resources</a> </p>

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

  1. In Claude Desktop, go to Settings → Developer → Edit Config. This opens claude_desktop_config.json:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the Byteplant server:

    json
    {
      "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>"
          }
        }
      }
    }
    
  3. Restart Claude Desktop.

Claude Code

bash
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@latest

Cursor

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:

json
{
  "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

bash
pip install byteplant-mcp

This 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):

json
"command": "/full/path/to/byteplant-mcp"

Alternatively, run the module with the Python installation you installed it into:

json
"command": "/path/to/python",
"args": ["-m", "byteplant_mcp"]

Tools

ToolWhat it does
validate_emailChecks whether an email address is deliverable and detects freemail providers
validate_phoneValidates a phone number and returns its line type, carrier codes, location and formats
validate_addressValidates 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 variableUsed byGet an API key
EV_TOKENvalidate_emailEmail Validator
PV_TOKENvalidate_phonePhone Validator
AV_TOKENvalidate_addressAddress Validator

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

ParameterRequiredDescription
email✅The email address to validate

Output

FieldDescription
statusNumeric result code, e.g. 200 for a valid address. See the full list of result codes.
categoryAdded by the server: VALID, SUSPECT, INVALID or INDETERMINATE, based on status (UNKNOWN for unlisted codes)
status_descriptionAdded by the server: what the status code means
infoShort status description
detailsFull status description
freemailtrue if the address belongs to a freemail provider (Gmail, Yahoo, Outlook/Hotmail/Live, AOL, …)

validate_phone - API Docs

ParameterRequiredDescription
phone✅The phone number to validate, in national format or in international format with a leading +
codeTwo-letter ISO 3166-1 country code. Optional if the phone number is in international format.
localeIETF language tag for geocoding results. Defaults to en-US.
modeextensive (default) runs full validation. express runs static checks only and is faster.

Output

FieldDescription
statusVALID_CONFIRMED, VALID_UNCONFIRMED, INVALID, DELAYED, RATE_LIMIT_EXCEEDED or API_KEY_INVALID_OR_DEPLETED
linetypeFIXED_LINE, MOBILE, VOIP, TOLL_FREE, PREMIUM_RATE, SHARED_COST, PERSONAL_NUMBER, PAGER, UAN or VOICEMAIL
locationGeographical location (city, county, state)
countrycodeTwo-letter ISO 3166-1 country code
formatnationalPhone number in national format
formatinternationalPhone number in international format
mccMobile country code, which identifies the mobile network operator (carrier)
mncMobile network code, which identifies the mobile network operator (carrier)

validate_address - API Docs

ParameterRequiredDescription
code✅Two-letter ISO 3166-1 country code. Use XX for international addresses.
street_adr✅Street, house number and building. May include the unit or apartment, or even the complete address.
street_numHouse or building number, if it isn't part of street_adr
additional_infoBuilding, unit, apartment or floor
cityCity or locality
postal_codeZIP or postal code
stateState or province
geocodingWhether to return coordinates for the address. Off by default.
localeOutput language for countries with more than one postal language. Use it only to translate addresses, and leave it empty for address validation.
charsetutf-8 (default) or us-ascii

Output

FieldDescription
statusVALID: the address is correct and deliverable. SUSPECT: the address needs corrections to be deliverable, and a suggested correction is provided. INVALID: the address is not deliverable and can't be corrected automatically. Other values: DELAYED, NO_COUNTRY, RATE_LIMIT_EXCEEDED, API_KEY_INVALID_OR_DEPLETED, RESTRICTED, INTERNAL_ERROR
formattedaddressFull address in standardized format
supplementAdditional address details (building, unit, apartment, suite)
streetStreet in standardized format
streetnumberStreet number in standardized format
postalcodeZIP or postal code in standardized format
cityCity in standardized format
districtDistrict in standardized format
countyCounty in standardized format
stateState or province in standardized format
countryTwo-letter ISO 3166-1 country code
typeAddress type: S for a street address, P for a P.O. box, pick-up or other delivery service
rdiResidential Delivery Indicator: commercial or residential
diagnosticsHints about errors in the address input. See the full list of diagnostic hints.
correctionsHints about which parts of the address input were fixed. See the full list of correction hints.
latitude, longitudeCoordinates. Only returned for valid addresses when geocoding is on.

Compatibility

RequirementVersion
Python3.10 or later (installed automatically by uvx)
MCP clientAny 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

License

MIT

常见问题

io.github.byteplant-dev/byteplant-mcp 是什么?

An MCP server that provides Email, Phone and Address Validation Services from Byteplant

相关 Skills

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描176.4k

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描176.4k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

✎ 帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描26.0k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.7k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
80.0k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
72.9k

评论