avivshafir/atdata-email-verification-mcp-server
If you are the rightful owner of atdata-email-verification-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server that provides email verification services using AtData's SafeToSend API.
AtData SafeToSend MCP Server
A Model Context Protocol (MCP) server that provides email verification services using AtData's SafeToSend API. This server allows you to verify email addresses to filter out invalid and high-risk ones, resulting in higher open rates, clicks, and conversions.
https://docs.atdata.com/reference/safe-to-send
Features
- Email Verification: Verify individual email addresses using AtData's SafeToSend API
- Batch Verification: Verify multiple email addresses at once with summary statistics
- Comprehensive Error Handling: Detailed error messages for different failure scenarios
- Environment Variable Support: Secure API key management through environment variables
- Rate Limiting Awareness: Proper handling of API rate limits
Installation
- Clone this repository:
git clone <repository-url>
cd atdata-mcp-server
- Install dependencies using uv (recommended) or pip:
# Using uv
uv sync
# Using pip
uv pip install .
Setup
Get AtData API Key
- Sign up for an AtData account at https://atdata.com
- Obtain your API key from the AtData dashboard
- Set up your API key as an environment variable:
export ATDATA_API_KEY="your-api-key-here"
Or create a .env
file in the project root:
ATDATA_API_KEY=your-api-key-here
Usage
Running the Server
Method 1: Direct Python execution
python server.py
Method 2: Using FastMCP CLI
fastmcp run server.py
Method 3: Install for Claude Desktop
fastmcp install server.py
Using with uv
If you're using uv, you can also run the server with:
{
"mcpServers": {
"atdata-email-verification-mcp-server": {
"command": "uv",
"args": ["run", "python", "server.py"],
"cwd": "/path/to/your/atdata-email-verification-mcp-server",
"env": {
"ATDATA_API_KEY": "your_api_key_here"
}
}
}
}
Available Tools
1. verify_email
Verify a single email address.
Parameters:
email
(string, required): The email address to verifyapi_key
(string, optional): AtData API key (uses environment variable if not provided)
Example:
{
"email": "user@example.com",
"api_key": "your-api-key" # Optional if ATDATA_API_KEY is set
}
Response:
{
"success": True,
"email": "user@example.com",
"verification_result": {
"email": "user@example.com",
"status": "valid",
"deliverable": True,
"risk_level": "low",
# Additional verification details from AtData API
}
}
2. batch_verify_emails
Verify multiple email addresses in batch.
Parameters:
emails
(array of strings, required): List of email addresses to verifyapi_key
(string, optional): AtData API key (uses environment variable if not provided)
Example:
{
"emails": ["user1@example.com", "user2@domain.com", "invalid@email"],
"api_key": "your-api-key" # Optional if ATDATA_API_KEY is set
}
Response:
{
"results": [
{
"success": True,
"email": "user1@example.com",
"verification_result": { /* verification details */ }
},
{
"success": True,
"email": "user2@domain.com",
"verification_result": { /* verification details */ }
},
{
"error": "Bad request. Please check the email format.",
"email": "invalid@email",
"status_code": 400
}
],
"summary": {
"total": 3,
"successful": 2,
"failed": 1,
"success_rate": 66.67
}
}
Error Handling
The server provides comprehensive error handling for various scenarios:
- Missing API Key: Returns error when no API key is provided
- Authentication Errors: Handles invalid API keys (401 status)
- Bad Requests: Handles invalid email formats (400 status)
- Rate Limiting: Handles API rate limit exceeded (429 status)
- Network Issues: Handles connection errors and timeouts
- Unexpected Errors: Catches and reports any unexpected exceptions
API Documentation
This server is based on the AtData SafeToSend API. For more details about the underlying API, see:
Development
Project Structure
atdata-mcp-server/
āāā src/
ā āāā server.py # Main MCP server implementation
āāā pyproject.toml # Project configuration and dependencies
āāā uv.lock # Locked dependencies
āāā README.md # This file
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
This project is licensed under the MIT License. See the LICENSE file for details.
Support
For issues related to:
- This MCP Server: Open an issue in this repository
- AtData API: Contact AtData support or check their documentation
- FastMCP Framework: Check the FastMCP documentation