Skip to main content
Glama
verifoxturnix1

verifox-mcp

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_email

Verify ONE email — SMTP deliverability, catch-all, disposable, role, free + 0-100 score

1 / email

verify_emails

Bulk-verify a LIST — submits, waits, returns one result per email

1 / email

find_email

Find ONE business email from name + company domain (best match or not_found)

10 / find

find_emails

Bulk-find emails for a LIST of contacts (name + domain each)

10 / contact

get_credits

Check the account's remaining Fox Credit balance

free

get_job

Poll a long-running verify_emails / find_email / find_emails job for results

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-mcp

In 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:

Environment Variables

Variable

Default

Description

VERIFOX_API_URL

https://api.verifox.ai

Verifox API base URL

VERIFOX_API_KEY

(empty)

Per-user API key (foxkey_*), sent as x-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 tools
find_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany domain, e.g. stripe.com
last_nameYesPerson's last name
first_nameYesPerson's first name
middle_nameNoOptional middle name for more permutations

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoWait for results in this call (default true)
contactsYesContacts to find emails for

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesJob type: verify_bulk, find_single, or find_bulk
job_idYesJob ID from verify_emails / find_email / find_emails

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address to verify
proxyNoUse a SOCKS5 proxy for the SMTP check

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoWait for results in this call (default true). Set false to just get a jobId.
emailsYesEmail addresses to verify

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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

A4.4/5.0
Disambiguation5/5

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.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case: verify_email, verify_emails, find_email, find_emails, get_credits, get_job.

Tool Count5/5

6 tools is well-scoped for the domain, covering core operations (verify, find, credits, async) without being over- or underwhelming.

Completeness4/5

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

ActivitySlowing
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to find and verify professional emails and phone numbers via the Enrow API.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Wraps the Emailable API for email verification, enabling AI agents to verify email addresses through natural language queries.
    13
    MIT

Latest Blog Posts

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