primitive.dev
primitivedotdev/primitiveEmail infrastructure for AI agents — send, receive, search, and manage email over a clean HTTP API. Connect verified domains, route inbound mail, set up webhooks, and automate email workflows. Authenticate with a Primitive API key or via OAuth.
Watch this dependency
Get before/after evidence when observed tools, schemas, authentication access, availability or the endpoint changes.
Inspect evidence and set up a watch Share public evidence report
Score: 100/100
Handshake verified by our own probe.
why this score
Tools · 14
Use this when you need the authenticated Primitive account summary, including plan, onboarding state, and managed inbox domain. managed_inbox_address is a domain, not a complete mailbox. When it is no…
Check whether inbound email is ready: ready, domains, endpoints, functions, recent_emails and next_actions. Domains are added and verified with the domain management tools at /mcp/full. Result: the in…
What this account can send from, and to whom: ready, sendable_domains, domains with their status, next_actions, and can_send_to, the recipients it may email. Call it before sending outside Primitive o…
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 body text, attachments or replies to a send, …
Find particular inbound emails. Use this when you are looking for specific messages: a full-text query (q) over subject, body, sender and recipient, or structured filters on sender, recipient, subject…
Read one inbound email by id: from, to, subject, preheader, body_text and attachments, each with the part_index getEmailAttachment takes. body_text leaves out quoted history and shows each link as an …
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 confirmed the reply. When you expect an an…
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 from your managed inbox. To send later, set …
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 when a send did not deliver. Read one with…
Read a single sent email by id: status, from, to, subject, body_text and its attachments, plus the error, SMTP response or gate denial when the send did not deliver. Use to inspect delivery details fo…
Wait for the threaded reply to a sent email, when a send did not use await_reply or returned reply_wait.status no_reply_yet. Do not tell the user nobody replied until this returns with reply null. Thr…
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. Returns thread_id, subject, message_count, truncated (message cap…
Read ONE attachment of an email. A text attachment (plain text, CSV, JSON, XML, Markdown, calendar and similar) comes back as text; an HTML attachment comes back reduced to text; a PNG, JPEG, GIF or W…
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. Pass api_key as the `api_key` argument on ev…
Resources · 1
Primitive email console for viewing account, inbox, email, and delivery results returned by Primitive MCP tools.
ui://widget/primitive-email-v1.html
Prompts · 2
Retrieve the latest inbound emails and produce a prioritized triage summary.
Fetch an inbound email and its conversation history, then draft a professional reply.
How to use
Add to your Claude Desktop / Cursor / Cline MCP config:
{
"mcpServers": {
"primitive.dev": {
"url": "https://primitive.dev/mcp",
"transport": "http"
}
}
}