Skip to main content
Glama
avivshafir

abstractapi-mcp-server

抽象 API MCP 服务器

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

概述

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

  • 电子邮件验证:全面的电子邮件地址验证和确认

  • 电话验证:190多个国家的电话号码验证

  • 电子邮件信誉:具有安全洞察的高级电子邮件信誉分析

Related MCP server: mcp-perplexity

特征

电子邮件验证

  • 格式验证

  • 可交付性检查

  • 域验证

  • 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文件。

支持

对于相关问题:

致谢

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

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