Skip to main content
Glama

abstractapi-mcp-server

MIT License

抽象API MCPサーバー

抽象APIサービスを用いたメールと電話の検証ツールを提供する、モデルコンテキストプロトコル(MCP)サーバーです。このサーバーはFastMCPで構築されており、AIアプリケーションやワークフローに検証機能を簡単に統合できます。

概要

この MCP サーバーは、3 つの主要な検証ツールを公開します。

  • メール検証:包括的なメールアドレスの検証と確認
  • 電話認証: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サーバーの実行

サーバーは、MCP クライアントとの統合のために stdio モードで実行できます。

# With uv (if virtual environment is activated) python server.py # Or run directly with uv uv run server.py

FastMCPフレームワーク

このサーバーは、MCP サーバーの開発を簡素化する Python フレームワークであるFastMCPを使用して構築されています。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トランスポートを介して通信します。

エラー処理

サーバーには包括的なエラー処理が含まれています。

  • APIキー検証: 不足しているAPIキーをチェックします
  • HTTPエラー処理: APIレスポンスエラーの適切な処理
  • 入力検証: 型チェックとパラメータ検証
  • Graceful Degradation : デバッグのための意味のあるエラーメッセージ

API レート制限

抽象 API には、プランに応じて異なるレート制限があります。

  • 無料プラン: 1秒あたり1リクエスト
  • 有料プラン:より高いレート制限が利用可能

検証が成功したか失敗したかに関係なく、各 API 呼び出しは 1 クレジットとしてカウントされます。

発達

プロジェクト構造

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