Mailgun MCP server
Inspect sending domains, delivery events and suppression records before sending an authorized email. Access is gated: request enablement for your organization before connecting.
Agent workflows for Mailgun.
List domains
Use when discovering sending domains and their verification state. Returns one bounded page; total_count is the full matching count. Does not expose SMTP credentials.
Get domain
Use when checking the connected sending domain and its verification state. The domain is fixed by the connection; SMTP credentials and DNS payloads are excluded.
Send email
Use when sending authorized text email from the connected domain to one recipient. test_mode defaults true (no delivery, still billed); false notifies them. Suppressed recipients are silently dropped; queued is not delivered. No unsolicited mail or blind retries; reconcile first (no idempotency).
9 Mailgun actions, graded by risk.
These actions come from the Arc0 registry. Your identity, provider permissions and Arc0 policies determine which actions can run.
read
8Look things up, subject to your permissions.
- mailgun.list_domainsList domains
Use when discovering sending domains and their verification state. Returns one bounded page; total_count is the full matching count. Does not expose SMTP credentials.
- mailgun.get_domainGet domain
Use when checking the connected sending domain and its verification state. The domain is fixed by the connection; SMTP credentials and DNS payloads are excluded.
- mailgun.list_eventsList events
Use when reconciling one recipient by message ID within seven days; returns a bounded first page. Events API is deprecated for Logs. Retention depends on plan: an empty old window does not prove no send occurred. Event IDs differ from message IDs.
- mailgun.list_bouncesList bounces
Use when inspecting permanent delivery failures on the connected domain. Returns only the first bounded page, optionally filtered by address prefix; not an export. Never use this to reverse a recipient opt-out.
- mailgun.list_unsubscribesList unsubscribes
Use when inspecting recipient opt-outs on the connected domain. Returns only the first bounded page, optionally filtered by address prefix; not an export. Never use this to reverse a recipient opt-out.
- mailgun.list_complaintsList complaints
Use when inspecting spam complaints on the connected domain. Returns only the first bounded page, optionally filtered by address prefix; not an export. Never use this to reverse a recipient opt-out.
- mailgun.get_unsubscribeGet unsubscribe
Use when checking whether one exact recipient has an unsubscribe record on the connected domain. Returns structural status only; a missing record is not consent to send. Never use to remove an opt-out.
- mailgun.get_statsGet stats
Use when checking daily delivery or engagement totals for the connected domain over at most 31 days. Legacy Stats API is deprecated in favor of Metrics. Omitted counters stay absent rather than becoming invented zeros.
write
1Create and change things. Allow, or ask the user first.
- mailgun.send_emailSend email
Use when sending authorized text email from the connected domain to one recipient. test_mode defaults true (no delivery, still billed); false notifies them. Suppressed recipients are silently dropped; queued is not delivered. No unsolicited mail or blind retries; reconcile first (no idempotency).
destructive
0Delete, cancel or archive. Ask first, or deny outright.
- No destructive actions.
Control access to Mailgun.
After early access is enabled, connect the intended Mailgun account, authorize your AI client and set policies for its tools.
Provider permissions and Arc0 policy both apply. Allow reads, require approval for selected writes, or deny destructive actions. The audit log records execution decisions.
Configure policies and approvalsExample policy choices
- Read actions: allow where authorized
- mailgun.send_email: require approval
Arc0 MCP endpoint: https://api.arc0.ai/mcp
How Mailgun connects.
Connect Mailgun using API key. OAuth grants the provider scopes shown during consent; API keys and other credentials retain the permissions configured at the provider. Arc0 stores credentials in its encrypted vault and does not pass them to the model. Disconnect to remove access through Arc0; revoke a key at the provider to invalidate it there. Token refresh and provider-side revocation depend on the authentication lane and provider.
The connection serves authorized calls through Arc0 MCP and REST. How Arc0 handles credentials →
- AUTH
- API key
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use Mailgun with your AI client.
Request access to Mailgun first. An Arc0 administrator must enable it for your organization before these actions appear. Then authorize your AI client separately. It only receives tools and accounts allowed for that identity.
Mailgun with Claude
Claude Desktop + Claude Code
- In Claude Desktop, add Arc0 through the remote MCP settings and use OAuth. Follow the generic remote-client steps if your account’s interface differs.
- For Claude Code, run the command below. Open /mcp, select Arc0, and authenticate in your browser. Select your workspace and review access.
- Check the connection with claude mcp get arc0.
claude mcp add --transport http --scope user arc0 https://api.arc0.ai/mcpFull MCP setup and troubleshootingMailgun with ChatGPT
ChatGPT on the web
- Open Plugins in ChatGPT, select the plus button, then Add custom MCP server.
- Name it Arc0, enter the server URL below, and choose OAuth. Use dynamic client registration if asked; no Arc0 API key is needed.
- Review the notice and select Create as a plugin. Complete Arc0 sign-in, workspace selection and consent, then install and select the plugin in your conversation. Labels and access vary by account; managed workspaces may require administrator approval.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingMailgun with OpenAI Codex
Codex app + CLI
- Run the registration command below. The app and CLI share ~/.codex/config.toml.
- Complete browser OAuth, choose your Arc0 workspace, and review access. If authentication does not start, run codex mcp login arc0.
- Check codex mcp list, then open a new Codex chat. Inspect an existing arc0 entry before changing it.
codex mcp add arc0 --url https://api.arc0.ai/mcpFull MCP setup and troubleshootingMailgun with Cursor
Remote MCP setup
- Add Arc0 in your client’s remote MCP settings using the server URL below.
- Choose OAuth, sign in to Arc0, select the intended workspace and review access.
- Confirm the server is connected and start with an allowed read. These are generic remote-MCP steps; consult your client’s settings for its current interface.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingMailgun with VS Code
Remote MCP setup
- Add a remote HTTP MCP server named Arc0 using the URL below.
- Use OAuth and finish Arc0 sign-in, workspace selection and consent.
- Confirm discovery succeeds before requesting a read. These are generic remote-MCP steps; client UI and availability may differ.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingMailgun with Any MCP client
Streamable HTTP
- Use a client that supports remote MCP over Streamable HTTP. Add the server URL below and choose OAuth.
- For a client without OAuth, use a self-bound API key with execute permission in the X-API-Key header. Store it in secret storage or an environment variable, outside source control. Never send both an API key and an OAuth bearer token.
- Use the MCP clients guide for the SDK transport example and Embedded identity for business-managed end users.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingAfter setup, ask your agent to find an allowed read action, load its schema, and execute it on the intended account. Check Activity for the receipt. A connected MCP client alone does not confirm a successful provider call.
Mailgun and Arc0, answered.
Does Mailgun work with Claude Desktop and Claude Code?
Yes, after early access is enabled for your organization and you connect the intended account. Use Arc0’s remote MCP endpoint with OAuth. Claude Code has a documented registration command; Desktop uses the generic remote-client setup.
Can I use Mailgun with OpenAI Codex, ChatGPT and Cursor?
Yes, after early access is enabled for your organization and you connect the intended account. Codex and ChatGPT have setup instructions in Arc0’s MCP clients guide. Cursor uses the generic remote-MCP steps. Tool access remains scoped to the authorized identity.
Is this the official Mailgun MCP server?
This is Arc0’s integration page, not a claim of an official Mailgun server. Arc0 adds a shared connection, policy and audit experience across apps. Consult Mailgun for its own current MCP offerings.
Which Mailgun actions are supported?
9 registry-defined actions: 8 read, 1 write and 0 destructive. Provider permissions, access enablement and Arc0 policy determine what can execute.
Which permissions does Mailgun need?
Connect Mailgun using API key. OAuth grants the provider scopes shown during consent; API keys and other credentials retain the permissions configured at the provider. Arc0 stores credentials in its encrypted vault and does not pass them to the model. Disconnect to remove access through Arc0; revoke a key at the provider to invalidate it there. Token refresh and provider-side revocation depend on the authentication lane and provider.
Can I restrict writes in Mailgun?
You can deny write and destructive actions or require approval. Provider scopes and Arc0 action policies are separate controls; a policy does not grant additional provider permissions.
What does Mailgun through Arc0 cost?
See Arc0 pricing for current connectivity plans. The provider may require its own subscription or charge per request. Arc0 plan allowances do not make third-party data or paid actions free.
Request Mailgun access.
Mailgun MCP server: 9 actions including list domains, get domain, send email. Request early access through Arc0.
Free to build · MCP + REST · Audit log on every plan
Mailgun and its logo are trademarks of their respective owners. Arc0 is not affiliated with or endorsed by Mailgun.