About ContactLint
ContactLint is an MCP server for AI agents that checks email addresses and phone numbers before they are saved or used. It checks email DNS, disposable and role addresses, and likely typos, while parsing phone formats and line types.
Key features
- 01Check email syntax and DNS records
- 02Identify disposable and role addresses
- 03Suggest likely email domain typo fixes
- 04Validate up to 50 emails per batch
- 05Parse phone formats and line types
Use cases
- 01Verify emails before saving contacts
- 02Screen email lists in batches
- 03Normalize phone number details
MCP support
The MCP server exposes email and phone validation through `validate_email`, `validate_emails`, and `validate_phone`. It can run locally over stdio or connect to the hosted Streamable HTTP endpoint; tool calls require an API key.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://contactlint.com/mcpclaude mcp add --transport http com-contactlint-contactlint https://contactlint.com/mcp{"mcpServers":{"com-contactlint-contactlint":{"type":"http","url":"https://contactlint.com/mcp"}}}Open in Cursor{"servers":{"com-contactlint-contactlint":{"type":"http","url":"https://contactlint.com/mcp"}}}Open in VS Code{"mcpServers":{"com-contactlint-contactlint":{"type":"http","url":"https://contactlint.com/mcp"}}}{"mcpServers":{"com-contactlint-contactlint":{"serverUrl":"https://contactlint.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://contactlint.com/mcpAuth requiredTools
Details
From the project READMEContactLint MCP Server (contactlint-mcp)
ContactLint checks email addresses and phone numbers before your AI agent saves or uses them. You can run it as a local stdio MCP server (contactlint-mcp, reading CONTACTLINT_API_KEY from the environment) or connect directly to the hosted Streamable HTTP endpoint (https://contactlint.com/mcp).
- Local stdio binary:
contactlint-mcp(./bin/contactlint-mcp.mjs) - Hosted endpoint:
https://contactlint.com/mcp(Streamable HTTP, JSON-RPC over POST) - Website: https://contactlint.com/
- MCP guide: https://contactlint.com/email-validation-mcp-server
- OpenAPI (REST API): https://contactlint.com/openapi.json
- MCP Registry:
com.contactlint/contactlint
Tools
| Tool | Input | What it does |
|---|---|---|
validate_email | email | Checks syntax, MX and A records over DNS-over-HTTPS, known disposable domains, role addresses (admin@, no-reply@) and free providers, and suggests a fix when the domain looks like a typo of a major provider (gmial.com). |
validate_emails | emails (1 to 50 addresses) | Same checks as validate_email for up to 50 addresses in one call. Returns one result per address in the same order plus a summary of verdicts. |
validate_phone | phone, optional country (ISO 3166-1 alpha-2 default region, for example US) | Parses and validates a phone number: valid and possible flags, line type, region, E.164, national and international formats. |
ContactLint does not connect to mail servers (no SMTP probing), so it cannot confirm that a mailbox exists or detect catch-all domains.
initialize and tools/list work without a key, so clients and directory scanners can read the tool list. tools/call requires a ContactLint API key (100 free checks per month, no card required).
Option 1: Local stdio MCP server (recommended for registries & desktop clients)
The local stdio server (bin/contactlint-mcp.mjs) reads your API key from the CONTACTLINT_API_KEY secret environment variable and forwards authenticated tool calls to https://contactlint.com/mcp.
Environment variables
| Variable | Required | Secret | Description |
|---|---|---|---|
CONTACTLINT_API_KEY | Yes | Yes | Your ContactLint API key, sent as Authorization: Bearer <key>. Get a free key (100 checks/month, no card) at https://contactlint.com/signup |
CONTACTLINT_MCP_URL | No | No | Optional endpoint override (defaults to https://contactlint.com/mcp) |
Client configuration (stdio via npx)
{
"mcpServers": {
"contactlint": {
"command": "npx",
"args": ["-y", "github:zksyncer/contactlint"],
"env": {
"CONTACTLINT_API_KEY": "YOUR_API_KEY"
}
}
}
}
Or when installed locally (npm install -g github:zksyncer/contactlint or pnpm add contactlint-mcp):
{
"mcpServers": {
"contactlint": {
"command": "contactlint-mcp",
"env": {
"CONTACTLINT_API_KEY": "YOUR_API_KEY"
}
}
}
}
Option 2: Hosted Streamable HTTP MCP server
If your MCP client supports custom HTTP headers on remote streamable-http servers, you can connect directly without installing anything:
{
"mcpServers": {
"contactlint": {
"type": "http",
"url": "https://contactlint.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Billing
- One check per address or number checked. A
validate_emailscall with 20 addresses uses 20 checks. - Addresses whose DNS lookup fails come back
unknown(dns_error) and are not billed. - If a key does not have enough checks for a whole
validate_emailslist, nothing is checked or billed. - 100 checks per month are free, no card needed.
- Credit packs: 5,000 checks for $9, 25,000 for $35, 100,000 for $99.
Free tools
Free browser tools (disposable email checker, phone number validator, disposable domain list) are at https://contactlint.com/tools
License
MIT, see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.