Zapmail
latest
  • latest
  • v1
latest
  • latest
  • v1
Sign In
latest
  • latest
  • v1
Root
Root
  1. Root
  • Zapmail Docs
  • Webhooks
  • MCP
  • users
    • Retrieve User Details
      GET
  • quick setup
    • Quick Setup
      POST
  • workspaces
    • Retrieve all workspaces
      GET
    • Create new workspace
      POST
    • Update workspace
      PUT
    • List all workspace members
      GET
    • Update user role
      PUT
    • Revoke User Access
      DELETE
    • Send invitiation to join workspace
      POST
    • List all invitations
      GET
    • Revoke invitation
      DELETE
    • Update Domain Renewal Settings
      POST
  • billing
    • Add Billing Details
      POST
    • Update Billing Details
      PUT
  • mailbox
    • Retrieve All Mailboxes
      GET
    • Get Mailbox Details by ID
      GET
    • Assign New Mailboxes to Domains
      POST
    • Update mailbox
      PUT
    • Remove mailboxes on next renewal
      PUT
    • Get Authenticator code
      GET
    • Custom OAuth
      POST
    • schedule mailbox creation
      POST
    • retry creation of failed mailboxes
      PUT
  • payments & wallet
    • Add balance to wallet
    • Get wallet balance
    • Enable auto recharge
    • Purchase add on mailboxes
    • get invoices for subscription
  • export
    • Export mailboxes
    • Add third party account details
    • Update third party account details
    • Get Export Status
    • Fetch Workspaces by App
    • List all third-party accounts
  • subscriptions
    • Get all subscriptions
    • Cancel subscription
    • Upgrade existing subscription
    • Purchase subscription
    • Get Mailboxes in a Subscription
  • domains
    • Retrieve All Domains
    • List Assignable Domains
    • Add DMARC record
    • Add Domain forwarding
    • Get Name servers to connect domain
    • Verify Name Server Propagation
    • Connect Domain with Zapmail
    • Enable email forwarding
    • Remove email forwarding
    • Enable catch all emails
    • Remove catch all emails
    • Check DNS records
    • Remove unused domains
    • Get available domains for registration
    • Get domains purchase payment link
    • Get domain connection requests
    • Remove domain connection requests
    • Connect Domain with Zapmail (New)
    • Add Google Client ID to Domain
    • Get availability of multiple domain names.
    • Retrieve Domain Health Score
    • Retrieve All Domains (With filters)
    • AI Domain Finder
    • Move Domains Across workspace
    • Assign Domain Tag
    • list domain tags
    • Create Domain Tags
    • Remove Domain Forwarding
    • List Domains Eligible for Renewal
    • Get Renewal Price
    • Renew Domains
    • Delete Tag
    • Remove Tags From Domains
    • Update Auto Renew Preference
  • dns
    • Get dns records
    • Add dns records
    • Update dns records
    • Delete dns records
  • High Reputation Domains
    • Get available domains
    • Purchase high reputation domains
  • prewarmed domains
    • Get prewarmed domains
    • purchase prewarmed subscription
    • Assign prewarmed mailboxes
    • Get Available Domains Count
    • Get Prewarm Subscriptions
  • placement test
    • Get subscriptions
    • Get Overall Report
    • Get placement test orders
    • Get report by cart order id
    • Get Eligible Mailboxes for Placement Tests
    • Get Available Placement Test Credits
    • Purchase Placement Test
    • Purchase plan
    • Cancel Subscription
  • dns shield
    • Get eligible domains
    • Get available slots
    • Get subscriptions
    • Get Allocated Domains for Subscription
    • Allocate Domains to DNS Shield
    • Purchase DNS Shield
    • Upgrade DNS Shield LTD Plan
    • Cancel subscription
  • Zapsites
    • Scan A Site
    • Create a New Zapsite
    • Fetch A Zapsite
    • Edit a Zapsite
    • Regenerate a Zapsite
    • Deploy a Zapsite
  • global
    • Global mailbox-domain search
  • zapbox
    • List Connected Accounts
    • Fetch emails
    • get emails from a thread
    • Search emails
    • Send Email
    • Download Attachment
    • Create New Label
    • Delete Label
    • Rename Label
  • Webhooks
    • Get Event Types
    • Get Webhook Endpoints/Destinations
    • Create New Webhook Endpoint/Destination
    • Update a Specific Endpoint
  • Schemas
    • domain with filter
  1. Root

