Email inboxes for agents by the hour: wait for a mail, get the code or link. Pay per call.
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.
Check whether a name is free to use as the local part of an address, before buying an inbox. Free.
the local part, 3 to 32 characters: letters, digits, dots, dashes, underscores
Check whether a name is free to use as the local part of an address, before buying an inbox. Free.
| Argument | Type | Description |
|---|---|---|
| name* | string | the local part, 3 to 32 characters: letters, digits, dots, dashes, underscores |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "the local part, 3 to 32 characters: letters, digits, dots, dashes, underscores"
}
},
"additionalProperties": false
}Buy an email address for an hour, four hours or a day: [email protected] with the name you choose (or a random one). Paid in stablecoins with x402: call it without a payment to get the quote, then again with the signed payment in _meta. The result has the inbox id and the secret (shown once, keep it); the inbox takes mail once the payment has settled.
| Argument | Type | Description |
|---|---|---|
| name | string | the local part of the address; omit it for a random name |
| duration* | string | how long the inbox lasts: 1h, 4h or 24h |
{
"type": "object",
"required": [
"duration"
],
"properties": {
"name": {
"type": "string",
"description": "the local part of the address; omit it for a random name"
},
"duration": {
"enum": [
"1h",
"4h",
"24h"
],
"type": "string",
"description": "how long the inbox lasts: 1h, 4h or 24h"
}
},
"additionalProperties": false
}Delete an inbox and all its mail now. There is no refund. Free; needs the inbox id and secret.
| Argument | Type | Description |
|---|---|---|
| secret* | string | the inbox secret returned by create_inbox |
| inbox_id* | string | the inbox id returned by create_inbox |
{
"type": "object",
"required": [
"inbox_id",
"secret"
],
"properties": {
"secret": {
"type": "string",
"description": "the inbox secret returned by create_inbox"
},
"inbox_id": {
"type": "string",
"description": "the inbox id returned by create_inbox"
}
},
"additionalProperties": false
}Extend an inbox you own by one, four or twenty-four hours, keeping its address and its mail. Paid in stablecoins with x402 like create_inbox. Needs the inbox id and its secret. An inbox cannot be paid for more than 72 hours ahead.
| Argument | Type | Description |
|---|---|---|
| secret* | string | the inbox secret returned by create_inbox |
| duration* | string | how long the inbox lasts: 1h, 4h or 24h |
| inbox_id* | string | the inbox id returned by create_inbox |
{
"type": "object",
"required": [
"inbox_id",
"secret",
"duration"
],
"properties": {
"secret": {
"type": "string",
"description": "the inbox secret returned by create_inbox"
},
"duration": {
"enum": [
"1h",
"4h",
"24h"
],
"type": "string",
"description": "how long the inbox lasts: 1h, 4h or 24h"
},
"inbox_id": {
"type": "string",
"description": "the inbox id returned by create_inbox"
}
},
"additionalProperties": false
}Free. Tell the people who run this service what worked, what failed or what you miss: a bug, an idea or a thanks. A person reads it. No payment, no account; limited to a few messages an hour.
| Argument | Type | Description |
|---|---|---|
| kind | string | |
| route | string | the route the feedback is about, if any |
| contact | string | optional: how we can reach you or your operator |
| message* | string | what worked, what did not, what you miss; no secrets or private data |
{
"type": "object",
"required": [
"message"
],
"properties": {
"kind": {
"enum": [
"bug",
"idea",
"praise",
"other"
],
"type": "string",
"default": "other"
},
"route": {
"enum": [
"inbox-1h",
"inbox-1h-renew",
"inbox-4h",
"inbox-4h-renew",
"inbox-24h",
"inbox-24h-renew"
],
"type": "string",
"description": "the route the feedback is about, if any"
},
"contact": {
"type": "string",
"maxLength": 200,
"description": "optional: how we can reach you or your operator"
},
"message": {
"type": "string",
"maxLength": 2000,
"description": "what worked, what did not, what you miss; no secrets or private data"
}
},
"additionalProperties": false
}Wait for a message that carries a verification code or link and return only the code and the link. Free; needs the inbox id and secret.
| Argument | Type | Description |
|---|---|---|
| from | string | only a message whose sender contains this text |
| after | integer | only a message with a sequence number above this (the seq of the last one you saw) |
| secret* | string | the inbox secret returned by create_inbox |
| timeout | integer | seconds to wait for a message |
| inbox_id* | string | the inbox id returned by create_inbox |
| subject_contains | string | only a message whose subject contains this text |
{
"type": "object",
"required": [
"inbox_id",
"secret"
],
"properties": {
"from": {
"type": "string",
"description": "only a message whose sender contains this text"
},
"after": {
"type": "integer",
"description": "only a message with a sequence number above this (the seq of the last one you saw)"
},
"secret": {
"type": "string",
"description": "the inbox secret returned by create_inbox"
},
"timeout": {
"type": "integer",
"default": 30,
"maximum": 55,
"minimum": 1,
"description": "seconds to wait for a message"
},
"inbox_id": {
"type": "string",
"description": "the inbox id returned by create_inbox"
},
"subject_contains": {
"type": "string",
"description": "only a message whose subject contains this text"
}
},
"additionalProperties": false
}List the messages of an inbox (sender, subject, size) after a sequence number. Free; needs the inbox id and secret.
| Argument | Type | Description |
|---|---|---|
| after | integer | only messages with a sequence number above this |
| limit | integer | |
| secret* | string | the inbox secret returned by create_inbox |
| inbox_id* | string | the inbox id returned by create_inbox |
{
"type": "object",
"required": [
"inbox_id",
"secret"
],
"properties": {
"after": {
"type": "integer",
"description": "only messages with a sequence number above this"
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"secret": {
"type": "string",
"description": "the inbox secret returned by create_inbox"
},
"inbox_id": {
"type": "string",
"description": "the inbox id returned by create_inbox"
}
},
"additionalProperties": false
}Read one message of an inbox: its text, codes, links and attachment names. Free; needs the inbox id and secret.
| Argument | Type | Description |
|---|---|---|
| secret* | string | the inbox secret returned by create_inbox |
| inbox_id* | string | the inbox id returned by create_inbox |
| message_id* | string | the message id from list_messages |
{
"type": "object",
"required": [
"inbox_id",
"secret",
"message_id"
],
"properties": {
"secret": {
"type": "string",
"description": "the inbox secret returned by create_inbox"
},
"inbox_id": {
"type": "string",
"description": "the inbox id returned by create_inbox"
},
"message_id": {
"type": "string",
"description": "the message id from list_messages"
}
},
"additionalProperties": false
}Wait until a message arrives in an inbox (up to 55 seconds) and return it with its text, codes and links. Returns at once if a matching message is already there. Free; needs the inbox id and secret.
| Argument | Type | Description |
|---|---|---|
| from | string | only a message whose sender contains this text |
| after | integer | only a message with a sequence number above this (the seq of the last one you saw) |
| secret* | string | the inbox secret returned by create_inbox |
| timeout | integer | seconds to wait for a message |
| inbox_id* | string | the inbox id returned by create_inbox |
| subject_contains | string | only a message whose subject contains this text |
{
"type": "object",
"required": [
"inbox_id",
"secret"
],
"properties": {
"from": {
"type": "string",
"description": "only a message whose sender contains this text"
},
"after": {
"type": "integer",
"description": "only a message with a sequence number above this (the seq of the last one you saw)"
},
"secret": {
"type": "string",
"description": "the inbox secret returned by create_inbox"
},
"timeout": {
"type": "integer",
"default": 30,
"maximum": 55,
"minimum": 1,
"description": "seconds to wait for a message"
},
"inbox_id": {
"type": "string",
"description": "the inbox id returned by create_inbox"
},
"subject_contains": {
"type": "string",
"description": "only a message whose subject contains this text"
}
},
"additionalProperties": false
}