Check if an email address is real before you send, with a plain-English reason for every result.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Your BounceLayer API key (starts with bl_live_). Optional: without one, call create_agent_account to get a key with free credits.
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.
Cancel a pending or processing bulk job and release any reserved credits. Requires an API key.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http mcp https://api.bouncelayer.com/mcp/
Headers
X-API-Key (optional, not in the config above): Your BounceLayer API key (starts with bl_live_). Optional: without one, call create_agent_account to get a key with free credits.Cancel a pending or processing bulk job and release any reserved credits. Requires an API key.
| Argument | Type | Description |
|---|---|---|
| job_id* | string |
{
"type": "object",
"title": "cancel_bulk_jobArguments",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"title": "Job Id"
}
}
}Get your own BounceLayer API key without a person signing up first. No API key needed. Returns an API key with a few free credits and a claim_url. Use the key in the 'X-API-Key' header (reconnect this MCP server with it). Give claim_url to the person you work for: when they open it and set an email and password, the account becomes theirs and gets the full free monthly checks. The key and claim link are shown only once. Limited per network and site-wide.
| Argument | Type | Description |
|---|---|---|
| label | any |
{
"type": "object",
"title": "create_agent_accountArguments",
"properties": {
"label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Label",
"default": null
}
}
}Return BounceLayer's machine-readable discovery URLs (OpenAPI, docs, auth.md, well-known metadata). No API key required.
No arguments.
{
"type": "object",
"title": "get_api_discoveryArguments",
"properties": {}
}Get the status, progress, and (when complete) results of a bulk job by its job_id. Requires an API key.
| Argument | Type | Description |
|---|---|---|
| job_id* | string |
{
"type": "object",
"title": "get_bulk_jobArguments",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"title": "Job Id"
}
}
}Return your current credit balance and lifetime usage. Requires an API key.
No arguments.
{
"type": "object",
"title": "get_credit_balanceArguments",
"properties": {}
}List your recent bulk verification jobs (paginated, newest first). Optionally filter by status. Requires an API key.
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| status | any | |
| page_size | integer |
{
"type": "object",
"title": "list_bulk_jobsArguments",
"properties": {
"page": {
"type": "integer",
"title": "Page",
"default": 1
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status",
"default": null
},
"page_size": {
"type": "integer",
"title": "Page Size",
"default": 20
}
}
}Queue a list of emails for asynchronous verification. Reserves up to N credits (final charge settles on completion). Poll get_bulk_job for status and results. Optionally provide webhook_url for a completion callback. Requires an API key. Returns {job_id, status, total_emails, credits_reserved}.
| Argument | Type | Description |
|---|---|---|
| emails* | array | |
| webhook_url | any |
{
"type": "object",
"title": "submit_bulk_verificationArguments",
"required": [
"emails"
],
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string"
},
"title": "Emails"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Webhook Url",
"default": null
}
}
}Verify a single email's deliverability (syntax, DNS/MX, SMTP mailbox, disposable / role / catch-all detection, confidence score). Costs 1 credit for a billable result (valid/invalid/catch_all/disposable/do_not_mail), whether fresh or served from cache. `unknown` results are free. Requires an API key. Returns {success, credits_used, result}.
| Argument | Type | Description |
|---|---|---|
| email* | string |
{
"type": "object",
"title": "verify_emailArguments",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"title": "Email"
}
}
}Check one email WITHOUT an API key: format, common typos, throwaway domains, role and free-provider addresses, and whether the domain has mail servers (MX). It never contacts the mailbox, so a good address comes back "unknown", not "valid"; use verify_email for a real answer. Limited per IP. Returns {success, credits_used: 0, result}.
| Argument | Type | Description |
|---|---|---|
| email* | string |
{
"type": "object",
"title": "verify_email_demoArguments",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"title": "Email"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 6, 2026.