Skip to main content
Glama
BillionVerify

billionverify-mcp

Official

BillionVerify MCP Server — TypeScript

Connect any AI assistant to BillionVerify email verification via the Model Context Protocol. Built with the official MCP TypeScript SDK.


Option 1 — Hosted Server (No Installation)

Use BillionVerify's hosted MCP server. There is nothing to install and no API key to paste: you sign in with your BillionVerify account over OAuth, and the connection is tied to that account.

Server URL

https://mcp.billionverify.com/mcp

Transport

Streamable HTTP

Authentication

OAuth 2.1 (sign in with your BillionVerify account)

The hosted server does not accept API keys (?api_key=, BV-API-KEY or Authorization: Bearer <api key> are all rejected). If you want to use an API key, use Option 2.

Detailed step-by-step guide: docs/connect-chatgpt-claude.md.

ChatGPT (web)

  1. Settings → Apps & Connectors → Advanced settings → turn on Developer mode.

  2. Settings → Apps & Connectors → Create.

  3. Name BillionVerify, MCP server URL https://mcp.billionverify.com/mcp, authentication OAuth → create.

  4. Sign in to BillionVerify in the window that opens and approve access.

  5. In a new chat, click + → Developer mode → enable BillionVerify.

Claude (claude.ai / Claude Desktop)

  1. Customize → Connectors → + → Add custom connector.

  2. Name BillionVerify, URL https://mcp.billionverify.com/mcp → Add (leave Advanced settings empty).

  3. Click Connect, sign in to BillionVerify and approve access.

  4. In a chat, click + → Connectors and make sure BillionVerify is on.

Team / Enterprise: an Owner adds the connector under Organization settings → Connectors, then each member clicks Connect.

Claude Code

claude mcp add --transport http billionverify https://mcp.billionverify.com/mcp

Then run /mcp inside Claude Code, select billionverify and finish the sign-in in your browser.

Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project), then click Connect next to the server in Settings → MCP:

{
  "mcpServers": {
    "billionverify": {
      "url": "https://mcp.billionverify.com/mcp"
    }
  }
}

Related MCP server: Tratto MCP Server

Option 2 — Self-Hosted (TypeScript / Node.js)

Run your own MCP server using this TypeScript implementation.

Prerequisites

  • Node.js 18+

Run via npx (no install)

BILLIONVERIFY_API_KEY=your_api_key npx billionverify-mcp

Claude Desktop config (self-hosted)

{
  "mcpServers": {
    "billionverify": {
      "command": "npx",
      "args": ["-y", "billionverify-mcp"],
      "env": {
        "BILLIONVERIFY_API_KEY": "your_api_key_here"
      }
    }
  }
}

Install globally

npm install -g billionverify-mcp
billionverify-mcp

Install from source

git clone https://github.com/BillionVerify/billionverify-mcp.git
cd billionverify-mcp
npm install
npm run build
npm start

Environment Variables

Variable

Description

Default

BILLIONVERIFY_API_KEY

Your BillionVerify API key

—

BILLIONVERIFY_API_URL

API base URL override

https://api.billionverify.com


Available Tools

Tool

Description

verify_single_email

Verify a single email address in real-time

verify_batch_emails

Verify up to 50 emails in one request

get_account_balance

Check your credit balance

get_verification_history

List verification history (paginated)

get_verification_stats

Aggregated statistics for 7d / 30d / 90d / 1y

get_task_status

Poll the status of an async file verification job

get_download_url

Get download URL for results with status filters

create_webhook

Subscribe to file completion events

list_webhooks

List all configured webhooks

delete_webhook

Remove a webhook

health_check

Check server health


License

MIT

Available Tools

11 tools
create_webhookB

