agmail
Email inboxes for agents by the hour: wait for a mail, get the code or link. Pay per call.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"agmail": {
"url": "https://agmail.shveik.dev/mcp"
}
}
}远程端点
https://agmail.shveik.dev/mcpstreamable-http它能做什么
工具清单
工具(9)
🟢check_name(name)
Check whether a name is free to use as the local part of an address, before buying an inbox. Free.
输入模式
{
"type": "object",
"properties": {
"name": {
"description": "the local part, 3 to 32 characters: letters, digits, dots, dashes, underscores",
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false
}🟡create_inbox(duration, name)
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.
输入模式
{
"type": "object",
"properties": {
"duration": {
"description": "how long the inbox lasts: 1h, 4h or 24h",
"enum": [
"1h",
"4h",
"24h"
],
"type": "string"
},
"name": {
"description": "the local part of the address; omit it for a random name",
"type": "string"
}
},
"required": [
"duration"
],
"additionalProperties": false
}🟡extend_inbox(duration, inbox_id, secret)
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.
输入模式
{
"type": "object",
"properties": {
"duration": {
"description": "how long the inbox lasts: 1h, 4h or 24h",
"enum": [
"1h",
"4h",
"24h"
],
"type": "string"
},
"inbox_id": {
"description": "the inbox id returned by create_inbox",
"type": "string"
},
"secret": {
"description": "the inbox secret returned by create_inbox",
"type": "string"
}
},
"required": [
"inbox_id",
"secret",
"duration"
],
"additionalProperties": false
}🟢wait_for_message(after, from, inbox_id, secret, subject_contains, ...)
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.
输入模式
{
"type": "object",
"properties": {
"after": {
"description": "only a message with a sequence number above this (the seq of the last one you saw)",
"type": "integer"
},
"from": {
"description": "only a message whose sender contains this text",
"type": "string"
},
"inbox_id": {
"description": "the inbox id returned by create_inbox",
"type": "string"
},
"secret": {
"description": "the inbox secret returned by create_inbox",
"type": "string"
},
"subject_contains": {
"description": "only a message whose subject contains this text",
"type": "string"
},
"timeout": {
"default": 30,
"description": "seconds to wait for a message",
"maximum": 55,
"minimum": 1,
"type": "integer"
}
},
"required": [
"inbox_id",
"secret"
],
"additionalProperties": false
}🟢get_otp(after, from, inbox_id, secret, subject_contains, ...)
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.
输入模式
{
"type": "object",
"properties": {
"after": {
"description": "only a message with a sequence number above this (the seq of the last one you saw)",
"type": "integer"
},
"from": {
"description": "only a message whose sender contains this text",
"type": "string"
},
"inbox_id": {
"description": "the inbox id returned by create_inbox",
"type": "string"
},
"secret": {
"description": "the inbox secret returned by create_inbox",
"type": "string"
},
"subject_contains": {
"description": "only a message whose subject contains this text",
"type": "string"
},
"timeout": {
"default": 30,
"description": "seconds to wait for a message",
"maximum": 55,
"minimum": 1,
"type": "integer"
}
},
"required": [
"inbox_id",
"secret"
],
"additionalProperties": false
}🟢list_messages(after, inbox_id, limit, secret)
List the messages of an inbox (sender, subject, size) after a sequence number. Free; needs the inbox id and secret.
输入模式
{
"type": "object",
"properties": {
"after": {
"description": "only messages with a sequence number above this",
"type": "integer"
},
"inbox_id": {
"description": "the inbox id returned by create_inbox",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"secret": {
"description": "the inbox secret returned by create_inbox",
"type": "string"
}
},
"required": [
"inbox_id",
"secret"
],
"additionalProperties": false
}🟢read_message(inbox_id, message_id, secret)
Read one message of an inbox: its text, codes, links and attachment names. Free; needs the inbox id and secret.
输入模式
{
"type": "object",
"properties": {
"inbox_id": {
"description": "the inbox id returned by create_inbox",
"type": "string"
},
"message_id": {
"description": "the message id from list_messages",
"type": "string"
},
"secret": {
"description": "the inbox secret returned by create_inbox",
"type": "string"
}
},
"required": [
"inbox_id",
"secret",
"message_id"
],
"additionalProperties": false
}🔴delete_inbox(inbox_id, secret)
Delete an inbox and all its mail now. There is no refund. Free; needs the inbox id and secret.
输入模式
{
"type": "object",
"properties": {
"inbox_id": {
"description": "the inbox id returned by create_inbox",
"type": "string"
},
"secret": {
"description": "the inbox secret returned by create_inbox",
"type": "string"
}
},
"required": [
"inbox_id",
"secret"
],
"additionalProperties": false
}⚪feedback(contact, kind, message, route)
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.
输入模式
{
"type": "object",
"properties": {
"contact": {
"description": "optional: how we can reach you or your operator",
"maxLength": 200,
"type": "string"
},
"kind": {
"default": "other",
"enum": [
"bug",
"idea",
"praise",
"other"
],
"type": "string"
},
"message": {
"description": "what worked, what did not, what you miss; no secrets or private data",
"maxLength": 2000,
"type": "string"
},
"route": {
"description": "the route the feedback is about, if any",
"enum": [
"inbox-1h",
"inbox-1h-renew",
"inbox-4h",
"inbox-4h-renew",
"inbox-24h",
"inbox-24h-renew"
],
"type": "string"
}
},
"required": [
"message"
],
"additionalProperties": false
}社区
证据