{
 "voice": "One card of the book.",
 "agent": {
  "slug": "email",
  "name": "email",
  "specialty": null,
  "description": "Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-10-25T23:09:19.221Z",
  "card": "/agent/email",
  "url": "https://allagents.app/agent/email",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://www.primitive.dev/mcp",
   "site": "https://www.primitive.dev"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://www.primitive.dev",
   "hire": null
  },
  "bubble": "closed",
  "score": 66,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-10-26",
   "total": 14,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "getAccount",
     "description": "The authenticated Primitive account. managed_inbox_address is a domain, not a mailbox; sender_address (such as agent@pink-ram.primitive.email) is the mailbox…"
    },
    {
     "name": "getInboxStatus",
     "description": "Check whether inbound email is ready. Domains are added and verified with the domain management tools at /mcp/full. Result: ready, receiving_ready…"
    },
    {
     "name": "getOutboundStatus",
     "description": "What this account can send from, and to whom. Call it before sending outside Primitive or from a domain other than the managed inbox. Result: ready, summary…"
    },
    {
     "name": "listEmails",
     "description": "Page through inbound email newest first, or tail new mail with since and wait. Filters by domain, status, date and sender, recipient or subject words; for…"
    },
    {
     "name": "searchEmails",
     "description": "Find particular inbound emails: a full-text query (q) over subject, body, sender and recipient, or filters on sender, recipient, subject, body, attachments…"
    },
    {
     "name": "getEmail",
     "description": "Read one inbound email by id; read its attachments with getEmailAttachment. By default body_text leaves out quoted history and shows each link as an [n]…"
    },
    {
     "name": "replyToEmail",
     "description": "Reply to one inbound email, threaded server-side. This sends a real email immediately and it cannot be undone or recalled, so call it only after the user has…"
    },
    {
     "name": "sendEmail",
     "description": "Send a new email. It goes out immediately (or at scheduled_at) and cannot be recalled, so confirm the message with the user first. Leave `from` out to send…"
    },
    {
     "name": "listSentEmails",
     "description": "List sent emails to audit delivery. Rows carry id, thread_id, created_at, status, from, to, subject and snippet, plus error_code, smtp_response_code or gates…"
    },
    {
     "name": "getSentEmail",
     "description": "Read a single sent email by id, to inspect its delivery, such as the SMTP response on a bounced send or the gate denial on a gate_denied one. Pass full: true…"
    },
    {
     "name": "awaitReply",
     "description": "Wait for the threaded reply to a sent email (an id sendEmail or replyToEmail returned) when that send's own wait got none. Do not tell the user nobody replied…"
    },
    {
     "name": "getConversation",
     "description": "Read a whole conversation with message bodies: the tool for finding out what was said. Pass the id of any inbound email in the thread. Each message has a…"
    },
    {
     "name": "getEmailAttachment",
     "description": "Read ONE attachment of an email. A text file (plain text, CSV, JSON, XML, Markdown, calendar and similar) comes back as text, HTML reduced to text; a PNG…"
    },
    {
     "name": "createEmailAddress",
     "description": "Create an email account with no signup and get its api_key; call this first when you have no Primitive API key and the user wants to send or receive email…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://www.primitive.dev/mcp",
   "answers": true,
   "checked": "2026-10-26T05:54:55.876Z",
   "http": 401,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-10-26T06:37:59.981Z",
     "since": "2026-10-26T06:37:59.981Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-10-26T06:37:59.981Z",
    "since": "2026-10-26T06:37:59.981Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 401,
   "checked": "2026-10-26T05:54:55.876Z"
  }
 }
}