Skip to main content
Glama

abstractapi-mcp-server

MIT License

추상 API MCP 서버

Abstract API 서비스를 사용하여 이메일 및 전화 유효성 검사 도구를 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 FastMCP 기반으로 구축되어 있어 AI 애플리케이션 및 워크플로에 유효성 검사 기능을 쉽게 통합할 수 있습니다.

개요

이 MCP 서버는 세 가지 주요 검증 도구를 제공합니다.

  • 이메일 검증 : 포괄적인 이메일 주소 검증 및 확인
  • 전화번호 확인 : 190개국 이상의 전화번호 확인
  • 이메일 평판 : 보안 통찰력을 갖춘 고급 이메일 평판 분석

특징

이메일 검증

  • 형식 검증
  • 전달 가능성 확인
  • 도메인 확인
  • SMTP 검증
  • 일회용/역할/포괄 이메일 감지
  • 품질 평가

전화 확인

  • 국제 전화번호 확인
  • 형식 표준화(국제/지역)
  • 국가 및 통신사 식별
  • 전화 유형 감지(휴대전화, 유선전화 등)
  • 위치 정보

이메일 평판

  • 포괄적인 전달 가능성 분석
  • 품질 평가 및 위험 평가
  • 발신자 및 조직 식별
  • 도메인 보안 분석(DMARC, SPF)
  • 데이터 침해 내역 추적
  • 사기 및 남용 감지

필수 조건

  • 파이썬 3.11+
  • uv (빠른 Python 패키지 설치 프로그램)
  • Abstract API 키( abstractapi.com 에서 받으세요)

설치

옵션 1: uv 사용(권장)

  1. 저장소를 복제합니다.

지엑스피1

  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 도구로 노출됩니다.
  • 유형 안전성 : 전체 유형 힌트 및 유효성 검사
  • 간편한 비동기 지원 : 네이티브 비동기/대기 지원
  • 간소화된 서버 설정 : 최소한의 보일러플레이트 코드
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 속도 제한

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. API 엔드포인트 URL을 상수로 추가합니다.
  2. @mcp.tool() 로 장식된 새로운 함수를 생성합니다.
  3. 매개변수 및 반환 설명이 포함된 포괄적인 docstring 추가
  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 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

지원하다

다음과 관련된 문제:

감사의 말

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