ContactLint

com.contactlintPublished by contactlint.comOfficial publisherv1.1.0Updated Nov 1, 2026

Validate emails (MX, disposable, role, typo) and phone numbers, singly or in batches, for AI agents.

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

ContactLint validates email addresses and phone numbers, singly or in batches, so an assistant can check contact data before saving or using it.

What you can do
  • Check one email address for syntax, MX/A records via DNS-over-HTTPS, disposable domains, role addresses, free providers and typo suggestions
  • Check up to 50 email addresses in one call, returning one result per address in order plus a verdict summary
  • Parse and validate a phone number, returning validity, line type, region and E.164 and national formats
When to use it
Useful when an assistant collects, cleans or stores contact details and should reject malformed, disposable or mistyped addresses and invalid phone numbers before they enter a CRM, form or mailing list.
Requirements
A ContactLint API key sent as a bearer token in the Authorization header (or the CONTACTLINT_API_KEY environment variable for the local stdio server). Either the hosted Streamable HTTP endpoint or the local stdio package run via npx or npm. Network access for DNS-over-HTTPS lookups.
Before you install
The API key is a billable credential: each address or number checked consumes one check, and a 50-address batch can use 50 checks, though free monthly checks and paid credit packs apply. Validation does not probe mail servers, so it cannot confirm a mailbox exists or detect catch-all domains. Email addresses and phone numbers are sent to ContactLint's servers.

Installation

In SourceWeft

  1. Open ContactLint in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.contactlint%2Fcontactlint/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "contactlint": {
      "type": "http",
      "url": "https://contactlint.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

ContactLint 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).

Tools

ToolInputWhat it does
validate_emailemailChecks 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_emailsemails (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_phonephone, 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

VariableRequiredSecretDescription
CONTACTLINT_API_KEYYesYesYour ContactLint API key, sent as Authorization: Bearer <key>. Get a free key (100 checks/month, no card) at https://contactlint.com/signup
CONTACTLINT_MCP_URLNoNoOptional endpoint override (defaults to https://contactlint.com/mcp)

Client configuration (stdio via npx)

json
{  "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):

json
{  "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:

json
{  "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_emails call 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_emails list, 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.

Source: README.md at commit 52ea3ee

Tools

3

validate_email

Check an email address: syntax, MX/A records via DNS-over-HTTPS, disposable domain, role address, free provider, typo suggestion for major providers. No SMTP probing. Uses 1 check.

Parametersemailrequired

validate_emails

Check a list of up to 50 email addresses in one call, with the same checks as validate_email. Returns one result per address in the same order plus a summary of verdicts. Uses 1 check per address; addresses whose DNS lookup fails come back with reason dns_error and are not billed. If the key lacks checks for the whole list, nothing is checked or billed.

Parametersemailsrequired

validate_phone

Parse and validate a phone number: valid, possible, type, region, E.164 and national formats. Uses 1 check.

Parametersphonerequiredcountry

Version history

2
  1. v1.1.0LatestOct 18, 2026
  2. v1.0.0Oct 17, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts