MCP server

Connect Claude, ChatGPT, Cursor or your own agent to the remote Stamp0 MCP server at mcp.stamp0.com to send email, set up domains, read inboxes, diagnose SES deliverability and run marketing (contacts, lists, campaigns, sequences).

Available at launch

mcp.stamp0.com goes live with the public launch, so the commands below do not connect yet. Until then, agents can call the API with a project API key.

The Stamp0 MCP server is remote: https://mcp.stamp0.com/mcp, over Streamable HTTP. Clients that support OAuth sign in with your Stamp0 account, so there is no key to paste: you approve the app on a consent screen, and it then acts as you, with your role in your organization. Clients that only take a static header can use an API key instead.

Connect

claude mcp add --transport http stamp0 https://mcp.stamp0.com/mcp

Then run /mcp, choose stamp0 and sign in.

The CLI writes these configurations for you: stamp0 mcp install claude-code, claude-desktop, cursor, vscode, windsurf or codex.

Choosing a project

With OAuth, if you have exactly one project the tools use it. Otherwise list them with projects.list and pass project_id to the tools, or pin one in the URL: https://mcp.stamp0.com/mcp?project=prj_… (add &organization=org_… if you belong to several organizations).

Tools

Task tools do a whole job and explain what they did. They carry the stamp0. prefix.

ToolWhat it does
stamp0.domains.setupChecks your connection (SES or Cloudflare), adds the domain (never adopting an SES identity you created yourself), re-checks DNS and lists the records still to publish. Call it again to follow progress until the domain is verified
stamp0.deliverability.diagnoseChecks the connection, DKIM, MAIL FROM and DMARC, and recent bounce and complaint rates against the provider's thresholds (SES review, or Cloudflare's reputation policy; the stricter of both when a project uses both), then ranks what to fix, with the fix. For Cloudflare it also reports plan, token and data-plane problems and an account where Cloudflare disabled sending
stamp0.sandbox.prepareSES only: drafts your SES production access request (console steps, use case text and the aws sesv2 put-account-details command) from your account data. It never submits it: you review and send it

Resource tools map to the API with the same permissions:

ToolAPI
emails.send, emails.get, emails.listSend (with an idempotency_key), read status and history
domains.create, domains.list, domains.get, domains.verifyDomains and their DNS records
inboxes.list, inboxes.threads, inboxes.replyRead inbox threads and answer them
connections.statusEach connection and the next step: SES sandbox status and quota, or the Cloudflare account, data-plane version and limits
projects.listThe projects an OAuth session can reach

Marketing tools

Read-only tools are marked as such, so clients can run them without asking.

ToolAPI
contacts.list, contacts.get, contacts.activity, contacts.importsSearch contacts, read one with its list memberships, its timeline, and import progress
contacts.upsert, contacts.import, contacts.deleteCreate or update up to 100 contacts by email, import CSV text (a consent statement is required), delete a contact
properties.list, properties.createContact properties
lists.list, lists.members, lists.create, lists.add, lists.removeLists and membership
segments.list, segments.preview, segments.createFilter segments; preview counts the matches of a filter without saving it
companies.list, companies.groupCompanies, and the Segment-style group call
templates.list, templates.get, templates.render, templates.create, templates.update, templates.publishTemplates; render previews exactly what would be sent
campaigns.list, campaigns.get, campaigns.recipients, campaigns.create, campaigns.update, campaigns.test, campaigns.send, campaigns.pause, campaigns.resume, campaigns.cancelCampaigns with their stats
sequences.list, sequences.get, sequences.stats, sequences.enrollments, sequences.test, sequences.create, sequences.update, sequences.activate, sequences.pause, sequences.enrollSequences; test is a dry run
events.track, events.listCustom events that trigger sequences
forms.list, forms.get, forms.createSignup forms

Tools that email an audience or cannot be undone (campaigns.send, campaigns.resume, campaigns.cancel, sequences.activate, sequences.enroll, contacts.delete, lists.remove) are marked destructive and refuse to run without the argument confirm: true. The server tells agents to show you the content, a test or dry run and the audience size first, and to set it only after you approve.

Safety

  • You approve every app on a consent screen; Stamp0 never grants access silently.
  • Apps signed in with OAuth can send, manage domains, inboxes, suppressions and marketing (contacts, lists, segments, companies, templates, campaigns, sequences, events and forms), and run DNS checks. They cannot delete anything (including contacts and list members), create API keys or webhooks, change connections (or read an AWS external ID and setup link, or any Cloudflare token), marketing settings or billing. Do that in the dashboard.
  • Tools never return API key tokens or webhook secrets, and never take over an SES identity you created yourself.
  • Changes made through the MCP server are recorded in the organization's audit log under your name and the app's session.
  • The server keeps no data of its own: every tool call is an API call made with your credential.

On this page