GrabMail disposable email
Disposable email for agents: create an inbox, wait for the message, read the code. No key needed.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"mcp": {
"url": "https://grabmail.io/mcp"
}
}
}远程端点
https://grabmail.io/mcpstreamable-http它能做什么
工具清单
工具(6)
🟡create_inbox(domain, prefix)
Invent a fresh, unused disposable email address you can give out immediately. Nothing is created or reserved server-side — an address exists as soon as mail arrives at it — so this never fails and needs no account. Public domains: grabmail.io, mixozia.com, linqmail.com, plimbox.com, mavobox.com, plupmail.com, zonkbox.com, wazbox.com. With a paid key sent as Authorization: Bearer, a premium-pool domain from list_domains works too.
输入模式
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Which domain to use: a public domain (grabmail.io, mixozia.com, linqmail.com, plimbox.com, mavobox.com, plupmail.com, zonkbox.com, wazbox.com), or, with a paid key, one of the premium-pool domains returned by list_domains. Defaults to grabmail.io."
},
"prefix": {
"type": "string",
"maxLength": 40,
"description": "Optional readable prefix; a random suffix is added so it stays unique."
}
},
"additionalProperties": false
}🟢list_domains
The public domains anyone may use. A domain of your own needs no account or key either — just an MX record pointing here. These public domains are on disposable-mail blocklists; if a form rejects them, see the premium pool noted in the result. With a paid key sent as Authorization: Bearer, the result also lists the premium-pool domain names.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_messages(address, limit, before)
Everything waiting at an address, newest first. Returns immediately, including when the mailbox is empty — use wait_for_message if you are expecting something that has not arrived yet.
输入模式
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The full address, e.g. [email protected]"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"before": {
"type": "string",
"description": "Cursor from a previous call, to read older messages."
}
},
"required": [
"address"
],
"additionalProperties": false
}🟢read_message(address, id)
The full message: sender, subject, plain text, HTML and any attachments. This is where a confirmation code or a sign-in link will be. Read `text`: when the sender shipped HTML only, as most transactional mail does, it holds a plain-text rendering of that HTML rather than nothing, with link targets and image alt text kept.
输入模式
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The full address, e.g. [email protected]"
},
"id": {
"type": "string",
"description": "The message id from list_messages or wait_for_message."
}
},
"required": [
"address",
"id"
],
"additionalProperties": false
}🟡wait_for_message(address, timeout_seconds, from_contains, subject_contains, since_id)
Blocks until a new message arrives at the address, then returns it in full — the tool to use after submitting a sign-up form. Waits at most 25 seconds and then returns with timed_out set to true; call it again to keep waiting. Optionally waits for a message from a particular sender or with particular words in the subject, ignoring anything else that arrives.
输入模式
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The full address, e.g. [email protected]"
},
"timeout_seconds": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 25
},
"from_contains": {
"type": "string",
"description": "Only accept a message whose sender contains this."
},
"subject_contains": {
"type": "string",
"description": "Only accept a message whose subject contains this."
},
"since_id": {
"type": "string",
"description": "Ignore this message and anything older; pass the newest id you have already seen."
}
},
"required": [
"address"
],
"additionalProperties": false
}🔴delete_message(address, id)
Remove a message now rather than waiting for it to expire. Idempotent.
输入模式
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The full address, e.g. [email protected]"
},
"id": {
"type": "string"
}
},
"required": [
"address",
"id"
],
"additionalProperties": false
}社区
证据