MCP serverdev.primitive/email
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Overview
Score?
UNRATED 0.672
of what a free look can see, on 30 looks
Looks
36
last 19 min ago
Tools
30
changed 3 days ago
More info
URL
www.primitive.dev/mcp
streamable-http
Says it is
primitive 0.1.0
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.672 · highest on record 0.8561
Toolsfrom sha256:d7c30d6929…0aebbc · +0 −0 3 days ago
| Tool | Schema |
|---|---|
| addDomain Claim a new domain and receive the DNS records to publish. Returns dns_records with the exact records to add. If the domain has an mx_conflict (existing mail provider), re-call wit |
input · output |
| awaitReply Wait for the threaded reply to a sent email. Call this immediately after sendEmail or replyToEmail when you expect an answer. With only the sent email's id it long-polls for up to |
input · output |
| cancelScheduledSend Cancel a still-scheduled send before it dispatches (terminal status "canceled"; the same idempotency key becomes reusable). Pass the sent email id from a sendEmail response that us |
input · output |
| createEmailAddress Get this user's Primitive managed inbox domain, creating the account on first use: no signup form, no password, no email verification, no browser. CALL THIS FIRST whenever you do n |
input · output |
| createEndpoint Create a webhook endpoint to receive email.received events. If an endpoint with the same URL already exists but is deactivated, it is reactivated. After creating, call testEndpoint |
input · output |
| createFilter Create a whitelist or blocklist filter rule. Patterns are stored lowercase. Per-domain filters require a Pro plan. |
input · output |
| deleteEndpoint Soft-delete a webhook endpoint. The endpoint will no longer receive deliveries. |
input · output |
| deleteFilter Delete a filter rule. |
input · output |
| downloadDomainZoneFile Download a BIND-format DNS zone file for a domain. Useful when users want to import all required DNS records at once rather than copying them individually. Returns plain text in BI |
input · output |
| downloadEmailAttachments Download all attachments for an inbound email as a gzip-compressed tar archive. Returns the archive as a base64-encoded string along with the attachment count and SHA-256 digest. P |
input · output |
| getAccount 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 ma |
input · output |
| getConversation Get the full conversation an inbound email belongs to as ordered, chat-model-ready turns with bodies. Each message is oldest-first with a direction (inbound/outbound) and a derived |
input · output |
| getEmail Use this when you need full details for one inbound email ID, including parsed bodies, threading metadata, SMTP envelope, webhook state, and replies. |
input · output |
| getInboxStatus Use this when the user asks whether inbound email is ready or needs setup. Returns domains, routes, deployed Functions, and recent inbound activity. |
input · output |
| getOutboundStatus What can I send FROM? Lists this account's verified outbound (sendable) domains plus any domains still pending DNS verification, with next actions. Call this BEFORE sendEmail to pi |
input · output |
| getSentEmail Get the full record for a single sent email by id, including body_text and body_html. Use to inspect delivery details for a specific send — e.g. the SMTP response on a bounced row, |
input · output |
| getThread Get a conversation thread by id: metadata plus all inbound and outbound messages interleaved oldest-first. Each message has a direction (inbound/outbound) and id; fetch inbound mes |
input · output |
| listDomains List all inbound domains for the organization, both verified and unverified. Each domain includes its verification status and DNS records. Use before addDomain to check whether a d |
input · output |
| listEmails Use this when you need to browse inbound emails received at verified domains with cursor pagination, status filters, date filters, or sender/recipient search. |
input · output |
| listEndpoints List all active webhook endpoints for the organization. Each endpoint shows its URL, enabled state, and optional domain restriction. |
input · output |
| listFilters List all whitelist and blocklist filter rules for the organization. |
input · output |
| listSentEmails List outbound emails sent by this org, with cursor pagination and filters. Bodies are omitted from list rows to keep responses small — use getSentEmail to fetch a specific row with |
input · output |
| listWebhookDeliveries List webhook delivery attempts with pagination and filters. Each delivery includes the target endpoint and a nested email object with sender/recipient/subject. Useful for diagnosin |
input · output |
| replayWebhookDelivery Re-send a stored webhook payload from a previous delivery attempt to its original endpoint. Rate limited per org (burst + sustained windows, shared budget with email webhook replay |
input · output |
| replyToEmail Use this when the user has selected a specific inbound email and confirmed a reply. Sends real outbound email with threading handled server-side. |
input · output |
| searchEmails Use this when you need to find inbound emails with structured filters or full-text matching. Use sort=received_at_asc plus date_from for new-mail polling. |
input · output |
| sendEmail Use this when the user has confirmed a new outbound email. Sends real email through Primitive's relay and can wait for the first SMTP delivery outcome, or schedule the send for a f |
input · output |
| sendEmailDemo SIMULATION ONLY: nothing is delivered. NEVER call this when the user actually wants an email to arrive, and never describe its result as a sent email: no message is sent, queued, o |
input · output |
| testEndpoint Send a sample email.received event to a webhook endpoint to verify your signature verifier. Rate limited to 4/min and 30/hr. Successful deliveries and verified-domain endpoints are |
input · output |
| verifyDomain Check DNS records for a domain claim (MX, TXT, SPF, DKIM, DMARC). On success the domain becomes verified and starts receiving mail. On failure, returns which checks passed and whic |
input · output |
Verify it yourself
npx teppi-check https://www.primitive.dev/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ2ADE0WV27QTDMTF2H3W5