Skip to main content
Glama

abstractapi-mcp-server

MIT License

Abstrakter API-MCP-Server

Ein Model Context Protocol (MCP)-Server, der E-Mail- und Telefonvalidierungstools mithilfe abstrakter API-Dienste bereitstellt. Dieser Server basiert auf FastMCP und erleichtert die Integration von Validierungsfunktionen in KI-Anwendungen und Workflows.

Überblick

Dieser MCP-Server stellt drei Hauptvalidierungstools bereit:

  • E-Mail-Validierung : Umfassende Validierung und Verifizierung von E-Mail-Adressen
  • Telefonvalidierung : Validierung von Telefonnummern für über 190 Länder
  • E-Mail-Reputation : Erweiterte E-Mail-Reputationsanalyse mit Sicherheitseinblicken

Merkmale

E-Mail-Validierung

  • Formatvalidierung
  • Zustellbarkeitsprüfung
  • Domänenüberprüfung
  • SMTP-Validierung
  • Erkennung von Wegwerf-/Rollen-/Catchall-E-Mails
  • Qualitätsbewertung

Telefonvalidierung

  • Validierung internationaler Telefonnummern
  • Formatstandardisierung (international/lokal)
  • Länder- und Betreiberidentifikation
  • Erkennung des Telefontyps (Mobiltelefon, Festnetz usw.)
  • Standortinformationen

E-Mail-Reputation

  • Umfassende Zustellbarkeitsanalyse
  • Qualitätsbewertung und Risikobewertung
  • Absender- und Organisationsidentifikation
  • Domänensicherheitsanalyse (DMARC, SPF)
  • Verfolgung des Verlaufs von Datenschutzverletzungen
  • Betrugs- und Missbrauchserkennung

Voraussetzungen

  • Python 3.11+
  • uv (schneller Python-Paketinstaller)
  • Abstrakter API-Schlüssel (erhalten Sie einen unter abstractapi.com )

Installation

Option 1: Verwenden von UV (empfohlen)

  1. Klonen Sie das Repository:
git clone https://github.com/avivshafir/abstractapi-mcp-server cd abstractapi-mcp-server
  1. Erstellen Sie eine virtuelle Umgebung und installieren Sie Abhängigkeiten:
uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install .
  1. Umgebungsvariablen einrichten:
cp .env.example .env # Edit .env and add your Abstract API key

Option 2: Verwendung von traditionellem Pip

  1. Klonen Sie das Repository:
git clone https://github.com/avivshafir/abstractapi-mcp-server cd abstractapi-mcp-server
  1. Erstellen Sie eine virtuelle Umgebung:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  1. Installieren Sie Abhängigkeiten:
pip install -r requirements.txt
  1. Umgebungsvariablen einrichten:
cp .env.example .env # Edit .env and add your Abstract API key

Ihre .env Datei sollte Folgendes enthalten:

ABSTRACT_API_KEY=your_abstract_api_key_here

Verwendung

Ausführen des MCP-Servers

Der Server kann zur Integration mit MCP-Clients im Standardmodus ausgeführt werden:

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

FastMCP-Framework

Dieser Server basiert auf FastMCP , einem Python-Framework, das die Entwicklung von MCP-Servern vereinfacht. FastMCP bietet:

  • Automatische Tool-Registrierung : Mit @mcp.tool() dekorierte Funktionen werden automatisch als MCP-Tools angezeigt
  • Typsicherheit : Vollständige Typhinweise und Validierung
  • Einfache asynchrone Unterstützung : Native asynchrone/wartende Unterstützung
  • Vereinfachte Servereinrichtung : Minimaler Boilerplate-Code
Wichtige FastMCP-Konzepte
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")

Verfügbare Tools

1. E-Mail-Validierung ( verify_email )

Überprüft E-Mail-Adressen und gibt umfassende Informationen zurück.

Parameter:

  • email (str): Zu validierende E-Mail-Adresse

Beispielantwort:

{ "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. Telefonvalidierung ( validate_phone )

Validiert Telefonnummern aus über 190 Ländern.

Parameter:

  • phone (str): Zu validierende Telefonnummer
  • country (str, optional): ISO-Ländercode für den Kontext

Beispielantwort:

{ "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. E-Mail-Reputation ( check_email_reputation )

Bietet eine umfassende E-Mail-Reputationsanalyse, einschließlich Sicherheitseinblicken und Verletzungsverlauf.

Parameter:

  • email (str): Zu analysierende E-Mail-Adresse

Beispielantwort:

{ "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"} ] } }

Integration mit MCP-Clients

Fügen Sie diesen Server zu Ihrer MCP-Konfiguration hinzu:

{ "mcpServers": { "abstract-api": { "command": "uv", "args": ["run", "/path/to/mcp-abstract-api/server.py"], "env": { "ABSTRACT_API_KEY": "your_api_key_here" } } } }

Alternativ, wenn Sie lieber den traditionellen Ansatz verwenden möchten:

{ "mcpServers": { "abstract-api": { "command": "python", "args": ["/path/to/mcp-abstract-api/server.py"], "env": { "ABSTRACT_API_KEY": "your_api_key_here" } } } }

Andere MCP-Clients

Dieser Server folgt dem Standard-MCP-Protokoll und kann in jeden MCP-kompatiblen Client integriert werden. Die Kommunikation erfolgt über stdio-Transport.

Fehlerbehandlung

Der Server beinhaltet eine umfassende Fehlerbehandlung:

  • API-Schlüsselvalidierung : Prüft auf fehlende API-Schlüssel
  • HTTP-Fehlerbehandlung : Richtige Behandlung von API-Antwortfehlern
  • Eingabevalidierung : Typprüfung und Parametervalidierung
  • Graceful Degradation : Aussagekräftige Fehlermeldungen zum Debuggen

API-Ratenbegrenzungen

Die Abstract API hat je nach Plan unterschiedliche Ratenbegrenzungen:

  • Kostenlose Pläne: 1 Anfrage pro Sekunde
  • Kostenpflichtige Tarife: Höhere Ratenlimits verfügbar

Jeder API-Aufruf zählt als ein Guthaben, unabhängig davon, ob die Validierung erfolgreich ist oder fehlschlägt.

Entwicklung

Projektstruktur

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

Neue Tools hinzufügen

So fügen Sie neue Abstract-API-Tools hinzu:

  1. Fügen Sie die API-Endpunkt-URL als Konstante hinzu
  2. Erstellen Sie eine neue Funktion, die mit @mcp.tool() dekoriert ist
  3. Umfassende Docstrings mit Parameter- und Rückgabebeschreibungen hinzufügen
  4. Implementieren Sie die Fehlerbehandlung nach dem vorhandenen Muster

Beispiel:

@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

Beitragen

  1. Forken Sie das Repository
  2. Erstellen eines Feature-Zweigs
  3. Nehmen Sie Ihre Änderungen vor
  4. Fügen Sie gegebenenfalls Tests hinzu
  5. Senden einer Pull-Anfrage

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .

Unterstützung

Bei Problemen im Zusammenhang mit:

Danksagung

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