MCP

Zapmail MCP — Setup Guide#

Zapmail's MCP server is a remote, OAuth-protected endpoint — the same domains, mailboxes,
billing, and integrations you manage in the dashboard, exposed as 134 tools your agent can
call directly. No API keys to copy, no separate REST client to write.

Overview#

Endpointhttps://mcp.zapmail.ai/mcp
AuthOAuth 2.1 — discovery, authorize, token, and revoke endpoints are served by the same host. No static API keys.
ContextCall get_current_context first — it returns the active workspace, your role, and the connected service provider (Google or Microsoft).
Tool count134 tools across domains, mailboxes, workspaces & billing, and integrations — filtered to whatever scopes your token was granted.
It speaks Streamable HTTP (the current MCP transport), and every call is scoped to your
authenticated user and their active workspace — the agent never sees more than what you've
granted.

Connect your client#

Every client below talks to the same URL and runs the same OAuth handshake — only the config
location changes.
Cursor
VS Code
Claude Code
Claude Desktop
Codex CLI
General (any MCP client)
Add to .cursor/mcp.json:
{
  "mcpServers": {
    "zapmail": {
      "url": "https://mcp.zapmail.ai/mcp"
    }
  }
}
Cursor prompts for OAuth on first connect — approve it, and the tools appear in the MCP panel.

Scopes & roles#

Scopes gate which tools appear during OAuth consent. Workspace role gates whether a call
succeeds
once the tool is invoked — both checks run on every call, not just at connect time.
ScopeGrantsTools
domainsView and manage domains, DNS, and connections63
mailboxesView and manage mailboxes20
workspaces_billingBuy plans, domains, and add-ons; manage workspaces and team members29
webhooks_integrationsManage webhooks and connected third-party accounts22
Request only the scopes your agent actually needs — a read-only research assistant should never
hold workspaces_billing.
RoleCan call
ViewerRead-only tools — lookups, lists, status checks
Editor / AdminMutating tools — create, update, connect, delete
Admin / OwnerAnything that spends wallet balance — purchases, renewals, sell-back

Tool surface#

Tools are named for what they do, not the endpoint behind them.
CategoryExamplesCount
Domainssearch_domains · buy_domains · connect_domain · get_domain_dns37
Mailboxesschedule_mailboxes · list_mailboxes · update_mailbox12
Prewarmed & aged domainslist_aged_domains · buy_prewarmed_domain7
DNS Shieldenable_dns_shield · get_dns_shield_status8
Workspacesinvite_workspace_member · switch_workspace · update_member_role11
Billing & subscriptionstop_up_wallet · get_wallet_balance · list_invoices12
Webhookscreate_webhook · list_webhook_deliveries10
Third-party accountsconnect_sequencer · export_mailboxes12
AI insight & placement testsget_deliverability_insight · run_placement_test22
Quick setup, usersquick_setup_workspace · get_user_details3

Guardrails#

Destructive and paying tools require confirmed: true. Deleting a domain, buying domains,
renewing, or selling back all reject the call until the argument is set — the agent is expected
to show the user exactly what will happen first.
Purchases charge immediately, not on preview. If your wallet balance covers the cost, a
purchase or renewal tool completes the charge in that same call. If it doesn't, the tool returns
a payment link for the remainder instead of failing outright.
IDs are re-validated per call. A domain, mailbox, or workspace ID from a different workspace
is rejected server-side — an agent can't reuse or guess its way across workspace boundaries.

Orchestration patterns#

Provisioning a new domain
1.
Check availability — search_domains or the bulk variant
2.
Confirm wallet balance — get_wallet_balance (top up first if short)
3.
Purchase — buy_domains with confirmed: true, after telling the user the charge
4.
Schedule mailboxes — schedule_mailboxes against the new domain
5.
Confirm — poll list_mailboxes until provisioning completes
Team operations
1.
Find the workspace — get_current_context, or switch_workspace if it's the wrong one
2.
Invite — invite_workspace_member
3.
Adjust role — update_member_role if their access needs to change
Exporting mailboxes to a sequencer
1.
Connect the account — connect_sequencer / create third-party credentials
2.
Trigger the export — export_mailboxes
3.
Watch status — poll the export job until it reports done

Modified at 2026-09-09 06:09:30
Previous
Webhooks
Next
Retrieve User Details
Built with