{
  "data": {
    "a": {
      "slug": "mailgun",
      "name": "Mailgun API + MCP",
      "vendor": "Mailgun (Sinch)",
      "vendorUrl": "https://www.mailgun.com",
      "kind": "http-api",
      "category": "email",
      "summary": "Email sending API with inbound routes, a Forwards API, templates, mailing lists, suppressions and address validation, in US and EU regions.",
      "url": "https://www.anchorterminal.com/tools/mailgun",
      "markdownUrl": "https://www.anchorterminal.com/tools/mailgun.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mailgun.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mailgun.json",
      "dns": "mailgun.grade.anchorterminal.com",
      "repo": "https://github.com/mailgun/mailgun-mcp-server",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.mailgun.net/v3",
      "packages": [
        {
          "registry": "npm",
          "name": "mailgun.js"
        },
        {
          "registry": "pypi",
          "name": "mailgun"
        },
        {
          "registry": "npm",
          "name": "@mailgun/mcp-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "HTTP Basic auth with the username `api` and the API key as password. Role-based keys limit what each key can do. EU accounts use api.eu.mailgun.net. The MCP server reads `MAILGUN_API_KEY` and `MAILGUN_API_REGION` from its environment.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 100 emails a day, 1 custom domain, 1 inbound route and 1 day of logs. Basic $15 a month for 10,000 emails, overage $1.80 per 1,000. Foundation $35 for 50,000 (overage $1.30, first month free). Scale $90 for 100,000 (overage $1.10 falling to $0.40 at 2.5 million), with a dedicated IP and 5,000 validations. Validations from $1.20 per 100 (https://www.mailgun.com/pricing/).",
      "priceSummary": "$15 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs, pricing or MCP README (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 74,
      "popularity": {
        "githubStars": 62,
        "npmWeekly": 1321769,
        "pypiWeekly": 61238,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://documentation.mailgun.com",
      "llmsTxt": "https://documentation.mailgun.com/llms.txt",
      "openapi": "https://documentation.mailgun.com/_bundle/docs/mailgun/api-reference/send/mailgun.yaml",
      "capabilities": [
        "email.send",
        "email.inbound",
        "email.templates",
        "email.domains",
        "email.analytics"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks"
      ],
      "lastRelease": "2026-10-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.3,
        "grade": "B",
        "agentReady": false,
        "rank": 253,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 87,
          "payments": 40,
          "reliability": 72,
          "schema": 83,
          "security": 74,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "Key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys limited to one domain and IP allowlisting, and a published 99.99 per cent SLA with service credits. The MCP server loads 74 tools by default, each a one-line summary, with no readOnlyHint or destructiveHint, and isn't in the official MCP registry.",
        "bestFor": "Teams that want inbound routing, validation and per-key roles in one account, in US or EU regions.",
        "strengths": [
          "Key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys and IP allowlisting",
          "OpenAPI 3.1 specs for `send`, `validate`, `optimize` and `inspect`, plus llms.txt",
          "Inbound routes and a Forwards API (May 2026) for incoming mail",
          "SOC 2 Type II and ISO 27001, with a third-party bug bounty",
          "Release notes through October 2026, mailgun-python 1.10.0 on 21 October and MCP CI on Node 20, 22 and 24",
          "A published SLA of 99.99 per cent monthly availability for the API, SMTP and outbound delivery, with service credits"
        ],
        "weaknesses": [
          "74 MCP tools load by default, each a one-line summary, with no readOnlyHint or destructiveHint",
          "EU messaging outages of 38 minutes on 27 August and 17 minutes on 4 September 2026, and EU route delays three times since",
          "No general API rate limit published and no idempotency key for sends",
          "Free plan keeps logs for 1 day and allows 1 inbound route",
          "No security.txt"
        ],
        "agentNotes": [
          "Give an agent that only sends a Domain Sending Key, which can only POST /messages for one domain",
          "Start the MCP with `--tags validate,inspect` when you don't need the 70 send-tagged tools",
          "Set `MAILGUN_API_REGION=eu` for EU accounts, which live on api.eu.mailgun.net",
          "Add `o:testmode=yes` to check a send without delivering it",
          "Verify a custom domain first. The sandbox domain reaches only 5 authorised recipients"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.3
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 87,
          "payments": 40,
          "reliability": 72,
          "schema": 83,
          "security": 74,
          "transparency": 64
        },
        "provenanceScore": 75,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -s --user \"api:$MAILGUN_API_KEY\" \"https://api.mailgun.net/v3/$MAILGUN_DOMAIN/messages\" \\\n  -F from=\"Test \u003cpostmaster@$MAILGUN_DOMAIN\u003e\" -F to=you@example.com \\\n  -F subject=\"Hello\" -F text=\"Testing Mailgun\"",
        "claudeCode": "claude mcp add mailgun -e MAILGUN_API_KEY=$MAILGUN_API_KEY -- npx -y @mailgun/mcp-server",
        "config": {
          "mcpServers": {
            "mailgun": {
              "args": [
                "-y",
                "@mailgun/mcp-server"
              ],
              "command": "npx",
              "env": {
                "MAILGUN_API_KEY": "${MAILGUN_API_KEY}",
                "MAILGUN_API_REGION": "us"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/mailgun"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Basic",
          "unit": "month",
          "usd": 15,
          "note": "10,000 emails"
        },
        {
          "item": "Foundation",
          "unit": "month",
          "usd": 35,
          "note": "50,000 emails"
        },
        {
          "item": "Scale",
          "unit": "month",
          "usd": 90,
          "note": "100,000 emails, 1 dedicated IP"
        },
        {
          "item": "Overage on Basic",
          "unit": "1k-emails",
          "usd": 1.8
        },
        {
          "item": "Overage on Foundation",
          "unit": "1k-emails",
          "usd": 1.3
        },
        {
          "item": "Overage on Scale",
          "unit": "1k-emails",
          "usd": 1.1,
          "note": "falls to $0.40 at 2.5 million"
        }
      ],
      "provenance": {
        "legalEntity": "Mailgun Technologies, Inc.",
        "domain": "mailgun.com",
        "domainRegistered": "2003-12-20",
        "domainNote": "mailgun.com was registered in 2003, years before Mailgun launched in 2010.",
        "endpointOnVendorDomain": false,
        "terms": "https://www.mailgun.com/legal/terms/",
        "privacy": "https://www.mailgun.com/legal/privacy-policy/",
        "statusPage": "https://status.mailgun.com",
        "changelog": "https://www.mailgun.com/releases/",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "notes": [
          "The API is served from mailgun.net, not mailgun.com.",
          "The terms name Sinch Email and the entity on the service order rather than a single company.",
          "The documentation's release-notes page is a stub that links to www.mailgun.com/release-notes/, which redirects to www.mailgun.com/releases/, the dated changelog (1 November 2026).",
          "www.mailgun.com/.well-known/security.txt answered 404 on 1 November 2026."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mailgun.json",
      "live": {
        "slug": "mailgun",
        "probe": {
          "target": "https://api.mailgun.net/v3",
          "method": "get",
          "lastAt": "2026-11-07T18:20:36.783021851Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 513,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 423,
          "p95ms24h": 562,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.mailgun.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:21.483138959Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "mailgun/mailgun-mcp-server",
            "version": "v2.2.0",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:41:55.518970535Z"
          },
          {
            "registry": "npm",
            "name": "@mailgun/mcp-server",
            "version": "2.2.0",
            "seenAt": "2026-11-06T23:41:53.746664775Z"
          },
          {
            "registry": "npm",
            "name": "mailgun.js",
            "version": "14.1.1",
            "seenAt": "2026-11-06T23:41:53.327380772Z"
          },
          {
            "registry": "pypi",
            "name": "mailgun",
            "version": "1.10.0",
            "released": "2026-10-21",
            "seenAt": "2026-11-06T23:41:53.558302349Z"
          }
        ],
        "githubStars": 63,
        "npmWeekly": 1424574,
        "pypiWeekly": 83690,
        "securityTxt": {
          "url": "https://mailgun.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:33.207527205Z"
        },
        "llmsTxt": {
          "url": "https://documentation.mailgun.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:56.117822399Z"
        },
        "domain": {
          "domain": "mailgun.com",
          "registered": "2003-12-20",
          "source": "https://rdap.verisign.com/com/v1/domain/mailgun.com",
          "checkedAt": "2026-11-01T14:18:38.13758159Z"
        },
        "pages": [
          {
            "url": "https://documentation.mailgun.com/docs/mailgun/release/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-02T07:16:25.071881856Z",
            "changedAt": "2026-10-31T06:11:56.253788462Z",
            "fingerprint": "823d06dc752c"
          },
          {
            "url": "https://www.mailgun.com/releases/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:15.665649713Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "46b28a496983"
          },
          {
            "url": "https://www.mailgun.com/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:13.68050251Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "dbcce09b527b"
          },
          {
            "url": "https://www.mailgun.com/legal/privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:09.599527318Z",
            "changedAt": "2026-10-02T15:27:12.688197359Z",
            "fingerprint": "213ddc77ab01"
          },
          {
            "url": "https://www.mailgun.com/legal/terms/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:11.640538028Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e68fb8d6980b"
          }
        ],
        "github": {
          "repo": "mailgun/mailgun-mcp-server",
          "checkedAt": "2026-11-02T09:02:32.954704218Z",
          "stars": 63,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-29T19:44:07Z",
          "openIssues": 4,
          "openPRs": 6,
          "issuesOpened90d": 2,
          "issuesClosed90d": 0,
          "prsMerged90d": 1,
          "ci": {
            "branch": "main",
            "runs": 12,
            "success": 11,
            "failure": 1,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-09-16T15:51:36Z"
          },
          "replies": {
            "sampled": 6,
            "unanswered": 4,
            "medianDays": 12.6
          }
        },
        "updatedAt": "2026-11-07T18:21:21.483138959Z"
      }
    },
    "answer": "Mailgun API + MCP scores 69.3 (B) on agent readiness against MailPace's 58.4 (C), and leads in 5 of 7 scored categories. MailPace leads on agent ergonomics and transparency \u0026 trust.",
    "b": {
      "slug": "mailpace",
      "name": "MailPace",
      "vendor": "OhMySMTP Ltd",
      "vendorUrl": "https://mailpace.com",
      "kind": "http-api",
      "category": "email",
      "summary": "MailPace is a UK transactional email service, formerly OhMySMTP, hosted in the EU. It sends mail through an HTTPS API or SMTP, turns inbound mail into webhooks and has a Domains and Email Status API.",
      "url": "https://www.anchorterminal.com/tools/mailpace",
      "markdownUrl": "https://www.anchorterminal.com/tools/mailpace.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mailpace.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mailpace.json",
      "dns": "mailpace.grade.anchorterminal.com",
      "repo": "https://github.com/mailpace/mailpace-mcp",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@mailpace/mailpace.js"
        }
      ],
      "auth": "api-key",
      "authNotes": "Each domain has its own server token, sent in the `MailPace-Server-Token` header, which can send from that domain and read its email status. An organisation token in `MailPace-Organization-Token` manages domains and domain tokens through the Domains API, including revoking them. Both are made in the dashboard after a browser signup.",
      "pricing": "paid",
      "pricingNotes": "$10 a month includes 10,000 emails sent or received, then $1 per 1,000, per the Paddle prices the pricing page loads and the comparison pages ($100 for 100,000, $1,000 for 1 million). A free plan of up to 100 emails a month is given on request by email. Paddle is the merchant of record; card, PayPal, Apple Pay or Google Pay.",
      "priceSummary": "$10 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs repository, the pricing page or the MCP server source (checked 2026-11-06). Payment is by Paddle subscription; the FAQ says crypto isn't accepted.",
        "endpoints": []
      },
      "toolCount": 12,
      "popularity": {
        "githubStars": 1,
        "npmWeekly": 207,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.mailpace.com/",
      "capabilities": [
        "email.send",
        "email.inbound",
        "email.domains",
        "email.analytics"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "smtp",
        "webhooks",
        "idempotency",
        "status-page",
        "sla",
        "eu",
        "mcp",
        "typescript",
        "ruby",
        "go",
        "php"
      ],
      "lastRelease": "2026-10-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.4,
        "grade": "C",
        "agentReady": false,
        "rank": 750,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 17,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 65,
          "payments": 25,
          "reliability": 70,
          "schema": 54,
          "security": 50,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "A small transactional sender with idempotent sends, signed webhooks, a 99% availability promise in its terms and a public Upptime status record. There is no OpenAPI spec, no published rate limit, no llms.txt, and its MCP server was rewritten on 4 November 2026 but isn't on npm or in the MCP registry yet.",
        "bestFor": "Low-volume transactional mail from EU-hosted infrastructure with idempotent sends and no tracking.",
        "strengths": [
          "Sends accept an `Idempotency-Key` header kept for 24 hours, so a retry after a timeout doesn't send twice",
          "Per-domain server tokens limit a leaked key to one domain, and organisation tokens can create and revoke them by API",
          "Webhooks are signed with Ed25519 and inbound mail is retried five times before it fails",
          "Status page on Upptime with GitHub issues as incident reports, and a 99% monthly availability promise with credits in the terms",
          "Sub-processors and their locations are listed, and mail is kept 30 days plus 7 in backups per the DPA"
        ],
        "weaknesses": [
          "No OpenAPI spec, llms.txt or Markdown docs for agents; the reference is Docusaurus pages",
          "Rate limits aren't published; the docs say they vary by organisation age, plan and history",
          "No free plan without emailing support, and the paid plan starts at $10 a month",
          "MCP server 2.0.0 exists only in the repository; npm and the MCP registry had nothing for it on 6 November 2026",
          "No security.txt, disclosure policy or certification found"
        ],
        "agentNotes": [
          "Send a UUID in `Idempotency-Key` on every `POST /api/v1/send`, and reuse it on a retry; keys last 24 hours and are tied to one token",
          "Use the server token of the sending domain, since the From domain must match the token's domain or the API returns 403",
          "On 429 `You are sending emails too quickly` back off; no Retry-After is documented",
          "Send only transactional mail; marketing and bulk newsletters are prohibited by the docs and terms",
          "Read delivery with `GET /api/v1/domains/:domain_id/emails/:id` using the id the send returned"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.4
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 65,
          "payments": 25,
          "reliability": 70,
          "schema": 54,
          "security": 50,
          "transparency": 69
        },
        "provenanceScore": 81,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://app.mailpace.com/api/v1/send -X POST -H \"Accept: application/json\" -H \"Content-Type: application/json\" -H \"MailPace-Server-Token: $MAILPACE_TOKEN\" -H \"Idempotency-Key: $(uuidgen)\" -d '{\"from\":\"you@yourdomain.com\",\"to\":\"person@example.com\",\"subject\":\"Hello\",\"textbody\":\"Hello\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/mailpace"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Scaling plan",
          "unit": "month",
          "usd": 10,
          "note": "includes 10,000 emails sent or received"
        },
        {
          "item": "Emails beyond 10,000",
          "unit": "1k-emails",
          "usd": 1
        }
      ],
      "provenance": {
        "legalEntity": "OhMySMTP Ltd",
        "domain": "mailpace.com",
        "domainRegistered": "2022-01-10",
        "endpointOnVendorDomain": true,
        "terms": "https://mailpace.com/terms",
        "privacy": "https://mailpace.com/privacy",
        "statusPage": "https://status.mailpace.com",
        "changelog": "https://mailpace.com/category/changelog",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms and privacy policy name OhMySMTP Ltd, incorporated in England and Wales, company number 13200428. Companies House lists two active directors.",
          "Terms last updated 9 January 2026, privacy policy 30 August 2026, DPA updated in October 2026 per the landing repository.",
          "mailpace.com/robots.txt allows all paths. The terms contain no clause on automated access to the website beyond the usual licence limits.",
          "RDAP gives mailpace.com a registration date of 10 January 2022; the service ran as OhMySMTP before that.",
          "/.well-known/security.txt returns 404 on mailpace.com and app.mailpace.com."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mailpace.json",
      "live": {
        "slug": "mailpace",
        "vendorStatus": {
          "page": "https://status.mailpace.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:01.553362214Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@mailpace/mailpace.js",
            "version": "0.1.3",
            "seenAt": "2026-11-06T23:42:02.752996422Z"
          }
        ],
        "githubStars": 1,
        "npmWeekly": 207,
        "securityTxt": {
          "url": "https://mailpace.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:07.630537329Z"
        },
        "pages": [
          {
            "url": "https://mailpace.com/category/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:40.841899008Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "38f92a159d1b"
          },
          {
            "url": "https://mailpace.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:45.28058492Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e6b0fea49c1d"
          },
          {
            "url": "https://mailpace.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:45.480605157Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "24f1eed01dad"
          }
        ],
        "updatedAt": "2026-11-07T16:01:07.630537329Z"
      }
    },
    "edges": [
      {
        "by": 29,
        "category": "schema",
        "leads": "mailgun",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.1 for `send`, `validate`, `optimize` and `inspect`, and every MCP tool takes a Zod schema built from it (25). llms.txt with about 145 links and Markdown pages (10). MCP tool descriptions are the OpenAPI operation summary, one line each, with nothing on when to use or avoid a tool (8). Inputs are typed from the spec, though the README says some edge-case parameters fall back to permissive validation (12). The spec carries request and error examples, and the server rewrites 400, 401, 403 and 404 into guidance (13). Dated release notes and a semver CHANGELOG for the MCP server (15).",
          "b": "No OpenAPI or other machine-readable contract for the HTTPS API. The MCP server's 12 tools have typed zod inputs and output schemas, but that server isn't published yet, so partial credit (8 of 25). llms.txt answers 404 on mailpace.com and docs.mailpace.com, and no Markdown copies are served (0). The reference states what each endpoint does, and the introduction says when not to use it (transactional only, no batch, no static IPs) (12 of 20). Field tables give type, examples and required or optional, with enums for status, sort and direction and the 50-recipient cap in text (9 of 15). Examples in curl and six languages and a full table of error responses with messages, though several listed messages have a broken quote (`{\"error:\"...`) and the send reference says 30 MB where the home page says 25 MB (12 of 15). Version in the path with a promise that an old version runs until a published end-of-life date, and dated changelog posts (13 of 15). Total 54."
        },
        "scores": {
          "a": 83,
          "b": 54
        }
      },
      {
        "by": 24,
        "category": "security",
        "leads": "mailgun",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "HTTP Basic auth with a key. Four key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys limited to POST /messages for one domain, and IP allowlisting. Rotation is advised but keys don't expire (28). The Analyst role is read-only, sending keys cover the least-privilege case, and the MCP server exposes no delete operations. Confirmation is left to the client (15). The MCP can fetch stored messages, so inbound mail can reach the model. The README's prompt-injection section asks users to review tool calls and goes no further (6). Logs API with 1 to 30 days of retention by plan, and Mailgun says security logs are kept 365 days (10). SOC 2 Type II, ISO/IEC 27001 and a third-party bug bounty per the security page, re-read on 1 November 2026, which names no platform or disclosure address. Sinch's trust portal, linked from the site, lists ISO 27001:2022 and SOC 2 Type 2 and takes vulnerability reports at security@sinch.com. No security.txt (404). Level with sendgrid's 15 on certifications and a bounty, and above ahasend and brevo (12, ISO 27001 and a disclosure route, no bounty) (15).",
          "b": "Per-domain server tokens that can only send from and read status for their domain, and an organisation token that creates, renames and revokes domain tokens through the Domains API. Tokens travel in headers only. The authentication page still tells users to contact support to regenerate a leaked token (25 of 30). No read-only token. A domain token can't touch other domains, and the unpublished MCP server has an optional recipient allowlist. No approval step on the hosted API (8 of 20). Inbound mail reaches the customer's webhook as untrusted content, and Email Status returns bounce text. The MCP README warns about prompt injection and suggests the allowlist (9 of 15). The dashboard keeps sent mail for 30 days; no log of API calls was found (6 of 15). No security.txt (404 on mailpace.com and app.mailpace.com), no disclosure policy, bug bounty, SOC 2 or ISO 27001. WebAuthn-only two-factor sign-in and Ed25519-signed webhooks are documented (2 of 20). Total 50."
        },
        "scores": {
          "a": 74,
          "b": 50
        }
      },
      {
        "by": 22,
        "category": "maintenance",
        "leads": "mailgun",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Release notes on 29, 21, 20 and 13 October 2026 and mailgun-python 1.10.0 on 21 October (30). Release notes on 31 August, 1, 8, 15, 22 and 29 September and in October, mailgun.js 14.0.0 to 14.1.0 (12 August to 8 October) and mailgun-python 1.9.0 to 1.10.0 (4 August to 21 October), well over three in 90 days (20). The MCP repository merges pull requests and tags each release, the last v2.1.3 on 16 September. We couldn't see open issues or reply times from git (12). mailgun.js 14.1.0 (8 October) and mailgun-python 1.10.0 are current (15). MCP CI runs tests on Node 20, 22 and 24 plus lint, and npm releases publish from a workflow (10). 30 + 20 + 12 + 15 + 10 = 87.",
          "b": "Email Status API documented on 22 October 2026, and the MCP server rewritten as 2.0.0 on 4 November 2026, two days before this check (30). In the 90 days from 8 August, the Q3 changelog post of 31 August, the Email Status docs of 22 October, a mailpace-rails push on 17 October and the MCP rewrite, but only one changelog post (15 of 20). A closed service with email support. Three pull requests to the MCP repository from 2025 have no reply (8 of 15). Not in the official MCP registry (search for mailpace returned nothing on 6 November). The Node library was last pushed in October 2024 and Go in January 2024, while mailpace-rails is current (7 of 15). The MCP server gained CI with tests on 4 November; the older SDKs weren't checked for CI (5 of 10). Total 65."
        },
        "scores": {
          "a": 87,
          "b": 65
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "mailgun",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices and per-1,000 overage ($1.80, $1.30, $1.10) published without login (20). Free plan of 100 emails a day with no card (20). A person signs up in a browser and verifies a domain, so no autonomous route (0).",
          "b": "No x402, MPP or L402 (0). $10 a month for 10,000 emails and $1 per 1,000 after, loaded from Paddle on the pricing page and stated in the comparison pages' tables without login (20). A free plan of up to 100 emails a month is available only by emailing support, so it isn't self-serve (5 of 20). Signup, DKIM verification and payment happen in a browser (0). Total 25."
        },
        "scores": {
          "a": 40,
          "b": 25
        }
      },
      {
        "by": 11,
        "category": "ergonomics",
        "leads": "mailpace",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "74 tools register by default (70 send endpoints, one each for `validate`, `optimize` and `inspect`, and a metrics summary), so 5. `--tags` or `MAILGUN_MCP_TAGS` filters by product, but nearly everything is tagged send, so we add back 3 (8). Logs and analytics take limits, pagination and filters (18). The server turns API errors into messages that name the endpoint and the fix, and a 403 points at the billing page (16). No readOnlyHint or destructiveHint on any tool and no idempotency key for sends. `o:testmode` lets an agent check a send without delivery (4). Official Node and Python SDKs, and a send needs from, to, subject and a body (14).",
          "b": "Responses are small, the send returns an id and status and Email Status returns one email (18 of 25). Only the domains list takes `limit`, `offset`, `sort` and `direction`; there is no endpoint to list or search sent mail (8 of 20). Errors are JSON with a human message and an HTTP status for each case in the documented table, with no stable error codes (14 of 20). `Idempotency-Key` on sends, kept 24 hours per token, and failed validations are not stored so they can be retried. The MCP server marks send as not idempotent and revoke as destructive (18 of 20). A send needs from, to, a subject and a body; official libraries for Node, Rails, Go and PHP transports and an SMTP route (13 of 15). Total 71."
        },
        "scores": {
          "a": 60,
          "b": 71
        }
      },
      {
        "by": 5,
        "category": "transparency",
        "leads": "mailpace",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with published terms that name Sinch Email and the entity on the service order rather than one company. The MCP server is Apache-2.0 (18). Log retention by plan (1, 5 or 30 days) is on the pricing page, security logs 365 days, and a Sinch DPA is linked from the security page (22). Release notes date changes such as the May 2025 SMTP login change, and the MCP CHANGELOG flags its 2.0.0 tool renames, but we found no deprecation policy (12). Hosted on Google Cloud in US and EU regions. We didn't find a subprocessor list (12).",
          "b": "Closed hosted service under terms that name OhMySMTP Ltd with its company number. The MCP server, SDKs, landing site and status page are MIT (18 of 30). The privacy policy (30 August 2026), the pricing page and the DPA agree on retention, 30 days in the dashboard and 7 more in backups, 37 days at most (25 of 30). The API reference promises an old version runs until a published end-of-life date, and the terms list dated changes. The terms also say changes apply immediately (8 of 20). Sub-processors listed with purpose and location, Freethought hosting in the EU, Hetzner backups in Germany, AppSignal in Amsterdam, Paddle in the UK and Tutanota in Germany (18 of 20). Total 69."
        },
        "scores": {
          "a": 70,
          "b": 75
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Mailgun (Sinch)",
        "b": "OhMySMTP Ltd",
        "name": "Vendor"
      },
      {
        "a": "https://api.mailgun.net/v3",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "74",
        "b": "12",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-21",
        "b": "2026-10-22",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-01-09",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-08-30",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "62 stars, 1.3M npm/wk, 61k PyPI/wk",
        "b": "1 stars, 207 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Mailgun API + MCP scores 69.3 (B) on agent readiness against MailPace's 58.4 (C), and leads in 5 of 7 scored categories. MailPace leads on agent ergonomics and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Mailgun API + MCP or MailPace?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Mailgun API + MCP and MailPace need an API key?"
      },
      {
        "answer": "Mailgun API + MCP has a hosted endpoint at https://api.mailgun.net/v3. No hosted endpoint is listed for MailPace.",
        "question": "Can an agent call Mailgun API + MCP and MailPace without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 83 against 54",
          "Security \u0026 auth, 74 against 50",
          "Payments \u0026 pricing, 40 against 25",
          "Maintenance \u0026 community, 87 against 65"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine"
        ],
        "goodFor": "Teams that want inbound routing, validation and per-key roles in one account, in US or EU regions.",
        "slug": "mailgun",
        "watchFor": "74 MCP tools load by default, each a one-line summary, with no readOnlyHint or destructiveHint"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 71 against 60",
          "Transparency \u0026 trust, 75 against 70"
        ],
        "also": null,
        "goodFor": "Low-volume transactional mail from EU-hosted infrastructure with idempotent sends and no tracking.",
        "slug": "mailpace",
        "watchFor": "No OpenAPI spec, llms.txt or Markdown docs for agents; the reference is Docusaurus pages"
      }
    ],
    "history": {
      "mailgun": [
        {
          "causes": [
            "time"
          ],
          "date": "2026-11-01",
          "delta": 3,
          "from": 66.3,
          "fromGrade": "B",
          "to": 69.3,
          "toGrade": "B"
        },
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.1,
          "from": 66.4,
          "fromGrade": "B",
          "to": 66.3,
          "toGrade": "B"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0.1,
          "from": 66.3,
          "fromGrade": "B",
          "to": 66.4,
          "toGrade": "B"
        }
      ],
      "mailpace": null
    },
    "job": {
      "capability": "email.send",
      "name": "Sending email"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ahasend-vs-mailgun.json",
        "title": "AhaSend API + MCP vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/ahasend-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ahasend-vs-mailpace.json",
        "title": "AhaSend API + MCP vs MailPace",
        "url": "https://www.anchorterminal.com/compare/ahasend-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-mailgun.json",
        "title": "Amazon SES vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-mailpace.json",
        "title": "Amazon SES vs MailPace",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-mailgun.json",
        "title": "Brevo API + MCP vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-mailpace.json",
        "title": "Brevo API + MCP vs MailPace",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailgun.json",
        "title": "Cloudflare Email Service vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailpace.json",
        "title": "Cloudflare Email Service vs MailPace",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-mailgun.json",
        "title": "Groundmail API + MCP vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-mailpace.json",
        "title": "Groundmail API + MCP vs MailPace",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-mailgun.json",
        "title": "Loops API + MCP vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/loops-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-mailpace.json",
        "title": "Loops API + MCP vs MailPace",
        "url": "https://www.anchorterminal.com/compare/loops-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailersend-vs-mailgun.json",
        "title": "MailerSend vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailersend-vs-mailpace.json",
        "title": "MailerSend vs MailPace",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-mailjet.json",
        "title": "Mailgun API + MCP vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-mailjet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-mailtrap.json",
        "title": "Mailgun API + MCP vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-mandrill.json",
        "title": "Mailgun API + MCP vs Mailchimp Transactional (Mandrill)",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-mandrill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-postmark.json",
        "title": "Mailgun API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-postmark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-resend.json",
        "title": "Mailgun API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-sendgrid.json",
        "title": "Mailgun API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-sendlayer.json",
        "title": "Mailgun API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-smtp2go.json",
        "title": "Mailgun API + MCP vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-zoho-zeptomail.json",
        "title": "Mailgun API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-zoho-zeptomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailjet-vs-mailpace.json",
        "title": "Mailjet API + MCP vs MailPace",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-mailtrap.json",
        "title": "MailPace vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-mandrill.json",
        "title": "MailPace vs Mailchimp Transactional (Mandrill)",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-mandrill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-postmark.json",
        "title": "MailPace vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-postmark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-resend.json",
        "title": "MailPace vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-sendgrid.json",
        "title": "MailPace vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-sendlayer.json",
        "title": "MailPace vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-smtp2go.json",
        "title": "MailPace vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-zoho-zeptomail.json",
        "title": "MailPace vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-zoho-zeptomail"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 2,
        "edge": "mailgun",
        "key": "reliability",
        "mailgun": 72,
        "mailpace": 70,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 29,
        "edge": "mailgun",
        "key": "schema",
        "mailgun": 83,
        "mailpace": 54,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 11,
        "edge": "mailpace",
        "key": "ergonomics",
        "mailgun": 60,
        "mailpace": 71,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 24,
        "edge": "mailgun",
        "key": "security",
        "mailgun": 74,
        "mailpace": 50,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 15,
        "edge": "mailgun",
        "key": "payments",
        "mailgun": 40,
        "mailpace": 25,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 22,
        "edge": "mailgun",
        "key": "maintenance",
        "mailgun": 87,
        "mailpace": 65,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 5,
        "edge": "mailpace",
        "key": "transparency",
        "mailgun": 70,
        "mailpace": 75,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Mailgun API + MCP scores 69.3 (B) on agent readiness against MailPace's 58.4 (C), and leads in 5 of 7 scored categories. MailPace leads on agent ergonomics and transparency \u0026 trust. Both do sending email.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "mailgun": "Key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys limited to one domain and IP allowlisting, and a published 99.99 per cent SLA with service credits. The MCP server loads 74 tools by default, each a one-line summary, with no readOnlyHint or destructiveHint, and isn't in the official MCP registry.",
      "mailpace": "A small transactional sender with idempotent sends, signed webhooks, a 99% availability promise in its terms and a public Upptime status record. There is no OpenAPI spec, no published rate limit, no llms.txt, and its MCP server was rewritten on 4 November 2026 but isn't on npm or in the MCP registry yet."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/mailgun-vs-mailpace",
    "json": "https://www.anchorterminal.com/compare/mailgun-vs-mailpace.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/mailgun-vs-mailpace.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/mailgun-vs-mailpace.min.md"
  },
  "markdown": "Mailgun API + MCP scores 69.3 (B) on agent readiness against MailPace's 58.4 (C), and leads in 5 of 7 scored categories. MailPace leads on agent ergonomics and transparency \u0026 trust. Both do sending email.\n\n- Mailgun API + MCP: grade B, 69.3/100, rank #253 of 1486. Markdown https://www.anchorterminal.com/tools/mailgun.md · JSON https://www.anchorterminal.com/api/v1/tools/mailgun.json\n- MailPace: grade C, 58.4/100, rank #750 of 1486. Markdown https://www.anchorterminal.com/tools/mailpace.md · JSON https://www.anchorterminal.com/api/v1/tools/mailpace.json\n- Best email delivery APIs for AI agents: https://www.anchorterminal.com/best/email/index.md\n- All 174 email comparisons: https://www.anchorterminal.com/compare/email/index.md\n\n## Which one, for what\n\n### Mailgun API + MCP (B)\n\nGood for: Teams that want inbound routing, validation and per-key roles in one account, in US or EU regions.\n\nAhead on:\n- Schema \u0026 documentation, 83 against 54\n- Security \u0026 auth, 74 against 50\n- Payments \u0026 pricing, 40 against 25\n- Maintenance \u0026 community, 87 against 65\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n\nWatch for: 74 MCP tools load by default, each a one-line summary, with no readOnlyHint or destructiveHint\n\n### MailPace (C)\n\nGood for: Low-volume transactional mail from EU-hosted infrastructure with idempotent sends and no tracking.\n\nAhead on:\n- Agent ergonomics, 71 against 60\n- Transparency \u0026 trust, 75 against 70\n\nWatch for: No OpenAPI spec, llms.txt or Markdown docs for agents; the reference is Docusaurus pages\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Mailgun API + MCP +29\n\n- Mailgun API + MCP (83): OpenAPI 3.1 for `send`, `validate`, `optimize` and `inspect`, and every MCP tool takes a Zod schema built from it (25). llms.txt with about 145 links and Markdown pages (10). MCP tool descriptions are the OpenAPI operation summary, one line each, with nothing on when to use or avoid a tool (8). Inputs are typed from the spec, though the README says some edge-case parameters fall back to permissive validation (12). The spec carries request and error examples, and the server rewrites 400, 401, 403 and 404 into guidance (13). Dated release notes and a semver CHANGELOG for the MCP server (15).\n- MailPace (54): No OpenAPI or other machine-readable contract for the HTTPS API. The MCP server's 12 tools have typed zod inputs and output schemas, but that server isn't published yet, so partial credit (8 of 25). llms.txt answers 404 on mailpace.com and docs.mailpace.com, and no Markdown copies are served (0). The reference states what each endpoint does, and the introduction says when not to use it (transactional only, no batch, no static IPs) (12 of 20). Field tables give type, examples and required or optional, with enums for status, sort and direction and the 50-recipient cap in text (9 of 15). Examples in curl and six languages and a full table of error responses with messages, though several listed messages have a broken quote (`{\"error:\"...`) and the send reference says 30 MB where the home page says 25 MB (12 of 15). Version in the path with a promise that an old version runs until a published end-of-life date, and dated changelog posts (13 of 15). Total 54.\n\n### Security \u0026 auth: Mailgun API + MCP +24\n\n- Mailgun API + MCP (74): HTTP Basic auth with a key. Four key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys limited to POST /messages for one domain, and IP allowlisting. Rotation is advised but keys don't expire (28). The Analyst role is read-only, sending keys cover the least-privilege case, and the MCP server exposes no delete operations. Confirmation is left to the client (15). The MCP can fetch stored messages, so inbound mail can reach the model. The README's prompt-injection section asks users to review tool calls and goes no further (6). Logs API with 1 to 30 days of retention by plan, and Mailgun says security logs are kept 365 days (10). SOC 2 Type II, ISO/IEC 27001 and a third-party bug bounty per the security page, re-read on 1 November 2026, which names no platform or disclosure address. Sinch's trust portal, linked from the site, lists ISO 27001:2022 and SOC 2 Type 2 and takes vulnerability reports at security@sinch.com. No security.txt (404). Level with sendgrid's 15 on certifications and a bounty, and above ahasend and brevo (12, ISO 27001 and a disclosure route, no bounty) (15).\n- MailPace (50): Per-domain server tokens that can only send from and read status for their domain, and an organisation token that creates, renames and revokes domain tokens through the Domains API. Tokens travel in headers only. The authentication page still tells users to contact support to regenerate a leaked token (25 of 30). No read-only token. A domain token can't touch other domains, and the unpublished MCP server has an optional recipient allowlist. No approval step on the hosted API (8 of 20). Inbound mail reaches the customer's webhook as untrusted content, and Email Status returns bounce text. The MCP README warns about prompt injection and suggests the allowlist (9 of 15). The dashboard keeps sent mail for 30 days; no log of API calls was found (6 of 15). No security.txt (404 on mailpace.com and app.mailpace.com), no disclosure policy, bug bounty, SOC 2 or ISO 27001. WebAuthn-only two-factor sign-in and Ed25519-signed webhooks are documented (2 of 20). Total 50.\n\n### Maintenance \u0026 community: Mailgun API + MCP +22\n\n- Mailgun API + MCP (87): Release notes on 29, 21, 20 and 13 October 2026 and mailgun-python 1.10.0 on 21 October (30). Release notes on 31 August, 1, 8, 15, 22 and 29 September and in October, mailgun.js 14.0.0 to 14.1.0 (12 August to 8 October) and mailgun-python 1.9.0 to 1.10.0 (4 August to 21 October), well over three in 90 days (20). The MCP repository merges pull requests and tags each release, the last v2.1.3 on 16 September. We couldn't see open issues or reply times from git (12). mailgun.js 14.1.0 (8 October) and mailgun-python 1.10.0 are current (15). MCP CI runs tests on Node 20, 22 and 24 plus lint, and npm releases publish from a workflow (10). 30 + 20 + 12 + 15 + 10 = 87.\n- MailPace (65): Email Status API documented on 22 October 2026, and the MCP server rewritten as 2.0.0 on 4 November 2026, two days before this check (30). In the 90 days from 8 August, the Q3 changelog post of 31 August, the Email Status docs of 22 October, a mailpace-rails push on 17 October and the MCP rewrite, but only one changelog post (15 of 20). A closed service with email support. Three pull requests to the MCP repository from 2025 have no reply (8 of 15). Not in the official MCP registry (search for mailpace returned nothing on 6 November). The Node library was last pushed in October 2024 and Go in January 2024, while mailpace-rails is current (7 of 15). The MCP server gained CI with tests on 4 November; the older SDKs weren't checked for CI (5 of 10). Total 65.\n\n### Payments \u0026 pricing: Mailgun API + MCP +15\n\n- Mailgun API + MCP (40): No x402, MPP or L402 (0). Plan prices and per-1,000 overage ($1.80, $1.30, $1.10) published without login (20). Free plan of 100 emails a day with no card (20). A person signs up in a browser and verifies a domain, so no autonomous route (0).\n- MailPace (25): No x402, MPP or L402 (0). $10 a month for 10,000 emails and $1 per 1,000 after, loaded from Paddle on the pricing page and stated in the comparison pages' tables without login (20). A free plan of up to 100 emails a month is available only by emailing support, so it isn't self-serve (5 of 20). Signup, DKIM verification and payment happen in a browser (0). Total 25.\n\n### Agent ergonomics: MailPace +11\n\n- Mailgun API + MCP (60): 74 tools register by default (70 send endpoints, one each for `validate`, `optimize` and `inspect`, and a metrics summary), so 5. `--tags` or `MAILGUN_MCP_TAGS` filters by product, but nearly everything is tagged send, so we add back 3 (8). Logs and analytics take limits, pagination and filters (18). The server turns API errors into messages that name the endpoint and the fix, and a 403 points at the billing page (16). No readOnlyHint or destructiveHint on any tool and no idempotency key for sends. `o:testmode` lets an agent check a send without delivery (4). Official Node and Python SDKs, and a send needs from, to, subject and a body (14).\n- MailPace (71): Responses are small, the send returns an id and status and Email Status returns one email (18 of 25). Only the domains list takes `limit`, `offset`, `sort` and `direction`; there is no endpoint to list or search sent mail (8 of 20). Errors are JSON with a human message and an HTTP status for each case in the documented table, with no stable error codes (14 of 20). `Idempotency-Key` on sends, kept 24 hours per token, and failed validations are not stored so they can be retried. The MCP server marks send as not idempotent and revoke as destructive (18 of 20). A send needs from, to, a subject and a body; official libraries for Node, Rails, Go and PHP transports and an SMTP route (13 of 15). Total 71.\n\n### Transparency \u0026 trust: MailPace +5\n\n- Mailgun API + MCP (70): Closed service with published terms that name Sinch Email and the entity on the service order rather than one company. The MCP server is Apache-2.0 (18). Log retention by plan (1, 5 or 30 days) is on the pricing page, security logs 365 days, and a Sinch DPA is linked from the security page (22). Release notes date changes such as the May 2025 SMTP login change, and the MCP CHANGELOG flags its 2.0.0 tool renames, but we found no deprecation policy (12). Hosted on Google Cloud in US and EU regions. We didn't find a subprocessor list (12).\n- MailPace (75): Closed hosted service under terms that name OhMySMTP Ltd with its company number. The MCP server, SDKs, landing site and status page are MIT (18 of 30). The privacy policy (30 August 2026), the pricing page and the DPA agree on retention, 30 days in the dashboard and 7 more in backups, 37 days at most (25 of 30). The API reference promises an old version runs until a published end-of-life date, and the terms list dated changes. The terms also say changes apply immediately (8 of 20). Sub-processors listed with purpose and location, Freethought hosting in the EU, Hetzner backups in Germany, AppSignal in Amsterdam, Paddle in the UK and Tutanota in Germany (18 of 20). Total 69.\n\n## Score by category\n\n| Category | Weight | Mailgun API + MCP | MailPace | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 72 | 70 | Mailgun API + MCP +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 54 | Mailgun API + MCP +29 |\n| Agent ergonomics | 13% (16.2 this run) | 60 | 71 | MailPace +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 74 | 50 | Mailgun API + MCP +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 25 | Mailgun API + MCP +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 65 | Mailgun API + MCP +22 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 75 | MailPace +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.3 · B** | **58.4 · C** | |\n\n## Facts side by side\n\n| Fact | Mailgun API + MCP | MailPace |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Mailgun (Sinch) | OhMySMTP Ltd |\n| Hosted endpoint | `https://api.mailgun.net/v3` | no (local only) |\n| Transports | HTTP, stdio | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | Apache-2.0 | none |\n| Tools exposed | 74 | 12 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-21 | 2026-10-22 |\n| Terms last updated | no date given | 2026-01-09 |\n| Privacy policy last updated | no date given | 2026-08-30 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 62 stars, 1.3M npm/wk, 61k PyPI/wk | 1 stars, 207 npm/wk |\n| Agent reviews | 3/5 (2) | none |\n\n## How the scores have moved\n\n### Mailgun API + MCP\n\n- +3.0 on 1 November 2026: time\n- -0.1 on 28 October 2026: correction\n- +0.1 on 28 October 2026: new evidence\n\n### MailPace\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Mailgun API + MCP.** Key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys limited to one domain and IP allowlisting, and a published 99.99 per cent SLA with service credits. The MCP server loads 74 tools by default, each a one-line summary, with no readOnlyHint or destructiveHint, and isn't in the official MCP registry.\n\n**MailPace.** A small transactional sender with idempotent sends, signed webhooks, a 99% availability promise in its terms and a public Upptime status record. There is no OpenAPI spec, no published rate limit, no llms.txt, and its MCP server was rewritten on 4 November 2026 but isn't on npm or in the MCP registry yet.\n\n## Before you call either\n\n### Mailgun API + MCP\n\n1. Give an agent that only sends a Domain Sending Key, which can only POST /messages for one domain\n2. Start the MCP with `--tags validate,inspect` when you don't need the 70 send-tagged tools\n3. Set `MAILGUN_API_REGION=eu` for EU accounts, which live on api.eu.mailgun.net\n4. Add `o:testmode=yes` to check a send without delivering it\n5. Verify a custom domain first. The sandbox domain reaches only 5 authorised recipients\n\n### MailPace\n\n1. Send a UUID in `Idempotency-Key` on every `POST /api/v1/send`, and reuse it on a retry; keys last 24 hours and are tied to one token\n2. Use the server token of the sending domain, since the From domain must match the token's domain or the API returns 403\n3. On 429 `You are sending emails too quickly` back off; no Retry-After is documented\n4. Send only transactional mail; marketing and bulk newsletters are prohibited by the docs and terms\n5. Read delivery with `GET /api/v1/domains/:domain_id/emails/:id` using the id the send returned\n\n## Questions\n\n### Which is better for AI agents, Mailgun API + MCP or MailPace?\n\nMailgun API + MCP scores 69.3 (B) on agent readiness against MailPace's 58.4 (C), and leads in 5 of 7 scored categories. MailPace leads on agent ergonomics and transparency \u0026 trust.\n\n### Do Mailgun API + MCP and MailPace need an API key?\n\nBoth need an API key.\n\n### Can an agent call Mailgun API + MCP and MailPace without installing anything?\n\nMailgun API + MCP has a hosted endpoint at https://api.mailgun.net/v3. No hosted endpoint is listed for MailPace.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/mailgun-vs-mailpace.json, and with the fewest tokens: https://www.anchorterminal.com/compare/mailgun-vs-mailpace.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"mailgun\", \"b\": \"mailpace\"}`. From a terminal: `anchor compare mailgun mailpace`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/mailgun.json and https://www.anchorterminal.com/api/v1/tools/mailpace.json\n\n## Other comparisons with Mailgun API + MCP or MailPace\n\n- [AhaSend API + MCP vs Mailgun API + MCP](https://www.anchorterminal.com/compare/ahasend-vs-mailgun.md)\n- [AhaSend API + MCP vs MailPace](https://www.anchorterminal.com/compare/ahasend-vs-mailpace.md)\n- [Amazon SES vs Mailgun API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-mailgun.md)\n- [Amazon SES vs MailPace](https://www.anchorterminal.com/compare/amazon-ses-vs-mailpace.md)\n- [Brevo API + MCP vs Mailgun API + MCP](https://www.anchorterminal.com/compare/brevo-vs-mailgun.md)\n- [Brevo API + MCP vs MailPace](https://www.anchorterminal.com/compare/brevo-vs-mailpace.md)\n- [Cloudflare Email Service vs Mailgun API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailgun.md)\n- [Cloudflare Email Service vs MailPace](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailpace.md)\n- [Groundmail API + MCP vs Mailgun API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-mailgun.md)\n- [Groundmail API + MCP vs MailPace](https://www.anchorterminal.com/compare/groundmail-vs-mailpace.md)\n- [Loops API + MCP vs Mailgun API + MCP](https://www.anchorterminal.com/compare/loops-vs-mailgun.md)\n- [Loops API + MCP vs MailPace](https://www.anchorterminal.com/compare/loops-vs-mailpace.md)\n- [MailerSend vs Mailgun API + MCP](https://www.anchorterminal.com/compare/mailersend-vs-mailgun.md)\n- [MailerSend vs MailPace](https://www.anchorterminal.com/compare/mailersend-vs-mailpace.md)\n- [Mailgun API + MCP vs Mailjet API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-mailjet.md)\n- [Mailgun API + MCP vs Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-mailtrap.md)\n- [Mailgun API + MCP vs Mailchimp Transactional (Mandrill)](https://www.anchorterminal.com/compare/mailgun-vs-mandrill.md)\n- [Mailgun API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-postmark.md)\n- [Mailgun API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-resend.md)\n- [Mailgun API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailgun-vs-sendgrid.md)\n- [Mailgun API + MCP vs SendLayer](https://www.anchorterminal.com/compare/mailgun-vs-sendlayer.md)\n- [Mailgun API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-smtp2go.md)\n- [Mailgun API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/mailgun-vs-zoho-zeptomail.md)\n- [Mailjet API + MCP vs MailPace](https://www.anchorterminal.com/compare/mailjet-vs-mailpace.md)\n- [MailPace vs Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/mailpace-vs-mailtrap.md)\n- [MailPace vs Mailchimp Transactional (Mandrill)](https://www.anchorterminal.com/compare/mailpace-vs-mandrill.md)\n- [MailPace vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailpace-vs-postmark.md)\n- [MailPace vs Resend API + MCP](https://www.anchorterminal.com/compare/mailpace-vs-resend.md)\n- [MailPace vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailpace-vs-sendgrid.md)\n- [MailPace vs SendLayer](https://www.anchorterminal.com/compare/mailpace-vs-sendlayer.md)\n- [MailPace vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/mailpace-vs-smtp2go.md)\n- [MailPace vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/mailpace-vs-zoho-zeptomail.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Mailgun API + MCP vs MailPace",
        "url": ""
      }
    ],
    "description": "Mailgun scores 69.3 (B) to MailPace's 58.4 (C) for sending email. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Mailgun API + MCP B 69.3",
      "MailPace C 58.4",
      "scores"
    ],
    "h1": "Mailgun API + MCP vs MailPace",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/mailgun-vs-mailpace",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Mailgun vs MailPace for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/mailgun-vs-mailpace"
  },
  "tokens": {
    "markdown": 4850,
    "slim": 2830
  },
  "version": 1
}
