SpacePost
by spacepost.dev · dev.spacepost/mcp
Send email and manage domains, contacts and webhooks on SpacePost, the Resend-compatible email API.
- Category
- Messaging and email
- Connection
- Remote (HTTP)
- Tools
- 46 reported
- Status
- Online
Connect it to your AI
Claude Code
claude mcp add --transport http spacepost https://api.spacepost.dev/mcpClaude, ChatGPT, Cursor and other apps
Add it as a custom connector with this URL (Streamable HTTP):
https://api.spacepost.dev/mcpThis server expects extra headers, usually an API key from its maker.
Or run it locally (npm)
claude mcp add spacepost -e SPACEPOST_API_KEY=… -- npx -y @spacepost/mcp@0.2.1Needs: SPACEPOST_API_KEY
Cursor, VS Code and other apps (mcp.json)
{
"mcpServers": {
"spacepost": {
"url": "https://api.spacepost.dev/mcp"
}
}
}Tools it offers
46 tools, as the server itself reported during our check on Oct 31, 2026.
list_emailsList emails. Returns sent and scheduled emails, newest first, without bodies. Requires a `full_access` API key. API: `GET /emails` (operationId `listEmails`, Emails).send_emailSend an email. Validates and queues one email. Each recipient counts towards your quota. Use `scheduled_at` to send later (up to 30 days ahead). Pass `tenant_id` to send on behalf of a tenant (not needed when the `from`send_batch_emailsSend batch emails. Sends up to 100 emails in one call. All-or-nothing, if any email is invalid none are sent. Attachments, `scheduled_at` and a per-email `tenant_id` are supported; the paused-tenant and tenant-cap errorsget_emailRetrieve an email. Requires a `full_access` API key. API: `GET /emails/{id}` (operationId `getEmail`, Emails).update_emailReschedule an email. Changes `scheduled_at` of an email that is still `scheduled`. Requires a `full_access` API key. API: `PATCH /emails/{id}` (operationId `updateEmail`, Emails).cancel_emailCancel a scheduled email. Requires a `full_access` API key. API: `POST /emails/{id}/cancel` (operationId `cancelEmail`, Emails).list_domainsList domains. Requires a `full_access` API key. API: `GET /domains` (operationId `listDomains`, Domains).create_domainCreate a domain. Registers a domain and returns the DNS records to add (three DKIM CNAMEs, plus MX and SPF on the MAIL FROM subdomain). Domain names are globally unique. The number of domains is limited by your plan (Freget_domainRetrieve a domain. Requires a `full_access` API key. API: `GET /domains/{id}` (operationId `getDomain`, Domains).update_domainUpdate a domain. Toggles open and click tracking. Requires a `full_access` API key. API: `PATCH /domains/{id}` (operationId `updateDomain`, Domains).delete_domainDelete a domain. Requires a `full_access` API key. API: `DELETE /domains/{id}` (operationId `deleteDomain`, Domains).verify_domainVerify a domain. Re-checks DNS now. Retrieve the domain afterwards to read the new `status` and per-record statuses. Requires a `full_access` API key. API: `POST /domains/{id}/verify` (operationId `verifyDomain`, Domainslist_api_keysList API keys. Requires a `full_access` API key. API: `GET /api-keys` (operationId `listApiKeys`, API Keys).create_api_keyCreate an API key. The `token` is returned only in this response. Requires a `full_access` API key. API: `POST /api-keys` (operationId `createApiKey`, API Keys).delete_api_keyDelete an API key. The key stops working immediately. The response body is an empty object. Requires a `full_access` API key. API: `DELETE /api-keys/{id}` (operationId `deleteApiKey`, API Keys).list_webhooksList webhooks. Requires a `full_access` API key. API: `GET /webhooks` (operationId `listWebhooks`, Webhooks).create_webhookCreate a webhook. In production the endpoint must use https and resolve to a public address. Requires a `full_access` API key. API: `POST /webhooks` (operationId `createWebhook`, Webhooks).get_webhookRetrieve a webhook. Requires a `full_access` API key. API: `GET /webhooks/{id}` (operationId `getWebhook`, Webhooks).update_webhookUpdate a webhook. Requires a `full_access` API key. API: `PATCH /webhooks/{id}` (operationId `updateWebhook`, Webhooks).delete_webhookDelete a webhook. Requires a `full_access` API key. API: `DELETE /webhooks/{id}` (operationId `deleteWebhook`, Webhooks).list_audiencesList audiences. Requires a `full_access` API key. API: `GET /audiences` (operationId `listAudiences`, Audiences).create_audienceCreate an audience. Requires a `full_access` API key. API: `POST /audiences` (operationId `createAudience`, Audiences).get_audienceRetrieve an audience. Requires a `full_access` API key. API: `GET /audiences/{id}` (operationId `getAudience`, Audiences).delete_audienceDelete an audience. Also deletes its contacts. Requires a `full_access` API key. API: `DELETE /audiences/{id}` (operationId `deleteAudience`, Audiences).list_contactsList contacts. Requires a `full_access` API key. API: `GET /audiences/{audienceId}/contacts` (operationId `listContacts`, Contacts).create_contactCreate a contact. Emails are lower-cased. An address can only appear once per audience. Requires a `full_access` API key. API: `POST /audiences/{audienceId}/contacts` (operationId `createContact`, Contacts).get_contactRetrieve a contact. Requires a `full_access` API key. API: `GET /audiences/{audienceId}/contacts/{idOrEmail}` (operationId `getContact`, Contacts).update_contactUpdate a contact. Requires a `full_access` API key. API: `PATCH /audiences/{audienceId}/contacts/{idOrEmail}` (operationId `updateContact`, Contacts).delete_contactDelete a contact. Requires a `full_access` API key. API: `DELETE /audiences/{audienceId}/contacts/{idOrEmail}` (operationId `deleteContact`, Contacts).list_broadcastsList broadcasts. Requires a `full_access` API key. API: `GET /broadcasts` (operationId `listBroadcasts`, Broadcasts).create_broadcastCreate a broadcast. Creates a draft. The `from` address must belong to a verified domain of your team and `audience_id` to one of your audiences. Requires a `full_access` API key. API: `POST /broadcasts` (operationId `crget_broadcastRetrieve a broadcast. Requires a `full_access` API key. API: `GET /broadcasts/{id}` (operationId `getBroadcast`, Broadcasts).update_broadcastUpdate a broadcast. Only drafts can be updated. Request body: Any field of the create request; only drafts can be updated. Requires a `full_access` API key. API: `PATCH /broadcasts/{id}` (operationId `updateBroadcast`, Bdelete_broadcastDelete a broadcast. Only drafts and broadcasts that are scheduled for the future can be deleted. Requires a `full_access` API key. API: `DELETE /broadcasts/{id}` (operationId `deleteBroadcast`, Broadcasts).get_broadcast_readinessCheck a broadcast before sending. SpacePost extension (not part of Resend). Returns a deliverability checklist: sender domain and DMARC, subject, Gmail clipping (HTML over 102 KB), image-heavy bodies, link shorteners, spsend_broadcastSend or schedule a broadcast. Queues a draft for delivery to every subscribed contact of its audience. The broadcast needs `html` or `text`. Without `scheduled_at` it starts immediately; the status becomes `queued`, thenlist_suppressionsList suppressions. Requires a `full_access` API key. API: `GET /suppressions` (operationId `listSuppressions`, Suppressions).create_suppressionAdd a suppression. Adds the address with reason `manual`. Adding an address that is already suppressed returns the existing entry. Requires a `full_access` API key. API: `POST /suppressions` (operationId `createSuppressidelete_suppressionRemove a suppression. Requires a `full_access` API key. API: `DELETE /suppressions/{idOrEmail}` (operationId `deleteSuppression`, Suppressions).list_tenantsList tenants. Requires a `full_access` API key. API: `GET /tenants` (operationId `listTenants`, Tenants).
Questions
What is the SpacePost MCP server?
Send email and manage domains, contacts and webhooks on SpacePost, the Resend-compatible email API. It is made by spacepost.dev and listed in the official MCP Registry as dev.spacepost/mcp. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.
How do I add SpacePost to Claude?
In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://api.spacepost.dev/mcp. In Claude Code, run: claude mcp add --transport http spacepost https://api.spacepost.dev/mcp
How do I add SpacePost to ChatGPT?
ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://api.spacepost.dev/mcp.
How do I add SpacePost to Cursor?
Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "spacepost": { "url": "https://api.spacepost.dev/mcp" } } }
Does SpacePost work right now?
Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.
What can SpacePost do?
It gives your AI 46 tools, including list_emails, send_email, send_batch_emails, get_email, update_email. The full list is on this page.
Is this your server? Get the badge for your README
Markdown (GitHub README)
[](https://chen.media/mcp/dev-spacepost-mcp)HTML (switches to dark mode on its own)
<a href="https://chen.media/mcp/dev-spacepost-mcp"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/dev-spacepost-mcp.svg?theme=dark"><img src="https://chen.media/mcp/badge/dev-spacepost-mcp.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>More in Messaging and email
See allPickly
usepickly.comMake group polls from a chat and check who's winning. Voters need no account.
VerifyPulse: email deliverability checks
@MohDev212Daily SPF, DKIM, DMARC and MX monitoring with webhook alerts, plus free sending-domain audits.
Portaur
portaur.comAsk Portaur about its services and leave a message or callback request for the team.
Odile answering lines
odilelabs.comA phone line for your app or business that answers calls, takes messages and bookings.
disdex: Discord server search
disdex.ioFind public Discord servers by topic, language and size, check invite links, see member growth.
Inkbind
onmax.meTurn a story, memoir or recipes from the chat into a printed hardcover or softcover book.