Email verification for AI agents: verify single or bulk emails, check credits and history.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a webhook endpoint for verification lifecycle notifications.
The HTTPS endpoint that should receive webhook deliveries.
The webhook event types to subscribe to.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Create a webhook endpoint for verification lifecycle notifications.
| Argument | Type | Description |
|---|---|---|
| url* | string | The HTTPS endpoint that should receive webhook deliveries. |
| events* | array | The webhook event types to subscribe to. |
{
"type": "object",
"required": [
"url",
"events"
],
"properties": {
"url": {
"type": "string",
"description": "The HTTPS endpoint that should receive webhook deliveries."
},
"events": {
"type": "array",
"items": {
"enum": [
"file.completed",
"file.failed"
],
"type": "string"
},
"minItems": 1,
"description": "The webhook event types to subscribe to."
}
}
}Permanently delete a webhook endpoint by identifier. The endpoint stops receiving notifications immediately.
| Argument | Type | Description |
|---|---|---|
| webhook_id* | string | The webhook identifier to delete. |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"webhook_id": {
"type": "string",
"description": "The webhook identifier to delete."
}
}
}Get the current credit balance for the authenticated account.
No arguments.
{
"type": "object"
}Get a signed download URL for completed results, or CSV content when filtered or rebuilt from history.
| Argument | Type | Description |
|---|---|---|
| role | boolean | Include results marked as role-based addresses. |
| valid | boolean | Include results marked as valid. |
| job_id* | string | The completed verification job identifier. |
| invalid | boolean | Include results marked as invalid. |
| unknown | boolean | Include results marked as unknown. |
| catchall | boolean | Include results marked as catchall. |
| disposable | boolean | Include results marked as disposable. |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"role": {
"type": "boolean",
"default": false,
"description": "Include results marked as role-based addresses."
},
"valid": {
"type": "boolean",
"default": false,
"description": "Include results marked as valid."
},
"job_id": {
"type": "string",
"description": "The completed verification job identifier."
},
"invalid": {
"type": "boolean",
"default": false,
"description": "Include results marked as invalid."
},
"unknown": {
"type": "boolean",
"default": false,
"description": "Include results marked as unknown."
},
"catchall": {
"type": "boolean",
"default": false,
"description": "Include results marked as catchall."
},
"disposable": {
"type": "boolean",
"default": false,
"description": "Include results marked as disposable."
}
}
}Get the current status of an asynchronous verification task.
| Argument | Type | Description |
|---|---|---|
| task_id* | string | The task or job identifier returned by a previous verification request. |
{
"type": "object",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string",
"description": "The task or job identifier returned by a previous verification request."
}
}
}List verification history for the authenticated account.
| Argument | Type | Description |
|---|---|---|
| page | number | The page number to retrieve. |
| limit | number | The number of history records to return per page. |
{
"type": "object",
"properties": {
"page": {
"type": "number",
"default": 1,
"minimum": 1,
"description": "The page number to retrieve."
},
"limit": {
"type": "number",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "The number of history records to return per page."
}
}
}Get aggregated verification statistics for the authenticated account.
| Argument | Type | Description |
|---|---|---|
| period | string | The reporting period to query. |
{
"type": "object",
"properties": {
"period": {
"enum": [
"7d",
"30d",
"90d",
"1y"
],
"type": "string",
"default": "30d",
"description": "The reporting period to query."
}
}
}Check the health of the BillionVerify MCP server.
No arguments.
{
"type": "object"
}List all webhook endpoints configured for the authenticated account.
No arguments.
{
"type": "object"
}Verify 1 to 50 email addresses in one request and return a verdict for each. Split longer lists into chunks of 50. Uses credits from the connected BillionVerify account.
| Argument | Type | Description |
|---|---|---|
| emails* | array | The email addresses to verify, with a minimum of 1 item and a maximum of 50 items. |
| check_smtp | boolean | Whether to perform SMTP checks for each email address. |
{
"type": "object",
"required": [
"emails"
],
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"minLength": 3
},
"maxItems": 50,
"minItems": 1,
"description": "The email addresses to verify, with a minimum of 1 item and a maximum of 50 items."
},
"check_smtp": {
"type": "boolean",
"default": false,
"description": "Whether to perform SMTP checks for each email address."
}
}
}Verify whether a single email address can receive mail. Checks syntax and the domain's mail servers, and optionally the mailbox over SMTP. Uses credits from the connected BillionVerify account.
| Argument | Type | Description |
|---|---|---|
| email* | string | The email address to verify. |
| check_smtp | boolean | Whether to perform an SMTP check in addition to syntax and domain checks. |
| force_refresh | boolean | Whether to bypass cached results and force a fresh verification. |
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "The email address to verify."
},
"check_smtp": {
"type": "boolean",
"default": false,
"description": "Whether to perform an SMTP check in addition to syntax and domain checks."
},
"force_refresh": {
"type": "boolean",
"default": false,
"description": "Whether to bypass cached results and force a fresh verification."
}
}
}