Create a webhook to receive file verification completion notifications

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesHTTPS URL to receive webhook events
eventsYesEvents to subscribe to
api_keyNoBillionVerify API key (optional if BILLIONVERIFY_API_KEY env is set)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description should disclose behavioral traits. It only states 'Create a webhook' without mentioning duplication handling, required permissions, or any side effects of creation.

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 a single, short sentence that is concise and front-loaded. It could be slightly more informative but does not waste words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the moderate complexity (3 parameters, no output schema), the description is adequate but lacks context on error states, idempotency, or how to use the tool effectively.

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 description coverage is 100%, so the schema already documents all three parameters. The description adds no extra meaning beyond what the schema provides, meeting 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 clearly states the tool creates a webhook for file verification completion notifications. It uses a specific verb and resource, and distinguishes from siblings like delete_webhook or list_webhooks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives, such as when to create a webhook versus get_task_status for polling. No prerequisites or exclusions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_webhookB

Delete a webhook by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoBillionVerify API key (optional if BILLIONVERIFY_API_KEY env is set)
webhook_idYesThe webhook ID to delete

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description fails to disclose whether deletion is permanent, required permissions, or any side effects. It only states the basic action without behavioral depth.

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?

Single sentence, front-loaded with verb and resource, no extraneous words. Concise but lacks some detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple deletion tool with well-documented parameters, but misses contextual notes like permanence or that the webhook ID should come from list_webhooks.

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 clear parameter descriptions, so baseline is 3. The tool description adds no extra meaning 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?

The description clearly states the action (delete) and resource (webhook) with identifier (by ID), differentiating it well from sibling tools like create_webhook and list_webhooks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool, prerequisites (e.g., webhook must exist), or alternatives. The description lacks any context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_account_balanceA

Get the current credit balance for your BillionVerify account

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoBillionVerify API key (optional if BILLIONVERIFY_API_KEY env is set)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It correctly indicates a read-only operation ('Get'), but fails to disclose any behavioral traits such as rate limits, authentication requirements beyond the optional api_key, or side effects.

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?

The description is a single, efficient sentence that conveys the tool's purpose without unnecessary words. It is front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description should ideally note what format the credit balance is returned in (e.g., numeric value, currency). The tool is simple, but the lack of return value information leaves a gap.

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 description coverage is 100% for the single parameter (api_key). The description does not add additional meaning beyond what the schema already provides, resulting in a baseline score.

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 specific action ('Get') and resource ('current credit balance for your BillionVerify account'), distinguishing it from sibling tools like verify emails or webhook management.

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?

No explicit guidance on when to use this tool versus alternatives is provided. The context is simple enough that usage may be implied, but the absence of conditions or exclusions prevents a higher score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_download_urlB

Get the download URL for file verification results with optional status filters

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoInclude role-based emails
validNoInclude valid emails
job_idYesThe job ID of the completed file verification
api_keyNoBillionVerify API key (optional if BILLIONVERIFY_API_KEY env is set)
invalidNoInclude invalid emails
unknownNoInclude unknown emails
catchallNoInclude catch-all emails
disposableNoInclude disposable emails

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It mentions optional filters but does not disclose that the job must be completed, auth requirements beyond the api_key parameter, or what the download URL behavior is (e.g., direct download, temporary link).

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?

A single, front-loaded sentence with no redundant information. Every word contributes to the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 100% schema coverage, the description lacks context about when to call the tool (post-job), what the return value contains (just a URL or data?), and how the status filters alter the URL. No output schema or annotations exacerbate the gap.

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 all parameters. The description adds 'optional status filters' but does not explain how the filters combine or the meaning of the download URL. Baseline 3 is appropriate.

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 retrieves a download URL for file verification results, using a specific verb and resource. It distinguishes from sibling tools like verify_batch_emails and get_task_status, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites like job completion or contrast with get_task_status for checking status.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_task_statusA

Get the status and progress of an async file verification job

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoBillionVerify API key (optional if BILLIONVERIFY_API_KEY env is set)
task_idYesThe job/task ID returned from a file upload

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It adds the 'async' context hinting at non-immediate completion, but does not disclose potential side effects, authentication requirements, or error scenarios.

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 a single sentence of 10 words, front-loading the purpose without wasted words. Slightly more structure could improve readability but it is concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should indicate the return value. It mentions 'status and progress' but does not specify fields or format, leaving agents underinformed about what to expect.

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?

