Email Verification MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Email Verification MCP ServerCan you check if this email is valid: john@example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Email Verification MCP Server
A TypeScript MCP server that exposes a clean, well-typed verify_email tool for email verification.
The tool returns a structured result that an agent can consume:
validinvalidriskyreasonindividual check results
metadata such as domain, provider, cache status, and lookup latency
It also includes a simple human-friendly CLI mode for demos, testing, and Loom recordings.
What This Project Does
This project implements Option A: MCP server.
It provides an MCP server over STDIO with the following tools:
Tool | Purpose |
| Verifies an email address and returns |
| Confirms that the server is alive |
| Shows help for available tools and topics |
The main required tool is:
verify_email({
email: "test@gmail.com"
})Related MCP server: email-verify
Highlights
MCP-ready: Uses the official
@modelcontextprotocol/serverpackage.Well-typed interface: Input and output schemas are defined with Zod.
Structured output: Returns machine-readable
structuredContentfor agents.Readable output: Returns clear text output for humans.
Simple CLI demo mode: Run
npm run verify -- test@gmail.cominstead of writing raw JSON-RPC.Validation pipeline: Syntax, domain, MX, and disposable-provider checks.
Mock backend support: Includes a deterministic backend layer suitable for local testing.
STDIO-safe logging: MCP mode keeps stdout clean for JSON-RPC transport.
Quick Start
cd /Users/satvikkesarwani/Desktop/tvaram
npm install
npm run buildLoom Demo Commands
Use these commands to quickly prove the system is ready.
1. Build the project
npm run build2. Verify a valid email
npm run verify -- test@gmail.comExpected style of output:
Email Verification Result
=========================
Email: test@gmail.com
Verdict: VALID - Safe to send
Reason: Email appears valid
Checks
------
Syntax: PASS
Domain exists: PASS
MX records: PASS
Disposable address: PASS - not disposable
Details
-------
Domain: gmail.com
Provider: not detected
Cached result: no
Lookup time: 1 ms
Recommendation
--------------
This address passed the available checks. It looks suitable for normal outreach.3. Verify a risky disposable email
npm run verify -- test@guerrillamail.comThis should return a RISKY verdict because the domain is a known disposable email provider.
4. Verify an invalid email
npm run verify -- invalid-emailThis should return an INVALID verdict because the email syntax is wrong.
5. Ping the server
npm run pingThis confirms the server package is responding.
CLI Usage
The project supports short CLI commands for human testing:
npm run verify -- test@gmail.com
npm run verify -- test@guerrillamail.com
npm run verify -- invalid-email
npm run ping
npm run helpYou can also run the compiled file directly:
node build/index.js verify_email test@gmail.com
node build/index.js verify test@gmail.com
node build/index.js mcping
node build/index.js mchelp verify_emailRun without arguments to start the actual MCP server:
npm startMCP Tool Interface
Tool Name
verify_emailInput Schema
{
email: string;
options?: {
checkMx?: boolean;
checkDisposable?: boolean;
timeoutMs?: number;
};
}Output Schema
{
email: string;
status: "valid" | "invalid" | "risky";
reason: string;
checks: {
syntax: boolean;
domain: boolean;
mx?: boolean;
disposable?: boolean;
};
metadata: {
domain: string;
provider?: string;
cached: boolean;
latencyMs: number;
};
}Example Structured Result
{
"email": "test@gmail.com",
"status": "valid",
"reason": "Email appears valid",
"checks": {
"syntax": true,
"domain": true,
"mx": true,
"disposable": true
},
"metadata": {
"domain": "gmail.com",
"cached": false,
"latencyMs": 1
}
}How MCP Clients Use It
The server uses STDIO transport. MCP clients should start it with:
node build/index.jsExample client configuration:
{
"mcpServers": {
"email-verifier": {
"command": "node",
"args": ["/Users/satvikkesarwani/Desktop/tvaram/build/index.js"]
}
}
}The simple CLI commands are only for humans and demos. The MCP server mode remains available when the file is started without CLI arguments.
Available Scripts
Command | Description |
| Compiles TypeScript into |
| Starts the MCP server over STDIO |
| Runs human-friendly email verification |
| Runs a quick server status check |
| Shows CLI help |
| Runs the test command |
| Runs the lint command |
Verification Flow
1. Normalize the email address
2. Check the in-memory cache
3. Validate email syntax
4. Extract and validate the domain
5. Check MX records when enabled
6. Check disposable email providers when enabled
7. Fall back to the mock backend when needed
8. Return both readable text and structured contentProject Structure
tvaram/
├── src/
│ ├── config/
│ │ └── index.ts
│ ├── services/
│ │ ├── cache.ts
│ │ ├── mock-backend.ts
│ │ ├── retry.ts
│ │ └── verification.ts
│ ├── types/
│ │ ├── errors.ts
│ │ └── verification.ts
│ ├── utils/
│ │ ├── dns.ts
│ │ └── logger.ts
│ ├── validation/
│ │ ├── disposable.ts
│ │ ├── domain.ts
│ │ ├── pipeline.ts
│ │ └── syntax.ts
│ └── index.ts
├── build/
├── package.json
├── tsconfig.json
└── README.mdConfiguration
Configuration lives in:
src/config/index.tsCurrent defaults:
Area | Setting | Default |
Server | name |
|
Server | version |
|
DNS | timeout |
|
DNS | retries |
|
Cache | max size |
|
Cache | TTL |
|
Retry | max attempts |
|
Circuit breaker | threshold |
|
Circuit breaker | reset timeout |
|
Mock backend | error rate |
|
Design Notes
The MCP server writes protocol responses to stdout.
Logs are written to stderr so JSON-RPC messages are not corrupted.
CLI mode silences logs for clean human-readable output.
Zod schemas keep the tool input and output explicit and agent-friendly.
The verification backend is mockable so the MCP interface can be tested without depending on a paid or external verification API.
Limitations
This is not full SMTP mailbox verification.
DNS behavior can vary by network and resolver.
Disposable detection depends on the embedded blocklist.
The mock backend is deterministic and useful for testing, but it is not a production deliverability provider.
Submission Summary
This project satisfies the assignment requirement:
An MCP server exposing at least one tool, for example
verify_email(address), returning a structured result:valid,invalid, orriskyplus a reason.
The implementation includes:
MCP server over STDIO
verify_emailtoolZod input/output schemas
structured agent-readable result
readable human output
CLI demo commands
TypeScript build setup
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceEmail validation MCP server using MailboxValidator API to determine validity of an email address.3351MIT
- AlicenseAqualityBmaintenanceEnables real-time email verification via MCP tools, checking syntax, MX, disposable domains, and optional SMTP probe to determine deliverability with a VALID/RISKY/INVALID verdict.211MIT
- Alicense-qualityBmaintenanceMCP server for verifying B2B contact records via email syntax and DNS/MX checks, serving verified data with per-tenant isolation.Apache 2.0
- Alicense-qualityCmaintenanceAn MCP server that enables AI agents to validate email addresses and send emails via SMTP with zero external dependencies.MIT
Related MCP Connectors
MCP server for Tomba email finder, verification, and contact enrichment API
Cloudflare Workers MCP server: email-validator
Emailable MCP — wraps the Emailable email verification API (emailable.com)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/satvikkesarwani/Email-Verification-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server