摘要API MCP服务器
模型上下文协议(MCP)服务器,使用抽象API服务提供电子邮件和电话验证工具。该服务器采用FastMCP构建,可以轻松地将验证功能集成到AI应用程序和工作流中。
概述
此MCP服务器公开了三个主要的验证工具:
- 电子邮件验证:全面的电子邮件地址验证和确认
- 电话验证:190多个国家的电话号码验证
- 电子邮件信誉:具有安全洞察力的高级电子邮件信誉分析
特性
电子邮件验证
- 格式验证
- 交付能力检查
- 域名验证
- SMTP验证
- 检测一次性/角色/包罗万象的电子邮件
- 质量评分
电话验证
- 国际电话号码验证
- 格式标准化(国际/本地)
- 国家和承运商标识
- 电话类型检测(移动电话、固定电话等)
- 位置信息
电子邮件信誉
- 全面的交付能力分析
- 质量评分和风险评估
- 发件人和组织标识
- 域安全分析(DMARC、SPF)
- 数据泄露历史跟踪
- 欺诈和滥用检测
先决条件
- Python 3.11+
- 紫外线 (快速Python包安装程序)
- 抽象API密钥(在 abstractapi.com)
安装
选项1:使用紫外线(推荐)
- 克隆存储库:
git clone https://github.com/avivshafir/abstractapi-mcp-server
cd abstractapi-mcp-server- 创建虚拟环境并安装依赖关系:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install .- 设置环境变量:
cp .env.example .env
# Edit .env and add your Abstract API key选项2:使用传统pip
- 克隆存储库:
git clone https://github.com/avivshafir/abstractapi-mcp-server
cd abstractapi-mcp-server- 创建虚拟环境:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt- 设置环境变量:
cp .env.example .env
# Edit .env and add your Abstract API key你的 .env 文件应包含:
ABSTRACT_API_KEY=your_abstract_api_key_here用法
运行MCP服务器
服务器可以在stdio模式下运行,以便与MCP客户端集成:
# With uv (if virtual environment is activated)
python server.py
# Or run directly with uv
uv run server.pyFastMCP框架
此服务器是使用 FastMCP,一个简化MCP服务器开发的Python框架。FastMCP提供:
- 自动刀具注册:功能装饰
@mcp.tool()自动显示为MCP工具 - 类型安全性:完整的类型提示和验证
- 简单的异步支持:本机异步/等待支持
- 简化服务器设置:最少的样板代码
FastMCP关键概念
from mcp.server.fastmcp import FastMCP
# Initialize the server
mcp = FastMCP("abstract_api")
# Register a tool
@mcp.tool()
async def my_tool(param: str) -> dict:
"""Tool description for AI clients"""
return {"result": param}
# Run the server
mcp.run(transport="stdio")可用工具
1.电子邮件验证(verify_email)
验证电子邮件地址并返回全面的信息。
参数:
email(str):要验证的电子邮件地址
示例响应:
{
"email": "user@example.com",
"deliverability": "DELIVERABLE",
"quality_score": "0.99",
"is_valid_format": {"value": true, "text": "TRUE"},
"is_free_email": {"value": false, "text": "FALSE"},
"is_disposable_email": {"value": false, "text": "FALSE"},
"is_role_email": {"value": false, "text": "FALSE"},
"is_catchall_email": {"value": false, "text": "FALSE"},
"is_mx_found": {"value": true, "text": "TRUE"},
"is_smtp_valid": {"value": true, "text": "TRUE"}
}2.电话验证(validate_phone)
验证190多个国家的电话号码。
参数:
phone(str):要验证的电话号码country(str,可选):ISO国家代码用于上下文
示例响应:
{
"phone": "14152007986",
"valid": true,
"format": {
"international": "+14152007986",
"local": "(415) 200-7986"
},
"country": {
"code": "US",
"name": "United States",
"prefix": "+1"
},
"location": "California",
"type": "mobile",
"carrier": "T-Mobile USA, Inc."
}3.电子邮件信誉(check_email_reputation)
提供全面的电子邮件信誉分析,包括安全见解和违规历史。
参数:
email(str):要分析的电子邮件地址
示例响应:
{
"email_address": "benjamin.richard@abstractapi.com",
"email_deliverability": {
"status": "deliverable",
"status_detail": "valid_email",
"is_format_valid": true,
"is_smtp_valid": true,
"is_mx_valid": true,
"mx_records": ["gmail-smtp-in.l.google.com", "..."]
},
"email_quality": {
"score": 0.8,
"is_free_email": false,
"is_username_suspicious": false,
"is_disposable": false,
"is_catchall": true,
"is_subaddress": false,
"is_role": false,
"is_dmarc_enforced": true,
"is_spf_strict": true,
"minimum_age": 1418
},
"email_sender": {
"first_name": "Benjamin",
"last_name": "Richard",
"email_provider_name": "Google",
"organization_name": "Abstract API",
"organization_type": "company"
},
"email_domain": {
"domain": "abstractapi.com",
"domain_age": 1418,
"is_live_site": true,
"registrar": "NAMECHEAP INC",
"date_registered": "2020-05-13",
"date_expires": "2025-05-13",
"is_risky_tld": false
},
"email_risk": {
"address_risk_status": "low",
"domain_risk_status": "low"
},
"email_breaches": {
"total_breaches": 2,
"date_first_breached": "2018-07-23T14:30:00Z",
"date_last_breached": "2019-05-24T14:30:00Z",
"breached_domains": [
{"domain": "apollo.io", "date_breached": "2018-07-23T14:30:00Z"},
{"domain": "canva.com", "date_breached": "2019-05-24T14:30:00Z"}
]
}
}与MCP客户端集成
将此服务器添加到您的mcp配置中:
{
"mcpServers": {
"abstract-api": {
"command": "uv",
"args": ["run", "/path/to/mcp-abstract-api/server.py"],
"env": {
"ABSTRACT_API_KEY": "your_api_key_here"
}
}
}
}或者,如果您更喜欢使用传统方法:
{
"mcpServers": {
"abstract-api": {
"command": "python",
"args": ["/path/to/mcp-abstract-api/server.py"],
"env": {
"ABSTRACT_API_KEY": "your_api_key_here"
}
}
}
}其他MCP客户端
此服务器遵循标准MCP协议,可以与任何兼容MCP的客户端集成。服务器通过stdio传输进行通信。
错误处理
服务器包括全面的错误处理:
- API密钥验证:检查缺少的API密钥
- HTTP错误处理:正确处理API响应错误
- 输入验证:类型检查和参数验证
- 故障弱化:调试时有意义的错误消息
API费率限制
摘要API根据您的计划有不同的费率限制:
- 免费计划:每秒1个请求
- 付费计划:可提供更高的费率限制
无论验证成功还是失败,每个API调用都算作一个信用。
发展
项目结构
mcp-abstract-api/
├── server.py # Main MCP server implementation
├── .env # Environment variables (not in repo)
├── .env.example # Environment template
├── requirements.txt # Python dependencies (pip format)
├── uv.lock # uv lock file for reproducible builds
├── pyproject.toml # Project configuration
├── README.md # This file
└── LICENSE # MIT License添加新工具
添加新的抽象API工具:
- 将API端点URL添加为常量
- 创建一个新功能,用
@mcp.tool() - 添加带有参数和返回描述的综合文档字符串
- 按照现有模式实现错误处理
例子:
@mcp.tool()
async def new_validation_tool(param: str) -> dict[str, Any]:
"""
Description of what this tool does.
Args:
param (str): Description of parameter
Returns:
dict[str, Any]: Description of return value
"""
# Implementation here
pass贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
关于以下问题:
