MCP Server

emailvalidation ships a hosted Model Context Protocol (MCP) server, so AI agents and assistants can call the API as native tools — no SDK or glue code required.

https://api.emailvalidation.io/mcp

The endpoint speaks the streamable HTTP transport. All requests — including listing the available tools — require your API key, sent as the apikey header. You can get a free API key here.

MCP clients that support MCP authorization (OAuth 2.1) can sign in instead of sending a key: see Sign in instead of an API key.

Connect

Using Claude Code:

claude mcp add --transport http emailvalidation https://api.emailvalidation.io/mcp --header "apikey: YOUR_API_KEY"

Or add the server to any MCP-capable client (Claude Desktop, Cursor, VS Code, ...):

{
  "mcpServers": {
    "emailvalidation": {
      "url": "https://api.emailvalidation.io/mcp",
      "headers": { "apikey": "YOUR_API_KEY" }
    }
  }
}

Sign in instead of an API key

MCP clients that support MCP authorization (OAuth 2.1) can connect without pasting a key, for example a custom connector in Claude (Settings → Connectors → Add custom connector, URL https://api.emailvalidation.io/mcp). Without a key, the endpoint answers 401 with a WWW-Authenticate header that names the protected resource metadata, https://api.emailvalidation.io/.well-known/oauth-protected-resource/mcp. The authorization server is https://emailvalidation.io (metadata at https://emailvalidation.io/.well-known/oauth-authorization-server, endpoints under https://app.emailvalidation.io/oauth/); clients register dynamically or with a client ID metadata document, and PKCE (S256) is required.

You sign in on app.emailvalidation.io and approve the connection, as the team's owner or an admin. The access token is a key of your team for 60 minutes, renewed with the refresh token, so tool calls count against your plan like any other request. Disconnect an app at any time under API keys → Connected apps in the dashboard. For your own code, use an API key.

Available tools

The tools are generated from the same OpenAPI specification that describes the REST API, so they always match the documented endpoints, parameters and responses.

ToolEndpointDescription
getInfoGET /v1/infoValidate an email address
createBulkJobPOST /v1/bulkSubmit a list for bulk verification
listBulkJobsGET /v1/bulkList your bulk jobs
getBulkJobGET /v1/bulk/{job_id}Get a bulk job's status
deleteBulkJobDELETE /v1/bulk/{job_id}Delete a bulk job
getStatusGET /v1/statusAccount quota status

Every bulk endpoint is a tool except the results download: GET /v1/bulk/{job_id}/results returns a JSON or CSV file of up to 100,000 rows, too large for a tool result. Download it from the job's links.results over the REST API once getBulkJob reports completed. createBulkJob takes the list as the emails array; CSV and TXT file uploads are only available over the REST API.

Quotas and errors

Tool calls are metered exactly like REST requests: they consume your plan quota and return the same status codes and error responses (401, 422, 429, ...). If a call fails, the tool result contains the API's error message including hints on how to proceed.