Skip to main content
Glama

abstractapi-mcp-server

MIT License

抽象 API MCP 服务器

模型上下文协议 (MCP) 服务器,使用抽象 API 服务提供电子邮件和电话验证工具。该服务器基于 FastMCP 构建,可轻松将验证功能集成到 AI 应用程序和工作流程中。

概述

该 MCP 服务器公开了三个主要验证工具:

  • 电子邮件验证:全面的电子邮件地址验证和确认
  • 电话验证:190多个国家的电话号码验证
  • 电子邮件信誉:具有安全洞察的高级电子邮件信誉分析

特征

电子邮件验证

  • 格式验证
  • 可交付性检查
  • 域验证
  • SMTP 验证
  • 检测一次性/角色/通用电子邮件
  • 质量评分

电话验证

  • 国际电话号码验证
  • 格式标准化(国际/本地)
  • 国家和运营商识别
  • 电话类型检测(手机、座机等)
  • 位置信息

电子邮件信誉

  • 全面的可交付性分析
  • 质量评分和风险评估
  • 发件人和组织身份证明
  • 域名安全分析(DMARC、SPF)
  • 数据泄露历史追踪
  • 欺诈和滥用检测

先决条件

  • Python 3.11+
  • uv (快速 Python 包安装程序)
  • 抽象 API 密钥(在abstractapi.com获取)

安装

选项 1:使用 uv(推荐)

  1. 克隆存储库:
git clone https://github.com/avivshafir/abstractapi-mcp-server cd abstractapi-mcp-server
  1. 创建虚拟环境并安装依赖项:
uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install .
  1. 设置环境变量:
cp .env.example .env # Edit .env and add your Abstract API key

选项 2:使用传统 pip

  1. 克隆存储库:
git clone https://github.com/avivshafir/abstractapi-mcp-server cd abstractapi-mcp-server
  1. 创建虚拟环境:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 设置环境变量:
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.py

FastMCP 框架

此服务器使用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 工具:

  1. 将 API 端点 URL 添加为常量
  2. 创建一个用@mcp.tool()装饰的新函数
  3. 添加包含参数和返回描述的综合文档字符串
  4. 按照现有模式实现错误处理

例子:

@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

贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

支持

对于相关问题:

致谢

Related MCP Servers

  • A
    security
    F
    license
    A
    quality
    An MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.
    Last updated -
    39
    28
    • Apple
  • -
    security
    A
    license
    -
    quality
    Generate an MCP server for any OpenAPI documented endpoint.
    Last updated -
    201
    Go
    Apache 2.0
    • Apple
    • Linux

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/avivshafir/abstractapi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server