verifox-mcp
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., "@verifox-mcpCheck if john@google.com is a valid email"
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.
Verifox MCP Server
MCP (Model Context Protocol) server that gives Claude and other AI assistants the Verifox API — verify email deliverability and find business emails, both single and in bulk.
Quick start (published package)
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json) or Claude Code MCP config — no install needed, npx fetches it:
{
"mcpServers": {
"verifox": {
"command": "npx",
"args": ["-y", "verifox-mcp"],
"env": {
"VERIFOX_API_KEY": "foxkey_your_key_here"
}
}
}
}Get a free API key (1,000 credits) at https://verifox.ai/dashboard/api. Restart Claude Desktop and ask it to "verify these emails".
Related MCP server: Enrow MCP Server
Tools
Tool | Does | Credits |
| Verify ONE email — SMTP deliverability, catch-all, disposable, role, free + 0-100 score | 1 / email |
| Bulk-verify a LIST — submits, waits, returns one result per email | 1 / email |
| Find ONE business email from name + company domain (best match or not_found) | 10 / find |
| Bulk-find emails for a LIST of contacts (name + domain each) | 10 / contact |
| Check the account's remaining Fox Credit balance | free |
| Poll a long-running | — |
Verify and find are async for large lists: the bulk tools wait ~55s inline, and hand back a jobId to finish via get_job if a job runs longer. Cached verifications cost 0 credits.
Local development
Run straight from source with Bun (no build):
cd mcp
bun install{
"mcpServers": {
"verifox": {
"command": "bun",
"args": ["run", "/FULL/PATH/TO/Verifox-api/mcp/src/index.ts"],
"env": {
"VERIFOX_API_URL": "https://api.verifox.ai",
"VERIFOX_API_KEY": "foxkey_your_key_here"
```json
{
"mcpServers": {
"verifox": {
"command": "bun",
"args": ["run", "/FULL/PATH/TO/Verifox-api/mcp/src/index.ts"],
"env": {
"VERIFOX_API_URL": "https://api.verifox.ai",
"VERIFOX_API_KEY": "foxkey_your_key_here"
}
}
}
}VERIFOX_API_URL defaults to https://api.verifox.ai when unset. For local
development against the API on port 8001, set it to http://localhost:8001.
3. Restart Claude Desktop
The tools will appear in Claude's tool list.
Remote (HTTP) mode
The same server also runs as a streamable-HTTP MCP endpoint (for Smithery,
claude.ai connectors, and other remote MCP clients). Set MCP_TRANSPORT=http
(or a PORT) and it listens on POST /mcp with a GET /health check:
MCP_TRANSPORT=http PORT=8080 node dist/index.js
# or: docker build -t verifox-mcp . && docker run -p 8080:8080 verifox-mcpIn HTTP mode the Verifox API key is read per request from the
Authorization: Bearer <foxkey> header (also accepts x-api-key or ?api_key=)
— so one hosted endpoint serves many users, each on their own credits.
Usage Examples
In Claude Desktop, just ask:
"Scan stripe.com for security issues"
"Check if john@google.com is a valid email"
"Score these emails: admin@stripe.com, test@mailinator.com, john.doe@microsoft.com"
"Find the email for Patrick Collison at stripe.com"
"Run OSINT on tesla.com — find subdomains and emails"
"Test the email server for turnix.co"
"Check DMARC policy for google.com"
Environment Variables
Variable | Default | Description |
|
| Verifox API base URL |
| (empty) | Per-user API key ( |
Generate a foxkey_* key from the Verifox dashboard (API Keys). The key
authenticates every tool call and is the account whose Fox Credits are charged
(verify and find cost 1 credit each; scoring and DNS scans are free).
Available Tools
6 toolsfind_emailAInspect
Find ONE person's business email from their name and company domain. Generates ~50 permutations and SMTP-verifies each, waits for the result, and returns the best match (or not_found). Charges 10 Fox Credits per find.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Company domain, e.g. stripe.com | |
| last_name | Yes | Person's last name | |
| first_name | Yes | Person's first name | |
| middle_name | No | Optional middle name for more permutations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses behavioral details: generates ~50 permutations, performs SMTP verification, returns result or not_found, charges 10 Fox Credits. Since no annotations are provided, the description carries the full burden and does so adequately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no unnecessary words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and no annotations, the description explains the process, result, and credits comprehensively. Lacks details on timeouts or errors, but is otherwise sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all 4 parameters with descriptions (100% coverage). Description adds minor value by noting middle_name is optional for more permutations, but does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States verb 'Find', resource 'business email', and scope 'ONE person's' from name and domain. Clearly distinguishes from siblings like find_emails (plural) and verify_email (verification only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes the process: generates permutations, SMTP-verifies, returns best match or not_found, charges credits. Implies this is for single email finding, but does not explicitly mention when not to use or compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_emailsAInspect
Bulk-find business emails for a LIST of contacts (name + company domain each). Submits the list, waits for completion, and returns the found email per contact. Up to 1000 contacts. Charges 10 Fox Credits per contact. Large lists that don't finish quickly return a jobId to poll with get_job.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Wait for results in this call (default true) | |
| contacts | Yes | Contacts to find emails for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description fully discloses: submission, waiting, returning results, cost, and jobId for large lists. Clearly communicates asynchronous behavior and polling mechanism.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences cover purpose, behavior, and constraints without redundancy. Front-loaded with key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no output schema, description explains return behavior (found email per contact or jobId), limits, and costs. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100%, but description adds context: 'name + company domain' clarifies contacts structure, and 'Submits the list, waits for completion' explains wait parameter behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Bulk-find business emails for a LIST of contacts' with specific inputs (name + company domain). Clearly distinguishes from siblings like find_email (singular) and verify_email(s).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains batch processing, limits (1000 contacts), and cost (10 Fox Credits per contact). Implicitly suggests using for bulk finding vs singular alternatives, but doesn't explicitly state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creditsAInspect
Get the current Fox Credit balance for the Verifox account tied to the API key. Free — no credits charged. Use it to check remaining balance before a big verify/find run (verify = 1 credit/email, find = 10 credits/contact).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key traits: 'Free — no credits charged', indicating no cost or destructive effects. With no annotations provided, the description adequately covers the tool's safe, read-only behavior, though it could mention what happens if no API key is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The action is front-loaded, and every sentence adds value: first states purpose and cost, second provides usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 0-parameter tool with no output schema, the description fully covers what the agent needs to know: what it returns, that it's free, and when to use it. Minor improvement would be explaining the output format or success indicator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema coverage is 100% and no description of parameters is needed. The description adds no parameter specifics, which is appropriate given the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and resource 'current Fox Credit balance', clearly stating what the tool does. It distinguishes itself from sibling tools like verify_email and find_email by focusing on credit balance retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using it 'before a big verify/find run' and provides credit costs for operations (verify=1 credit/email, find=10 credits/contact), guiding the agent on when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jobAInspect
Check an async job started by verify_emails, find_email, or find_emails. Returns results if finished, otherwise the current status. Use the type shown in the submitting tool's response.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Job type: verify_bulk, find_single, or find_bulk | |
| job_id | Yes | Job ID from verify_emails / find_email / find_emails |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it returns results if finished or current status otherwise. No annotations exist, so description carries full burden; it is sufficient for a simple status check. No side effects mentioned but reasonable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with main purpose, no unnecessary words. Efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple polling tool with no output schema, description covers purpose, when to use, and basic behavior. Could mention response format or polling details, but adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds minor context: 'Use the type shown in the submitting tool's response' but mostly repeats schema descriptions. Little extra meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool checks an async job started by specific sibling tools (verify_emails, find_email, find_emails). Verb 'Check' and resource 'async job' are specific, and it distinguishes from siblings that start jobs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use: after starting a job with the mentioned tools. Also instructs to use the type from the submitting tool's response. Lacks when-not-to-use or alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_emailAInspect
Verify whether ONE email address is deliverable. Checks syntax, MX, SMTP, catch-all, disposable, free-provider and role detection, and returns a 0-100 quality score. Charges 1 Fox Credit per uncached email.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email address to verify | ||
| proxy | No | Use a SOCKS5 proxy for the SMTP check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the credit charge per uncached email and lists the checks performed. However, it does not mention potential rate limits or idempotency behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first states the purpose, the second adds details and credit cost. Every sentence is informative with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description covers the main functionality, checks, and credit cost. It implies caching behavior via 'uncached email', which is useful context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds that 'proxy' is for the SMTP check, a minor addition. Baseline of 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Verify whether ONE email address is deliverable' and lists specific checks (syntax, MX, SMTP, etc.), distinguishing it from sibling 'verify_emails' which implies batch processing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it's for single emails by emphasizing 'ONE', but does not explicitly state when to use this tool over alternatives like 'verify_emails' for batch verification. No exclusion or prerequisite guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_emailsAInspect
Bulk-verify a LIST of email addresses. Submits the whole list, waits for completion, and returns one result per email (same fields as verify_email). Best for cleaning lead lists. Charges 1 Fox Credit per email. Large lists that don't finish quickly return a jobId to poll with get_job.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Wait for results in this call (default true). Set false to just get a jobId. | |
| emails | Yes | Email addresses to verify |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behaviors: it waits for completion, handles large lists with a jobId fallback, charges 1 Fox Credit per email, and returns results similar to verify_email. No annotations are provided, so the description carries the full burden; it covers cost and async behavior but does not explicitly state if it is read-only or mutating.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences covering purpose, behavior, cost, and fallback. It could be slightly more structured (e.g., bullet points for parameters) but is efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is relatively complete: it explains the one-result-per-email output format (referencing verify_email) and the jobId polling mechanism. Given no output schema, it provides adequate context for the agent to understand the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value by explaining the wait parameter's default behavior (true) and effect, and notes the list size limits are already in schema. The description goes beyond the schema by clarifying that setting wait false yields a jobId for polling.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool bulk-verifies a list of email addresses, explicitly distinguishing it from the sibling tool verify_email (single email). The verb 'Bulk-verify' and the resource 'list of email addresses' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides good usage context: 'Best for cleaning lead lists' and mentions when to poll with get_job. However, it does not explicitly state when not to use it or contrast with find_email(s) alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a distinct purpose: single vs bulk operations for verify and find, plus a credits check and async job polling. No overlap in functionality.
All tool names follow a consistent verb_noun pattern using snake_case: verify_email, verify_emails, find_email, find_emails, get_credits, get_job.
6 tools is well-scoped for the domain, covering core operations (verify, find, credits, async) without being over- or underwhelming.
Covers all essential email verification and finding workflows, including async polling. Minor gap: no tool to cancel or list async jobs, but not critical.
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 Connectors
Find verified work emails from a name, company, role or LinkedIn URL, and verify emails you have.
Search companies, enrich contacts, and reveal emails and phones from your AI agent.
Verify emails — deliverability, disposable/role/free detection, MX validity, domain age.
Verify emails and domains for routing, disposable providers, role accounts, and SMTP risk.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to verify email addresses through a multi-signal probabilistic pipeline, returning confidence scores and honest statuses (safe/risky/invalid/unknown) with evidence.Apache 2.0

Enrow MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables AI assistants to find and verify professional emails and phone numbers via the Enrow API.1MIT- AlicenseNot gradedqualityDmaintenanceGives AI assistants the power to find verified emails, phone numbers, and rich contact data from 575M+ professionals across 30M+ companies via GrowthToolkit's API.MIT
- AlicenseNot gradedqualityCmaintenanceWraps the Emailable API for email verification, enabling AI agents to verify email addresses through natural language queries.13MIT
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/verifoxturnix1/verifox-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server