Skip to main content
Glama

abstractapi-mcp-server

MIT License

Абстрактный API MCP-сервер

Сервер Model Context Protocol (MCP), который предоставляет инструменты проверки электронной почты и телефона с использованием служб Abstract API. Этот сервер создан с использованием FastMCP, что упрощает интеграцию возможностей проверки в приложения и рабочие процессы ИИ.

Обзор

Этот сервер MCP предоставляет три основных инструмента проверки:

  • Проверка адреса электронной почты : комплексная проверка и верификация адреса электронной почты
  • Проверка телефона : проверка номера телефона для более чем 190 стран
  • Репутация электронной почты : расширенный анализ репутации электронной почты с учетом безопасности

Функции

Проверка электронной почты

  • Проверка формата
  • Проверка доставляемости
  • Проверка домена
  • Проверка SMTP
  • Обнаружение одноразовых/ролевых/универсальных писем
  • Оценка качества

Проверка телефона

  • Международная проверка номера телефона
  • Стандартизация формата (международная/локальная)
  • Идентификация страны и оператора
  • Определение типа телефона (мобильный, стационарный и т. д.)
  • Информация о местоположении

Репутация электронной почты

  • Комплексный анализ доставляемости
  • Оценка качества и риска
  • Идентификация отправителя и организации
  • Анализ безопасности домена (DMARC, SPF)
  • Отслеживание истории утечек данных
  • Обнаружение мошенничества и злоупотреблений

Предпосылки

  • Питон 3.11+
  • uv (быстрый установщик пакетов Python)
  • Ключ API Abstract (получите его на abstractapi.com )

Установка

Вариант 1: Использование УФ (рекомендуется)

  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: использование традиционного пипа

  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 , фреймворка Python, который упрощает разработку сервера MCP. FastMCP обеспечивает:

  • Автоматическая регистрация инструментов : функции, помеченные @mcp.tool() автоматически отображаются как инструменты MCP.
  • Безопасность типов : Полные подсказки типов и проверка
  • Простая поддержка асинхронности : собственная поддержка async/await
  • Упрощенная настройка сервера : минимальный шаблонный код
Ключевые концепции 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 transport.

Обработка ошибок

Сервер включает в себя комплексную обработку ошибок:

  • Проверка ключа API : проверка на наличие отсутствующих ключей API.
  • Обработка ошибок HTTP : правильная обработка ошибок ответа API
  • Проверка входных данных : проверка типа и параметров
  • Постепенная деградация : осмысленные сообщения об ошибках для отладки

Ограничения скорости API

Abstract 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

Добавление новых инструментов

Чтобы добавить новые инструменты Abstract API:

  1. Добавьте URL-адрес конечной точки API как константу
  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