{
 "categories": [
  "email",
  "communications"
 ],
 "deployment": "saas",
 "evidence": [
  {
   "date": "2026-09-29",
   "fact": "homepage",
   "note": "Mailgun presents a transactional email API for sending, tracking, and optimizing email.",
   "source": "https://www.mailgun.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "license",
   "note": "Free is $0 per month and includes 100 emails per day, RESTful email APIs, SMTP, one custom domain, and webhooks. Basic starts at $15 per month.",
   "source": "https://www.mailgun.com/pricing/",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "modalities.api.exists",
   "note": "Mailgun documents a REST API for sending email, including POST /v3/{domain_name}/messages.",
   "source": "https://documentation.mailgun.com/docs/mailgun/api-reference/send/mailgun/messages",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "modalities.api.kinds[0]",
   "note": "The messages page says email can be sent two ways via the REST API and shows the US and EU HTTPS hosts.",
   "source": "https://documentation.mailgun.com/docs/mailgun/api-reference/send/mailgun/messages",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "modalities.api.auth[0]",
   "note": "Mailgun uses HTTP Basic auth with username api and the API key as the password. A primary account key can perform CRUD. A domain sending key is limited to POST /messages and /messages.mime for one domain.",
   "source": "https://documentation.mailgun.com/docs/mailgun/api-reference/mg-auth",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "modalities.api.coverage",
   "note": "The send operation accepts text, HTML, AMP, attachments, templates, tags, tracking, and scheduled delivery. This pass opened send, authentication, and webhooks, not every Mailgun endpoint.",
   "source": "https://documentation.mailgun.com/docs/mailgun/api-reference/send/mailgun/messages",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "modalities.sdk.exists",
   "note": "Mailgun publishes an official Node.js SDK installed as npm package mailgun.js.",
   "source": "https://documentation.mailgun.com/docs/mailgun/sdk/nodejs_sdk",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "modalities.sdk.official",
   "note": "The page title calls it the Official Mailgun Node.js SDK.",
   "source": "https://documentation.mailgun.com/docs/mailgun/sdk/nodejs_sdk",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "modalities.sdk.languages[0]",
   "note": "The SDK page documents Node.js 18 or newer and mailgun.client with username api and the API key. EU accounts pass url https://api.eu.mailgun.net.",
   "source": "https://documentation.mailgun.com/docs/mailgun/sdk/nodejs_sdk",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "modalities.mcp.first_party",
   "note": "Mailgun documents a local MCP server at github.com/mailgun/mailgun-mcp-server and npm @mailgun/mcp-server. The page says Mailgun does not offer a hosted server and that delete operations are not exposed.",
   "source": "https://documentation.mailgun.com/docs/mailgun/mcp",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "modalities.extensibility.webhooks",
   "note": "Account and domain webhooks call the configured URL with an application/JSON payload. Sample events include accepted, delivered, opened, clicked, failed, unsubscribed, and complained.",
   "source": "https://documentation.mailgun.com/docs/mailgun/user-manual/webhooks/webhook-payloads",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "modalities.data_access.export[0]",
   "note": "Webhook examples are JSON objects with event, recipient, message, and domain fields.",
   "source": "https://documentation.mailgun.com/docs/mailgun/user-manual/webhooks/webhook-payloads",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "modalities.agent_docs.llms_txt",
   "note": "Opened a text/plain Mailgun llms.txt map that includes the Mailgun MCP Server page.",
   "source": "https://documentation.mailgun.com/llms.txt",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "verdict.scores.api",
   "note": "Send is a documented REST call with basic auth, US and EU hosts, and multipart message fields. Domain sending keys and plan limits keep the score below a fully catalogued API.",
   "source": "https://documentation.mailgun.com/docs/mailgun/api-reference/send/mailgun/messages",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "verdict.scores.mcp",
   "note": "The official server is a local process with an API key, 50-plus operations, and no delete tools. Mailgun says it does not host the server.",
   "source": "https://documentation.mailgun.com/docs/mailgun/mcp",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "freshness.watch[0].url",
   "note": "Opened the Mailgun MCP guide, including the repository, npm package, and the no-hosted-server statement.",
   "source": "https://documentation.mailgun.com/docs/mailgun/mcp",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "freshness.watch[1].url",
   "note": "Opened the Mailgun authentication page, including HTTP Basic auth and the two API key types.",
   "source": "https://documentation.mailgun.com/docs/mailgun/api-reference/mg-auth",
   "tier": "declared"
  },
  {
   "date": "2026-09-29",
   "fact": "freshness.watch[2].url",
   "note": "Opened the Mailgun messages reference, including the US and EU send URLs.",
   "source": "https://documentation.mailgun.com/docs/mailgun/api-reference/send/mailgun/messages",
   "tier": "declared"
  }
 ],
 "freshness": {
  "last_verified": "2026-09-29",
  "volatility": "high",
  "watch": [
   {
    "type": "docs",
    "url": "https://documentation.mailgun.com/docs/mailgun/mcp"
   },
   {
    "type": "docs",
    "url": "https://documentation.mailgun.com/docs/mailgun/api-reference/mg-auth"
   },
   {
    "type": "docs",
    "url": "https://documentation.mailgun.com/docs/mailgun/api-reference/send/mailgun/messages"
   }
  ]
 },
 "homepage": "https://www.mailgun.com/",
 "id": "mailgun",
 "license": "freemium",
 "modalities": {
  "agent_docs": {
   "llms_txt": true
  },
  "api": {
   "auth": [
    "basic"
   ],
   "coverage": "partial",
   "docs": "https://documentation.mailgun.com/docs/mailgun/api-reference/send/mailgun/messages",
   "exists": true,
   "kinds": [
    "rest"
   ]
  },
  "cli": {
   "exists": "unknown"
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "json"
   ],
   "import": []
  },
  "extensibility": {
   "scripting": [],
   "webhooks": true
  },
  "integrations": {
   "make": "unknown",
   "n8n": "unknown",
   "power_automate": "unknown",
   "zapier": "unknown"
  },
  "mcp": {
   "first_party": true,
   "third_party": [],
   "verdict": "official"
  },
  "rpa": {
   "drivability": "unknown",
   "notes": "No repeatable UI probe was run. Sending, domain management, and event delivery are documented as HTTP calls and as a local MCP server.\n",
   "ui_stack": [],
   "vendor_support": []
  },
  "sdk": {
   "exists": true,
   "languages": [
    "node"
   ],
   "official": true
  }
 },
 "name": "Mailgun",
 "platforms": [
  "web"
 ],
 "related": {
  "alternatives": [
   "resend",
   "postmark",
   "mailchimp"
  ],
  "our_products": []
 },
 "schema_version": 1,
 "score_version": 1,
 "status": "active",
 "vendor": "Mailgun",
 "verdict": {
  "best_path": "api",
  "scores": {
   "api": 8,
   "cli": null,
   "computer_use": null,
   "integrations": null,
   "mcp": 7,
   "overall": 8,
   "rpa": null
  },
  "summary": "Mailgun is automatable today through its REST API. This record is Mailgun email sending and account operations. It is not Resend or Postmark. Send is POST /v3/{domain_name}/messages on https://api.mailgun.net for the US region and https://api.eu.mailgun.net for the EU region. The body is multipart form data and can include text, HTML, attachments, and a stored template. Authentication is HTTP Basic with username api and the API key as the password. A primary account key can call the account's endpoints. A domain sending key can only POST /messages and /messages.mime for its domain. The official Node.js SDK is the npm package mailgun.js and uses the same basic credentials, with the EU base URL passed explicitly. Webhooks POST JSON for events such as accepted, delivered, opened, clicked, failed, unsubscribed, and complained. The official MCP server is local only. Mailgun's guide links github.com/mailgun/mailgun-mcp-server and npm @mailgun/mcp-server, sets MAILGUN_API_KEY, and says there is no hosted server. It describes 50-plus operations for send, domains, stats, templates, suppressions, webhooks, routes, lists, and IP pools, and says delete operations are not exposed. The Free plan is $0 per month for 100 emails per day, one custom domain, and one day of log retention. Basic starts at $15 per month. https://documentation.mailgun.com/llms.txt is a documentation map. A management CLI and connector catalogs were not opened. Computer-use viability is unassessed. The API scores 8 and is the best path. The local MCP server scores 7.\n"
 }
}