{
  "data": {
    "a": {
      "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"
      }
    },
    "answer": "Postmark API + MCP scores 64.9 (B) on agent readiness against MailPace's 58.4 (C), and leads in 6 of 7 scored categories. MailPace leads on reliability.",
    "b": {
      "slug": "postmark",
      "name": "Postmark API + MCP",
      "vendor": "Postmark (ActiveCampaign)",
      "vendorUrl": "https://postmarkapp.com",
      "kind": "http-api",
      "category": "email",
      "summary": "Transactional email API with separate broadcast streams, templates, inbound parsing and bounce handling.",
      "url": "https://www.anchorterminal.com/tools/postmark",
      "markdownUrl": "https://www.anchorterminal.com/tools/postmark.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/postmark.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/postmark.json",
      "dns": "postmark.grade.anchorterminal.com",
      "repo": "https://github.com/ActiveCampaign/postmark-mcp",
      "license": "MIT",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.postmarkapp.com",
      "packages": [
        {
          "registry": "npm",
          "name": "postmark"
        },
        {
          "registry": "npm",
          "name": "@activecampaign/postmark-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "Server API token in the `X-Postmark-Server-Token` header for sending and per-server calls, and a separate `X-Postmark-Account-Token` for account-level calls. The token `POSTMARK_API_TEST` accepts requests without sending. The MCP server reads the server token from `POSTMARK_SERVER_TOKEN`.",
      "pricing": "freemium",
      "pricingNotes": "Free Developer plan with 100 emails a month, no overages and no expiry. At 10,000 emails a month Basic is $15, Pro $16.50 and Platform $18, with overage $1.80, $1.30 and $1.20 per 1,000. Pro at 125,000 is $126.50 and at 1,500,000 is $852.50. Sent and received emails both count. Dedicated IPs $50 a month from 300,000 emails a month, DMARC monitoring $14 a month per domain (https://postmarkapp.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": 24,
      "popularity": {
        "githubStars": 57,
        "npmWeekly": 1281479,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://postmarkapp.com/developer",
      "llmsTxt": "https://postmarkapp.com/llms.txt",
      "capabilities": [
        "email.send",
        "email.inbound",
        "email.templates",
        "email.domains",
        "email.analytics",
        "email.marketing"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "typescript",
        "webhooks"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.9,
        "grade": "B",
        "agentReady": false,
        "rank": 446,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 80,
          "payments": 40,
          "reliability": 60,
          "schema": 81,
          "security": 63,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-08-27: Postmark began testing a webhook endpoint for every selected event when a webhook is created or edited, refusing to save (422, error 1364) until each answers 200, and pausing event types after sustained failures, announced in a product update the day it took effect. Calls that saved before can now fail, including edits without the URL and edits of webhooks with Basic auth, which postmark-python 0.5.0 (29 October) works around, as close's same-day membership rule was read (-3) (https://postmarkapp.com/updates)."
        ],
        "verdict": "24 MCP tools, all with readOnlyHint, destructiveHint and idempotentHint, and descriptions that point to alternatives. No OpenAPI spec, no published request-rate limit and no disclosure policy or security.txt.",
        "bestFor": "Transactional mail where deliverability and a small, well-annotated MCP matter more than a free tier.",
        "strengths": [
          "24 MCP tools, all with readOnlyHint, destructiveHint and idempotentHint, and descriptions that point to alternatives",
          "Prompt-injection guidance and a webhook URL allowlist in the MCP README",
          "45-day retention by default, two named hosting companies and a DPA in the terms",
          "Per-1,000 overage rates published for every plan",
          "Python SDK 0.5.0 (29 October 2026) adds webhook verification and statistics methods"
        ],
        "weaknesses": [
          "No OpenAPI spec and no published request-rate limit",
          "Manual account approval before sending outside your own domains",
          "No SOC 2, ISO 27001, disclosure policy or security.txt found for Postmark itself",
          "Webhooks aren't HMAC-signed",
          "The MCP server runs locally only, its repository has no CI, and npm still serves 2.1.1 from 13 July"
        ],
        "agentNotes": [
          "Install @activecampaign/postmark-mcp, never the unscoped postmark-mcp package",
          "Use the token `POSTMARK_API_TEST` to check a payload without sending",
          "Set `MessageStream` to `outbound` for transactional mail and a broadcast stream for bulk",
          "Set `WEBHOOK_URL_ALLOWLIST` so a misled createWebhook call can't send events to someone else's server",
          "Have a webhook endpoint answer 200 for every selected event before creating it. Postmark tests it and won't save on failure unless `verify=false` is passed"
        ],
        "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": 64.9
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 80,
          "payments": 40,
          "reliability": 60,
          "schema": 81,
          "security": 63,
          "transparency": 69
        },
        "provenanceScore": 87,
        "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 https://api.postmarkapp.com/email -H \"Accept: application/json\" \\\n  -H \"Content-Type: application/json\" -H \"X-Postmark-Server-Token: $POSTMARK_SERVER_TOKEN\" \\\n  -d '{\"From\":\"sender@example.com\",\"To\":\"receiver@example.com\",\"Subject\":\"Hello\",\"TextBody\":\"Hello\",\"MessageStream\":\"outbound\"}'",
        "config": {
          "mcpServers": {
            "postmark": {
              "args": [
                "-y",
                "@activecampaign/postmark-mcp"
              ],
              "command": "npx",
              "env": {
                "DEFAULT_MESSAGE_STREAM": "outbound",
                "DEFAULT_SENDER_EMAIL": "${DEFAULT_SENDER_EMAIL}",
                "POSTMARK_SERVER_TOKEN": "${POSTMARK_SERVER_TOKEN}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/postmark"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Basic 10k",
          "unit": "month",
          "usd": 15,
          "note": "10,000 emails"
        },
        {
          "item": "Pro 10k",
          "unit": "month",
          "usd": 16.5,
          "note": "10,000 emails"
        },
        {
          "item": "Platform 10k",
          "unit": "month",
          "usd": 18,
          "note": "10,000 emails"
        },
        {
          "item": "Pro 125k",
          "unit": "month",
          "usd": 126.5,
          "note": "125,000 emails"
        },
        {
          "item": "Overage on Basic",
          "unit": "1k-emails",
          "usd": 1.8
        },
        {
          "item": "Overage on Pro",
          "unit": "1k-emails",
          "usd": 1.3
        },
        {
          "item": "Overage on Platform",
          "unit": "1k-emails",
          "usd": 1.2
        },
        {
          "item": "Dedicated IP",
          "unit": "month",
          "usd": 50,
          "note": "per IP, from 300,000 emails a month"
        }
      ],
      "provenance": {
        "legalEntity": "AC PM, LLC",
        "domain": "postmarkapp.com",
        "domainRegistered": "2009-05-25",
        "endpointOnVendorDomain": true,
        "terms": "https://postmarkapp.com/terms-of-service",
        "privacy": "https://www.activecampaign.com/legal/privacy-policy",
        "statusPage": "https://status.postmarkapp.com",
        "changelog": "https://postmarkapp.com/updates",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "AC PM, LLC is ActiveCampaign's Postmark entity. postmarkapp.com/privacy-policy redirects to ActiveCampaign's privacy policy."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/postmark.json",
      "live": {
        "slug": "postmark",
        "probe": {
          "target": "https://api.postmarkapp.com",
          "method": "get",
          "lastAt": "2026-11-07T18:20:48.124535617Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 665,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 578,
          "p95ms24h": 741,
          "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": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "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.postmarkapp.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:37.638832039Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "ActiveCampaign/postmark-mcp",
            "version": "v2.1.1",
            "released": "2026-07-13",
            "seenAt": "2026-11-06T23:57:50.859314295Z"
          },
          {
            "registry": "npm",
            "name": "@activecampaign/postmark-mcp",
            "version": "2.1.1",
            "seenAt": "2026-11-06T23:57:48.844210018Z"
          },
          {
            "registry": "npm",
            "name": "postmark",
            "version": "5.1.0",
            "seenAt": "2026-11-06T23:57:48.635789651Z"
          }
        ],
        "githubStars": 61,
        "npmWeekly": 1639054,
        "securityTxt": {
          "url": "https://postmarkapp.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:07.545942518Z"
        },
        "llmsTxt": {
          "url": "https://postmarkapp.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:40.325012437Z"
        },
        "domain": {
          "domain": "postmarkapp.com",
          "registered": "2009-05-25",
          "source": "https://rdap.verisign.com/com/v1/domain/postmarkapp.com",
          "checkedAt": "2026-11-01T14:19:02.125095893Z"
        },
        "pages": [
          {
            "url": "https://postmarkapp.com/updates",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:12.395632441Z",
            "changedAt": "2026-11-06T13:38:52.528824007Z",
            "fingerprint": "8bebe4130915"
          },
          {
            "url": "https://postmarkapp.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:08.198745444Z",
            "changedAt": "2026-11-06T13:38:48.352399805Z",
            "fingerprint": "c9f52994885f"
          },
          {
            "url": "https://www.activecampaign.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-07T18:10:31.997529995Z",
            "changedAt": "2026-10-02T15:25:06.170575042Z",
            "fingerprint": "3ba14f859de2"
          },
          {
            "url": "https://postmarkapp.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:10.576610704Z",
            "changedAt": "2026-10-14T20:47:00.043036254Z",
            "fingerprint": "97a21c17bf9b"
          }
        ],
        "github": {
          "repo": "activecampaign/postmark-mcp",
          "checkedAt": "2026-11-02T08:27:44.154887198Z",
          "stars": 60,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-26T20:58:36Z",
          "openIssues": 23,
          "openPRs": 13,
          "issuesOpened90d": 2,
          "issuesClosed90d": 0,
          "prsMerged90d": 2,
          "replies": {
            "sampled": 23,
            "unanswered": 23
          }
        },
        "updatedAt": "2026-11-07T18:20:48.124535617Z"
      }
    },
    "edges": [
      {
        "by": 27,
        "category": "schema",
        "leads": "postmark",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "No OpenAPI spec for the REST API. Every one of the 24 MCP tools has a typed Zod schema, so half (15). llms.txt of about 1,100 lines with code samples, per the 1 October check (10). MCP descriptions state the purpose and point to the right alternative, such as 'Use sendBatch to send multiple distinct messages' (16). Typed inputs with email validation, a 50-recipient cap and the 22 bounce types as an enum (13). More than 40 JSON error codes grouped by area, with examples, re-read on 1 November (14). Dated product updates and a semver CHANGELOG for the MCP server, but no API versioning (13). 15 + 10 + 16 + 13 + 14 + 13 = 81."
        },
        "scores": {
          "a": 54,
          "b": 81
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "postmark",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "No x402, MPP or L402 (0). Prices and per-1,000 overage ($1.80, $1.30, $1.20) published without login, re-read on 1 November (20). Developer plan of 100 emails a month with no card (20). Browser signup and a manual account review before sending outside your own domains (0). 0 + 20 + 20 + 0 = 40."
        },
        "scores": {
          "a": 25,
          "b": 40
        }
      },
      {
        "by": 15,
        "category": "maintenance",
        "leads": "postmark",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "postmark-python v0.5.0 was tagged on 29 October 2026 with new webhook verification and statistics methods and a dated CHANGELOG entry (30). Since 3 August, three dated product updates (two on 27 August, one on 23 September) and Python SDK tags v0.3.7 (5 August), v0.4.0 (12 August) and v0.5.0, counted half, so more than three (20). Updates are public and support answers by ticket. The Python SDK merged an outside fix (#39) on 29 October. We couldn't see issue replies (10). Current official SDKs. The Node SDK `postmark` 5.0.0 and 5.1.0 (Bulk API), set as versions in repository commits of 6 and 10 July, are on npm per the registry read on 1 November, though the repository has no tags after 4.0.7, and the Python SDK is current (15). The Python SDK runs tests, CodeQL and a security workflow, but the MCP repository still has no CI, which its CHANGELOG lists as planned (5). 30 + 20 + 10 + 15 + 5 = 80."
        },
        "scores": {
          "a": 65,
          "b": 80
        }
      },
      {
        "by": 13,
        "category": "security",
        "leads": "postmark",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "Server tokens limited to one server and a separate account token for account-level calls, plus IP allowlisting for API sending since 27 August and 2FA on every plan since 23 September. No per-scope tokens (22). A server token can't reach other servers, the MCP annotations let clients confirm writes, and `WEBHOOK_URL_ALLOWLIST` limits where createWebhook can point (12). The MCP README names the prompt-injection risk and the controls (dedicated token, client approval, the allowlist). Bounce dumps carry text from remote servers (12). Message activity kept 45 days, and the MCP writes one JSON log line per call with addresses masked (12). The security page, re-read on 1 November, names a SOC 1 data centre, payments through Stripe and regular audits by security firms, but no SOC 2 or ISO 27001 of Postmark's own, no disclosure policy, and /.well-known/security.txt answered 404. That's below mailersend and contactsplus (8 each, a disclosure policy with discretionary bounties) (5). 22 + 12 + 12 + 12 + 5 = 63."
        },
        "scores": {
          "a": 50,
          "b": 63
        }
      },
      {
        "by": 10,
        "category": "reliability",
        "leads": "mailpace",
        "name": "Reliability",
        "reasons": {
          "a": "Graded with the hosted lines. A public Upptime status page at status.mailpace.com, driven by the mailpace/status repository, with monitors for the application, SMTP, docs, blog and landing page and GitHub issues as incident reports (20). The 90 days from 8 August hold two incidents, an application outage on 22 September 2026 that the operator put down to an upstream provider returning 5xx (issue open for two minutes), and SMTP down on 2 November 2026 for about 35 minutes, which leaves SMTP at 99.65% for the week. Minor incidents only (20). No rate limit numbers are published; the docs say limits vary by organisation age, plan and history (0). A documented 429 with its message, no Retry-After or backoff guidance, and an `Idempotency-Key` on sends with written retry rules (10 of 15). The terms guarantee 99% monthly availability of the API and dashboard with a 5% credit per 30 minutes (10). The API is at v1 with no beta label (10). Total 70.",
          "b": "Status page at status.postmarkapp.com (Sorry) with monthly history (20). On 1 November its robots.txt answered 406 with an empty body, which this run treats as blocked, so the history wasn't re-read. Per the 1 October read, the incidents inside the 90-day window that starts on 3 August were sending delays on 15 August, open-webhook delays on 19 August, 70 minutes of web-app errors on 17 September and sending delays of 20 minutes on 22 September and 18 minutes on 28 September with mail queued and not lost, plus planned maintenance on 7 August, all minor. The window from 2 October to 1 November is unread and isn't credited, so the line stays at the 1 October award, as mailtrap's was held when its status host refused us (20). Batch limits are published (500 messages, 50 MB a call) but no request-rate limit, re-read on 1 November (5). A 429 is documented with advice to reduce the rate, with no Retry-After and no idempotency key for sends (5). No SLA on the pricing page, re-read on 1 November (0). GA (10). 20 + 20 + 5 + 5 + 0 + 10 = 60."
        },
        "scores": {
          "a": 70,
          "b": 60
        }
      },
      {
        "by": 8,
        "category": "ergonomics",
        "leads": "postmark",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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.",
          "b": "24 tools and no toolsets, counted in the source on 1 November (15). count and offset with the 10,000 cap stated in the descriptions, filters on searches, and a truncation notice when listTemplates hits 100 (17). Over 40 documented error codes, and startup errors name the missing variable and link to the fix (18). Every tool carries readOnlyHint, destructiveHint and idempotentHint, with 12 read-only and the deletes flagged destructive. No idempotency key for sends (15). DEFAULT_SENDER_EMAIL and DEFAULT_MESSAGE_STREAM cut required fields, and there are official Node and Python SDKs (14). 15 + 17 + 18 + 15 + 14 = 79."
        },
        "scores": {
          "a": 71,
          "b": 79
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "OhMySMTP Ltd",
        "b": "Postmark (ActiveCampaign)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.postmarkapp.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "12",
        "b": "24",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-22",
        "b": "2026-10-29",
        "name": "Last release"
      },
      {
        "a": "2026-01-09",
        "b": "2024-12-10",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-30",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "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": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "1 stars, 207 npm/wk",
        "b": "57 stars, 1.3M npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Postmark API + MCP scores 64.9 (B) on agent readiness against MailPace's 58.4 (C), and leads in 6 of 7 scored categories. MailPace leads on reliability.",
        "question": "Which is better for AI agents, MailPace or Postmark API + MCP?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do MailPace and Postmark API + MCP need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for MailPace. Postmark API + MCP has a hosted endpoint at https://api.postmarkapp.com.",
        "question": "Can an agent call MailPace and Postmark API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 60"
        ],
        "also": [
          "No incidents deducted, where Postmark API + MCP loses 3 points for them"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 81 against 54",
          "Agent ergonomics, 79 against 71",
          "Security \u0026 auth, 63 against 50",
          "Payments \u0026 pricing, 40 against 25",
          "Maintenance \u0026 community, 80 against 65"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Transactional mail where deliverability and a small, well-annotated MCP matter more than a free tier.",
        "slug": "postmark",
        "watchFor": "No OpenAPI spec and no published request-rate limit"
      }
    ],
    "history": {
      "mailpace": null,
      "postmark": [
        {
          "causes": [
            "product",
            "event"
          ],
          "date": "2026-11-01",
          "delta": -1.6,
          "from": 66.5,
          "fromGrade": "B",
          "to": 64.9,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0,
          "from": 66.5,
          "fromGrade": "B",
          "to": 66.5,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 66.7,
          "fromGrade": "B",
          "to": 66.5,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "email.send",
      "name": "Sending email"
    },
    "others": [
      {
        "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/ahasend-vs-postmark.json",
        "title": "AhaSend API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/ahasend-vs-postmark"
      },
      {
        "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/amazon-ses-vs-postmark.json",
        "title": "Amazon SES vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-postmark"
      },
      {
        "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/brevo-vs-postmark.json",
        "title": "Brevo API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-postmark"
      },
      {
        "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/cloudflare-email-service-vs-postmark.json",
        "title": "Cloudflare Email Service vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-postmark"
      },
      {
        "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/groundmail-vs-postmark.json",
        "title": "Groundmail API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-postmark"
      },
      {
        "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/loops-vs-postmark.json",
        "title": "Loops API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/loops-vs-postmark"
      },
      {
        "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/mailersend-vs-postmark.json",
        "title": "MailerSend vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-postmark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-mailpace.json",
        "title": "Mailgun API + MCP vs MailPace",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-mailpace"
      },
      {
        "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/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/mailjet-vs-postmark.json",
        "title": "Mailjet API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-postmark"
      },
      {
        "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-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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailtrap-vs-postmark.json",
        "title": "Mailtrap Email API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailtrap-vs-postmark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mandrill-vs-postmark.json",
        "title": "Mailchimp Transactional (Mandrill) vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/mandrill-vs-postmark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postmark-vs-resend.json",
        "title": "Postmark API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/postmark-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postmark-vs-sendgrid.json",
        "title": "Postmark API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/postmark-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postmark-vs-sendlayer.json",
        "title": "Postmark API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/postmark-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postmark-vs-smtp2go.json",
        "title": "Postmark API + MCP vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/postmark-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postmark-vs-zoho-zeptomail.json",
        "title": "Postmark API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/postmark-vs-zoho-zeptomail"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 10,
        "edge": "mailpace",
        "key": "reliability",
        "mailpace": 70,
        "name": "Reliability",
        "postmark": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 27,
        "edge": "postmark",
        "key": "schema",
        "mailpace": 54,
        "name": "Schema \u0026 documentation",
        "postmark": 81,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "postmark",
        "key": "ergonomics",
        "mailpace": 71,
        "name": "Agent ergonomics",
        "postmark": 79,
        "weight": 13
      },
      {
        "by": 13,
        "edge": "postmark",
        "key": "security",
        "mailpace": 50,
        "name": "Security \u0026 auth",
        "postmark": 63,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "postmark",
        "key": "payments",
        "mailpace": 25,
        "name": "Payments \u0026 pricing",
        "postmark": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "postmark",
        "key": "maintenance",
        "mailpace": 65,
        "name": "Maintenance \u0026 community",
        "postmark": 80,
        "weight": 7
      },
      {
        "by": 3,
        "edge": "postmark",
        "key": "transparency",
        "mailpace": 75,
        "name": "Transparency \u0026 trust",
        "postmark": 78,
        "weight": 7
      }
    ],
    "summary": "Postmark API + MCP scores 64.9 (B) on agent readiness against MailPace's 58.4 (C), and leads in 6 of 7 scored categories. MailPace leads on reliability. Both do sending email.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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.",
      "postmark": "24 MCP tools, all with readOnlyHint, destructiveHint and idempotentHint, and descriptions that point to alternatives. No OpenAPI spec, no published request-rate limit and no disclosure policy or security.txt."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/mailpace-vs-postmark",
    "json": "https://www.anchorterminal.com/compare/mailpace-vs-postmark.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/mailpace-vs-postmark.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/mailpace-vs-postmark.min.md"
  },
  "markdown": "Postmark API + MCP scores 64.9 (B) on agent readiness against MailPace's 58.4 (C), and leads in 6 of 7 scored categories. MailPace leads on reliability. Both do sending email.\n\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- Postmark API + MCP: grade B, 64.9/100, rank #446 of 1486. Markdown https://www.anchorterminal.com/tools/postmark.md · JSON https://www.anchorterminal.com/api/v1/tools/postmark.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### MailPace (C)\n\nGood for: Low-volume transactional mail from EU-hosted infrastructure with idempotent sends and no tracking.\n\nAhead on:\n- Reliability, 70 against 60\n\nAlso in its favour:\n- No incidents deducted, where Postmark API + MCP loses 3 points for them\n\nWatch for: No OpenAPI spec, llms.txt or Markdown docs for agents; the reference is Docusaurus pages\n\n### Postmark API + MCP (B)\n\nGood for: Transactional mail where deliverability and a small, well-annotated MCP matter more than a free tier.\n\nAhead on:\n- Schema \u0026 documentation, 81 against 54\n- Agent ergonomics, 79 against 71\n- Security \u0026 auth, 63 against 50\n- Payments \u0026 pricing, 40 against 25\n- Maintenance \u0026 community, 80 against 65\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: No OpenAPI spec and no published request-rate limit\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Postmark API + MCP +27\n\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- Postmark API + MCP (81): No OpenAPI spec for the REST API. Every one of the 24 MCP tools has a typed Zod schema, so half (15). llms.txt of about 1,100 lines with code samples, per the 1 October check (10). MCP descriptions state the purpose and point to the right alternative, such as 'Use sendBatch to send multiple distinct messages' (16). Typed inputs with email validation, a 50-recipient cap and the 22 bounce types as an enum (13). More than 40 JSON error codes grouped by area, with examples, re-read on 1 November (14). Dated product updates and a semver CHANGELOG for the MCP server, but no API versioning (13). 15 + 10 + 16 + 13 + 14 + 13 = 81.\n\n### Payments \u0026 pricing: Postmark API + MCP +15\n\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- Postmark API + MCP (40): No x402, MPP or L402 (0). Prices and per-1,000 overage ($1.80, $1.30, $1.20) published without login, re-read on 1 November (20). Developer plan of 100 emails a month with no card (20). Browser signup and a manual account review before sending outside your own domains (0). 0 + 20 + 20 + 0 = 40.\n\n### Maintenance \u0026 community: Postmark API + MCP +15\n\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- Postmark API + MCP (80): postmark-python v0.5.0 was tagged on 29 October 2026 with new webhook verification and statistics methods and a dated CHANGELOG entry (30). Since 3 August, three dated product updates (two on 27 August, one on 23 September) and Python SDK tags v0.3.7 (5 August), v0.4.0 (12 August) and v0.5.0, counted half, so more than three (20). Updates are public and support answers by ticket. The Python SDK merged an outside fix (#39) on 29 October. We couldn't see issue replies (10). Current official SDKs. The Node SDK `postmark` 5.0.0 and 5.1.0 (Bulk API), set as versions in repository commits of 6 and 10 July, are on npm per the registry read on 1 November, though the repository has no tags after 4.0.7, and the Python SDK is current (15). The Python SDK runs tests, CodeQL and a security workflow, but the MCP repository still has no CI, which its CHANGELOG lists as planned (5). 30 + 20 + 10 + 15 + 5 = 80.\n\n### Security \u0026 auth: Postmark API + MCP +13\n\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- Postmark API + MCP (63): Server tokens limited to one server and a separate account token for account-level calls, plus IP allowlisting for API sending since 27 August and 2FA on every plan since 23 September. No per-scope tokens (22). A server token can't reach other servers, the MCP annotations let clients confirm writes, and `WEBHOOK_URL_ALLOWLIST` limits where createWebhook can point (12). The MCP README names the prompt-injection risk and the controls (dedicated token, client approval, the allowlist). Bounce dumps carry text from remote servers (12). Message activity kept 45 days, and the MCP writes one JSON log line per call with addresses masked (12). The security page, re-read on 1 November, names a SOC 1 data centre, payments through Stripe and regular audits by security firms, but no SOC 2 or ISO 27001 of Postmark's own, no disclosure policy, and /.well-known/security.txt answered 404. That's below mailersend and contactsplus (8 each, a disclosure policy with discretionary bounties) (5). 22 + 12 + 12 + 12 + 5 = 63.\n\n### Reliability: MailPace +10\n\n- MailPace (70): Graded with the hosted lines. A public Upptime status page at status.mailpace.com, driven by the mailpace/status repository, with monitors for the application, SMTP, docs, blog and landing page and GitHub issues as incident reports (20). The 90 days from 8 August hold two incidents, an application outage on 22 September 2026 that the operator put down to an upstream provider returning 5xx (issue open for two minutes), and SMTP down on 2 November 2026 for about 35 minutes, which leaves SMTP at 99.65% for the week. Minor incidents only (20). No rate limit numbers are published; the docs say limits vary by organisation age, plan and history (0). A documented 429 with its message, no Retry-After or backoff guidance, and an `Idempotency-Key` on sends with written retry rules (10 of 15). The terms guarantee 99% monthly availability of the API and dashboard with a 5% credit per 30 minutes (10). The API is at v1 with no beta label (10). Total 70.\n- Postmark API + MCP (60): Status page at status.postmarkapp.com (Sorry) with monthly history (20). On 1 November its robots.txt answered 406 with an empty body, which this run treats as blocked, so the history wasn't re-read. Per the 1 October read, the incidents inside the 90-day window that starts on 3 August were sending delays on 15 August, open-webhook delays on 19 August, 70 minutes of web-app errors on 17 September and sending delays of 20 minutes on 22 September and 18 minutes on 28 September with mail queued and not lost, plus planned maintenance on 7 August, all minor. The window from 2 October to 1 November is unread and isn't credited, so the line stays at the 1 October award, as mailtrap's was held when its status host refused us (20). Batch limits are published (500 messages, 50 MB a call) but no request-rate limit, re-read on 1 November (5). A 429 is documented with advice to reduce the rate, with no Retry-After and no idempotency key for sends (5). No SLA on the pricing page, re-read on 1 November (0). GA (10). 20 + 20 + 5 + 5 + 0 + 10 = 60.\n\n### Agent ergonomics: Postmark API + MCP +8\n\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- Postmark API + MCP (79): 24 tools and no toolsets, counted in the source on 1 November (15). count and offset with the 10,000 cap stated in the descriptions, filters on searches, and a truncation notice when listTemplates hits 100 (17). Over 40 documented error codes, and startup errors name the missing variable and link to the fix (18). Every tool carries readOnlyHint, destructiveHint and idempotentHint, with 12 read-only and the deletes flagged destructive. No idempotency key for sends (15). DEFAULT_SENDER_EMAIL and DEFAULT_MESSAGE_STREAM cut required fields, and there are official Node and Python SDKs (14). 15 + 17 + 18 + 15 + 14 = 79.\n\n## Score by category\n\n| Category | Weight | MailPace | Postmark API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 60 | MailPace +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 54 | 81 | Postmark API + MCP +27 |\n| Agent ergonomics | 13% (16.2 this run) | 71 | 79 | Postmark API + MCP +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 50 | 63 | Postmark API + MCP +13 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 40 | Postmark API + MCP +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 65 | 80 | Postmark API + MCP +15 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 78 | Postmark API + MCP +3 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **58.4 · C** | **64.9 · B** | |\n\n## Facts side by side\n\n| Fact | MailPace | Postmark API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | OhMySMTP Ltd | Postmark (ActiveCampaign) |\n| Hosted endpoint | no (local only) | `https://api.postmarkapp.com` |\n| Transports | HTTP | HTTP, stdio |\n| Auth | API key | API key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | none | MIT |\n| Tools exposed | 12 | 24 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-22 | 2026-10-29 |\n| Terms last updated | 2026-01-09 | 2024-12-10 |\n| Privacy policy last updated | 2026-08-30 | 2026-10-01 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | yes | 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 | not found in the text | yes |\n| Popularity | 1 stars, 207 npm/wk | 57 stars, 1.3M npm/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## How the scores have moved\n\n### MailPace\n\nNo score change since it was listed.\n\n### Postmark API + MCP\n\n- -1.6 on 1 November 2026: product, negative event\n- no change on 27 October 2026: checklist\n- -0.2 on 8 October 2026: checklist\n\n## Verdicts\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**Postmark API + MCP.** 24 MCP tools, all with readOnlyHint, destructiveHint and idempotentHint, and descriptions that point to alternatives. No OpenAPI spec, no published request-rate limit and no disclosure policy or security.txt.\n\n## Before you call either\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### Postmark API + MCP\n\n1. Install @activecampaign/postmark-mcp, never the unscoped postmark-mcp package\n2. Use the token `POSTMARK_API_TEST` to check a payload without sending\n3. Set `MessageStream` to `outbound` for transactional mail and a broadcast stream for bulk\n4. Set `WEBHOOK_URL_ALLOWLIST` so a misled createWebhook call can't send events to someone else's server\n5. Have a webhook endpoint answer 200 for every selected event before creating it. Postmark tests it and won't save on failure unless `verify=false` is passed\n\n## Questions\n\n### Which is better for AI agents, MailPace or Postmark API + MCP?\n\nPostmark API + MCP scores 64.9 (B) on agent readiness against MailPace's 58.4 (C), and leads in 6 of 7 scored categories. MailPace leads on reliability.\n\n### Do MailPace and Postmark API + MCP need an API key?\n\nBoth need an API key.\n\n### Can an agent call MailPace and Postmark API + MCP without installing anything?\n\nNo hosted endpoint is listed for MailPace. Postmark API + MCP has a hosted endpoint at https://api.postmarkapp.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/mailpace-vs-postmark.json, and with the fewest tokens: https://www.anchorterminal.com/compare/mailpace-vs-postmark.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"mailpace\", \"b\": \"postmark\"}`. From a terminal: `anchor compare mailpace postmark`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/mailpace.json and https://www.anchorterminal.com/api/v1/tools/postmark.json\n\n## Other comparisons with MailPace or Postmark API + MCP\n\n- [AhaSend API + MCP vs MailPace](https://www.anchorterminal.com/compare/ahasend-vs-mailpace.md)\n- [AhaSend API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/ahasend-vs-postmark.md)\n- [Amazon SES vs MailPace](https://www.anchorterminal.com/compare/amazon-ses-vs-mailpace.md)\n- [Amazon SES vs Postmark API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-postmark.md)\n- [Brevo API + MCP vs MailPace](https://www.anchorterminal.com/compare/brevo-vs-mailpace.md)\n- [Brevo API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/brevo-vs-postmark.md)\n- [Cloudflare Email Service vs MailPace](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailpace.md)\n- [Cloudflare Email Service vs Postmark API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-postmark.md)\n- [Groundmail API + MCP vs MailPace](https://www.anchorterminal.com/compare/groundmail-vs-mailpace.md)\n- [Groundmail API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-postmark.md)\n- [Loops API + MCP vs MailPace](https://www.anchorterminal.com/compare/loops-vs-mailpace.md)\n- [Loops API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/loops-vs-postmark.md)\n- [MailerSend vs MailPace](https://www.anchorterminal.com/compare/mailersend-vs-mailpace.md)\n- [MailerSend vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailersend-vs-postmark.md)\n- [Mailgun API + MCP vs MailPace](https://www.anchorterminal.com/compare/mailgun-vs-mailpace.md)\n- [Mailgun API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-postmark.md)\n- [Mailjet API + MCP vs MailPace](https://www.anchorterminal.com/compare/mailjet-vs-mailpace.md)\n- [Mailjet API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailjet-vs-postmark.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 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- [Mailtrap Email API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailtrap-vs-postmark.md)\n- [Mailchimp Transactional (Mandrill) vs Postmark API + MCP](https://www.anchorterminal.com/compare/mandrill-vs-postmark.md)\n- [Postmark API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/postmark-vs-resend.md)\n- [Postmark API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/postmark-vs-sendgrid.md)\n- [Postmark API + MCP vs SendLayer](https://www.anchorterminal.com/compare/postmark-vs-sendlayer.md)\n- [Postmark API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/postmark-vs-smtp2go.md)\n- [Postmark API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/postmark-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": "MailPace vs Postmark API + MCP",
        "url": ""
      }
    ],
    "description": "Postmark scores 64.9 (B) to MailPace's 58.4 (C) for sending email. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "MailPace C 58.4",
      "Postmark API + MCP B 64.9",
      "scores"
    ],
    "h1": "MailPace vs Postmark API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/mailpace-vs-postmark",
    "published": "2026-10-01",
    "section": "tools",
    "title": "MailPace vs Postmark for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/mailpace-vs-postmark"
  },
  "tokens": {
    "markdown": 5100,
    "slim": 3080
  },
  "version": 1
}
