Read verification codes (OTP) and test email sent to your catch-all test hostnames.
Maintained bymailbots.top(verified)Also a maintainer?
Call this server's tools from your browser. Nothing to install.
Bearer followed by a MailBots API key from Dashboard > Developer (trial or paid plan).
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.
Return the newest message sent to an address and the verification code (OTP) extracted from it. Returns found=false when nothing has arrived yet; wait a few seconds and retry.
Full recipient address, e.g. [email protected]. Case-insensitive.
Optional ISO 8601 time. Ignore messages received before it, e.g. the moment the test started.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http mailbots https://api.mailbots.top/v1/mcp \ --header 'Authorization: Bearer YOUR_TOKEN'
Headers
Authorization (required): Bearer followed by a MailBots API key from Dashboard > Developer (trial or paid plan).Return the newest message sent to an address and the verification code (OTP) extracted from it. Returns found=false when nothing has arrived yet; wait a few seconds and retry.
| Argument | Type | Description |
|---|---|---|
| to* | string | Full recipient address, e.g. [email protected]. Case-insensitive. |
| since | string | Optional ISO 8601 time. Ignore messages received before it, e.g. the moment the test started. |
{
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Full recipient address, e.g. [email protected]. Case-insensitive."
},
"since": {
"type": "string",
"description": "Optional ISO 8601 time. Ignore messages received before it, e.g. the moment the test started."
}
},
"additionalProperties": false
}Return one message by id, including its plain-text body (truncated to 20,000 characters).
| Argument | Type | Description |
|---|---|---|
| id* | string | Message id from list_messages or get_latest_otp. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Message id from list_messages or get_latest_otp."
}
},
"additionalProperties": false
}List the hostnames this API key can receive mail on, with their status. Any address at an active hostname reaches the inbox.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}List recent messages, newest first, optionally only those sent to one address. Returns metadata and the OTP, not the body.
| Argument | Type | Description |
|---|---|---|
| to | string | Full recipient address, e.g. [email protected]. Case-insensitive. |
| limit | integer | How many messages to return (default 10). |
{
"type": "object",
"properties": {
"to": {
"type": "string",
"description": "Full recipient address, e.g. [email protected]. Case-insensitive."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "How many messages to return (default 10)."
}
},
"additionalProperties": false
}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 7, 2026.