Both parameters have full descriptions in the input schema, so the description adds no extra meaning beyond that. Baseline of 3 is appropriate.

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 verb 'Get', the resource 'status and progress', and the context 'async file verification job'. It effectively distinguishes from sibling tools like verify_single_email which initiate verification.

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 that the tool is used after a file upload to check job progress, but it does not explicitly state when to use it versus alternatives or provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_verification_historyC

List verification history for your BillionVerify account

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoThe page number to retrieve
limitNoThe number of history records to return per page
api_keyNoBillionVerify API key (optional if BILLIONVERIFY_API_KEY env is set)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'List' does imply a read-only operation, but the description discloses nothing else — no mention of authentication expectations, pagination/ordering behavior, result limits, or what the returned records contain. The bare verb is the minimum possible disclosure.

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?

A single seven-word sentence with zero filler, front-loaded with the verb and resource. Every word earns its place and the purpose is immediately parseable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations, and the description says nothing about the response shape, ordering, or how far back history extends. Against a field of 10 siblings, it also fails to disambiguate from get_verification_stats. For a simple list tool the gap is moderate, but the description is thinner than it should be given the missing structured 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 description coverage is 100%, so the schema fully documents page, limit, and api_key. The description adds only marginal context ('your account' loosely ties to api_key) but does not enrich parameter semantics beyond what the schema already provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (verification history) with a clear account scope. The purpose is unambiguous and readable at a glance, but it does not explicitly differentiate from the closely related sibling get_verification_stats — the distinction between 'history' and 'stats' is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. With siblings like get_verification_stats and verify_single_email, the agent gets no help choosing between a chronological history list and aggregated statistics, and no exclusions or prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_verification_statsC

Get aggregated verification statistics for your BillionVerify account

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoThe reporting period to query30d
api_keyNoBillionVerify API key (optional if BILLIONVERIFY_API_KEY env is set)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full burden of behavioral disclosure. While 'Get' implies a read-only operation, nothing is said about API credit consumption, rate limits, authentication requirements beyond the api_key param, or the structure of the returned statistics. This is a significant gap for a retrieval tool.

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 a single, efficiently worded sentence with no redundancy, and the core action is front-loaded. It earns points for brevity, though it sacrifices necessary detail—which is a completeness issue, not a conciseness one.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should clarify what the aggregated statistics include (e.g., counts, deliverability rates, breakdowns), but it does not. It also fails to explain how this differs from get_verification_history, leaving an agent uncertain about expected results.

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 description coverage is 100%, so the baseline is 3. The schema already documents period (enum with default) and api_key (optional with fallback to env). The description adds no additional parameter context, but it doesn't need to because the schema handles it fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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 ('aggregated verification statistics') scoped to the user's account. The word 'aggregated' subtly distinguishes it from sibling get_verification_history, though it does not name the alternative explicitly. This is clear enough for an agent to recognize the tool's general purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus get_verification_history, get_account_balance, or other siblings. The description provides no context about reporting needs, prerequisites, or exclusions. An agent would have to infer use cases, which is insufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

health_checkA

Check the BillionVerify MCP server health status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, placing full burden on description. It only states the purpose without disclosing what constitutes health, possible responses (e.g., status codes, message), or behavior under failure. Minimal behavioral context.

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?

A single sentence that is front-loaded with the verb and resource. No unnecessary words; every word earns its place.

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 the tool's simplicity (0 params, no output schema), the description is largely sufficient. However, it could mention what the response contains (e.g., status, timestamp) for better completeness.

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?

The tool has 0 parameters and schema description coverage is 100%. Baseline for 0 params is 4. The description adds no parameter-specific info but none is needed.

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 action ('check') and the resource ('BillionVerify MCP server health status'). It distinguishes this tool from all siblings which perform other operations like webhook management or email verification.

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 usage for verifying server availability but provides no explicit guidance on when to use (e.g., before other calls) or when not. No alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_webhooksB

