Skip to main content
Glama
avivshafir

abstractapi-mcp-server

抽象API MCPサーバー

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

概要

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

  • メール検証:包括的なメールアドレスの検証と確認

  • 電話認証: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サーバーの実行

サーバーは、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ファイルを参照してください。

サポート

以下に関連する問題について:

謝辞

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