List all webhooks for your BillionVerify account

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoBillionVerify API key (optional if BILLIONVERIFY_API_KEY env is set)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as rate limits, authentication requirements beyond 'account', or whether the list is paginated. The tool is read-only, but the description does not explicitly state this.

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?

The description is a single, concise sentence with no unnecessary words. It efficiently conveys the tool's purpose.

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 the tool's low complexity (one optional parameter, no output schema), the description is fairly complete. It could be improved by mentioning that it returns all webhooks (if no pagination) or the response format, but overall it suffices.

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 one parameter (api_key) described in the schema. The description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

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 'List all webhooks for your BillionVerify account', using a specific verb (list) and resource (webhooks). It distinguishes itself from sibling tools like create_webhook and delete_webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not specify that it retrieves all webhooks with no filtering capabilities, nor does it mention any prerequisites or alternatives like create_webhook.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_batch_emailsC

Verify multiple email addresses (up to 50)

ParametersJSON Schema
NameRequiredDescriptionDefault
emailsYesList of email addresses to verify (max 50)
api_keyNoBillionVerify API key (optional if BILLIONVERIFY_API_KEY env is set)
check_smtpNoPerform SMTP verification

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not explain what 'verify' entails (e.g., format only, domain, SMTP), nor does it mention costs, rate limits, or error 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?

The description is a single sentence with no wasted words, efficiently conveying the core function and batch limit.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite low complexity (3 parameters), the description lacks information about output format, verification depth, and error handling, making it incomplete for effective use.

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 description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it verifies multiple email addresses and includes a batch size limit of 50. However, it does not differentiate from its sibling tool 'verify_single_email'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use batch vs single verification, or any prerequisites or limitations beyond the batch size.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_single_emailB

Verify a single email address

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe email address to verify
api_keyNoBillionVerify API key (optional if BILLIONVERIFY_API_KEY env is set)
check_smtpNoPerform SMTP verification
force_refreshNoBypass cache and force fresh verification

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description lacks behavioral details such as network calls, caching, rate limits, or what verification entails (e.g., SMTP check hinted in schema but not explained).

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?

Single sentence, no wasted words. Could benefit from slightly more detail but remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, no annotations, and description omits return format, error handling, or async behavior. Incomplete for a tool with 4 parameters.

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 description coverage is 100%, so baseline 3. Description adds no extra parameter 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?

Description clearly states it verifies a single email address, distinguishing it from sibling verify_batch_emails. Specific verb and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like verify_batch_emails. Does not mention prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.1.0
    • Addedget_verification_history
    • Addedget_verification_stats
  2. 9 tool updatesv1.0.0
    • First observedcreate_webhook
    • First observeddelete_webhook
    • First observedget_account_balance
    • First observedget_download_url
    • First observedget_task_status
    • First observedhealth_check
    • First observedlist_webhooks
    • First observedverify_batch_emails
    • First observedverify_single_email

TDQS

A3.6/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct action and resource: health, webhook CRUD, single vs batch verification, history vs stats, task status vs download URL, and account balance. The only close pair is single vs batch, but the descriptions clearly differentiate by count.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (health_check, create_webhook, verify_single_email, get_task_status). The verbs are predictable and the nouns are clear, with no style mixing.

Tool Count5/5

11 tools is well within the ideal 3-15 range for a focused email verification service. Each tool has a clear role and none feel redundant or excessive.

Completeness4/5

The tool surface covers the main workflows: single/batch verification, history/stats, account balance, and webhook management. However, the presence of get_task_status and get_download_url implies file-based verification, yet there is no tool to initiate such a job, leaving a minor gap.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to send emails and manage sending domains, templates, analytics, and content checks through the SendByte platform using the Model Context Protocol.
    11
    13 npm
    MIT
  • F
    license
    A
    quality
    F
    maintenance
    Lets AI tools send transactional emails, check status, and manage contacts through the Model Context Protocol.
    2
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to verify email deliverability and find business emails via the Verifox API, supporting single and bulk operations.
    6
    44 npm
    MIT