{
  "data": {
    "a": {
      "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",
      "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-08-12",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.7,
        "grade": "B",
        "agentReady": false,
        "rank": 158,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 65,
          "payments": 40,
          "reliability": 60,
          "schema": 81,
          "security": 63,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "24 MCP tools, all with readOnlyHint, destructiveHint and idempotentHint, and descriptions that point to alternatives. No OpenAPI spec and no published request-rate limit.",
        "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 subprocessors and a DPA in the terms",
          "Per-1,000 overage rates published for every plan",
          "IP allowlisting for API sending since 27 August 2026"
        ],
        "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 and its repository has no CI"
        ],
        "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",
          "Keep `count + offset` under 10,000 on message and bounce searches"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.7
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 65,
          "payments": 40,
          "reliability": 60,
          "schema": 81,
          "security": 63,
          "transparency": 69
        },
        "provenanceScore": 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": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/postmark.json",
      "live": {
        "slug": "postmark",
        "probe": {
          "target": "https://api.postmarkapp.com",
          "method": "get",
          "lastAt": "2026-10-05T01:43:43.531438932Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 3973,
          "authRequired": false,
          "uptime24h": 97.43,
          "uptime30d": 99.38,
          "p50ms24h": 599,
          "p95ms24h": 4373,
          "samples24h": 272,
          "samples30d": 1122,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 265
            },
            {
              "date": "2026-10-05",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.postmarkapp.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:24.509628112Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "ActiveCampaign/postmark-mcp",
            "version": "v2.1.1",
            "released": "2026-07-13",
            "seenAt": "2026-10-04T16:37:29.067665935Z"
          },
          {
            "registry": "npm",
            "name": "@activecampaign/postmark-mcp",
            "version": "2.1.1",
            "seenAt": "2026-10-04T16:37:27.105943117Z"
          },
          {
            "registry": "npm",
            "name": "postmark",
            "version": "5.1.0",
            "seenAt": "2026-10-04T16:37:26.847244966Z"
          }
        ],
        "githubStars": 57,
        "npmWeekly": 1390363,
        "securityTxt": {
          "url": "https://postmarkapp.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:57.369008774Z"
        },
        "llmsTxt": {
          "url": "https://postmarkapp.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:08.635997833Z"
        },
        "domain": {
          "domain": "postmarkapp.com",
          "registered": "2009-05-25",
          "source": "https://rdap.verisign.com/com/v1/domain/postmarkapp.com",
          "checkedAt": "2026-10-04T13:05:40.955344563Z"
        },
        "pages": [
          {
            "url": "https://postmarkapp.com/updates",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:04.960697769Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "66f896f3e4fd"
          },
          {
            "url": "https://postmarkapp.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:58.476183981Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7df8d73d2376"
          },
          {
            "url": "https://www.activecampaign.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:48:56.508023604Z",
            "changedAt": "2026-10-02T15:25:06.170575042Z",
            "fingerprint": "3ba14f859de2"
          },
          {
            "url": "https://postmarkapp.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:00.605994492Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "92e20985dde5"
          }
        ],
        "updatedAt": "2026-10-05T01:43:43.531438932Z"
      }
    },
    "b": {
      "slug": "sendgrid",
      "name": "Twilio SendGrid",
      "vendor": "Twilio",
      "vendorUrl": "https://sendgrid.com",
      "kind": "http-api",
      "category": "email",
      "summary": "Email API v3 for transactional mail, with Inbound Parse, dynamic templates, suppressions and Marketing Campaigns.",
      "url": "https://www.anchorterminal.com/tools/sendgrid",
      "markdownUrl": "https://www.anchorterminal.com/tools/sendgrid.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/sendgrid.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sendgrid.json",
      "repo": "https://github.com/sendgrid/sendgrid-nodejs",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.sendgrid.com/v3",
      "packages": [
        {
          "registry": "npm",
          "name": "@sendgrid/mail"
        },
        {
          "registry": "pypi",
          "name": "sendgrid"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key (`SG.`) with full, restricted or billing access and per-scope permissions. Subusers get their own keys.",
      "pricing": "paid",
      "pricingNotes": "Free trial of 100 emails a day for 60 days, no card. Essentials $19.95 a month for 50,000 emails or $34.95 for 100,000. Pro $89.95 for 100,000, $249 for 300,000 and $499 for 700,000, with a dedicated IP and 2,500 validations. Premier is custom. Overage rates aren't listed on the pricing page (https://www.twilio.com/en-us/products/email-api/pricing).",
      "priceSummary": "$19.95 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs, pricing or MCP README (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 3052,
        "npmWeekly": 5457252,
        "pypiWeekly": 4577455,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.twilio.com/docs/sendgrid",
      "llmsTxt": "https://www.twilio.com/docs/llms.txt",
      "openapi": "https://raw.githubusercontent.com/twilio/sendgrid-oai/main/spec/json/tsg_mail_v3.json",
      "capabilities": [
        "email.send",
        "email.inbound",
        "email.templates",
        "email.domains",
        "email.analytics",
        "email.marketing"
      ],
      "tags": [
        "hosted",
        "no-card",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "enterprise"
      ],
      "lastRelease": "2025-09-19",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.6,
        "grade": "B",
        "agentReady": false,
        "rank": 202,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 47,
          "payments": 30,
          "reliability": 66,
          "schema": 72,
          "security": 81,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Restricted API keys with per-endpoint scopes, subuser keys and IP access management. No official MCP server that can send, only Twilio's docs search.",
        "strengths": [
          "Restricted API keys with per-endpoint scopes, subuser keys and IP access management",
          "OpenAPI 3.1 specs for the whole v3 API",
          "Inbound Parse and Marketing Campaigns in one account",
          "Twilio SOC 2 Type II, ISO 27001 and a HackerOne bug bounty",
          "Subprocessors listed with locations, updated September 2026"
        ],
        "weaknesses": [
          "No official MCP server that can send, only Twilio's docs search",
          "Node and Python SDKs last released on 19 September 2025, Go on 29 May 2025",
          "Free plan is a 60-day trial, not a standing free tier",
          "Overage rates and numeric rate limits aren't published",
          "No idempotency key on mail/send"
        ],
        "agentNotes": [
          "Give an agent that only sends a restricted key with just `mail.send`",
          "Set `mail_settings.sandbox_mode` to validate payloads without delivery",
          "Authenticate a domain or verify a single sender before the first send",
          "Read X-RateLimit-Remaining and X-RateLimit-Reset and wait for the reset on 429",
          "Don't blindly retry a timed-out mail/send. There's no idempotency key, so the message can go out twice"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.6
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 47,
          "payments": 30,
          "reliability": 66,
          "schema": 72,
          "security": 81,
          "transparency": 68
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl -X POST https://api.sendgrid.com/v3/mail/send -H \"Authorization: Bearer $SENDGRID_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"personalizations\":[{\"to\":[{\"email\":\"to@example.com\"}]}],\"from\":{\"email\":\"from@example.com\"},\"subject\":\"Hello\",\"content\":[{\"type\":\"text/plain\",\"value\":\"Hello\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/sendgrid"
      },
      "sameCompany": [
        "twilio-voice",
        "stytch-connected-apps",
        "twilio"
      ],
      "area": "communication",
      "unitPrices": [
        {
          "item": "Essentials 50k",
          "unit": "month",
          "usd": 19.95,
          "note": "50,000 emails"
        },
        {
          "item": "Essentials 100k",
          "unit": "month",
          "usd": 34.95,
          "note": "100,000 emails"
        },
        {
          "item": "Pro 100k",
          "unit": "month",
          "usd": 89.95,
          "note": "100,000 emails, 1 dedicated IP"
        },
        {
          "item": "Pro 300k",
          "unit": "month",
          "usd": 249,
          "note": "300,000 emails"
        },
        {
          "item": "Pro 700k",
          "unit": "month",
          "usd": 499,
          "note": "700,000 emails"
        }
      ],
      "provenance": {
        "legalEntity": "Twilio Inc.",
        "domain": "sendgrid.com",
        "domainRegistered": "2009-04-20",
        "endpointOnVendorDomain": true,
        "terms": "https://www.twilio.com/en-us/legal/tos",
        "privacy": "https://www.twilio.com/en-us/legal/privacy",
        "statusPage": "https://status.twilio.com",
        "changelog": "https://www.twilio.com/en-us/changelog",
        "securityTxt": "unknown",
        "checked": "2026-09-30",
        "notes": [
          "sendgrid.com returns 403 for /.well-known/security.txt, and sendgrid.com pricing now redirects to twilio.com."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/sendgrid.json",
      "live": {
        "slug": "sendgrid",
        "probe": {
          "target": "https://api.sendgrid.com/v3",
          "method": "get",
          "lastAt": "2026-10-05T01:43:45.211627125Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 176,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 156,
          "p95ms24h": 182,
          "samples24h": 272,
          "samples30d": 1122,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.twilio.com",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-10-05T01:46:46.27962797Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "sendgrid/sendgrid-nodejs",
            "version": "8.1.6",
            "released": "2025-09-19",
            "seenAt": "2026-10-04T16:39:35.712620781Z"
          },
          {
            "registry": "npm",
            "name": "@sendgrid/mail",
            "version": "8.1.6",
            "seenAt": "2026-10-04T16:39:34.797176919Z"
          },
          {
            "registry": "pypi",
            "name": "sendgrid",
            "version": "6.12.5",
            "released": "2025-09-19",
            "seenAt": "2026-10-04T16:39:35.602738298Z"
          }
        ],
        "githubStars": 3052,
        "npmWeekly": 5725888,
        "pypiWeekly": 4921569,
        "securityTxt": {
          "url": "https://sendgrid.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-04T15:15:48.071033664Z"
        },
        "llmsTxt": {
          "url": "https://www.twilio.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:13.607546517Z"
        },
        "domain": {
          "domain": "sendgrid.com",
          "registered": "2009-04-20",
          "source": "https://rdap.verisign.com/com/v1/domain/sendgrid.com",
          "checkedAt": "2026-10-04T13:05:08.539043451Z"
        },
        "pages": [
          {
            "url": "https://www.twilio.com/en-us/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:31.997070508Z",
            "changedAt": "2026-10-03T15:40:22.694527148Z",
            "fingerprint": "a9fbb7f7cfed"
          },
          {
            "url": "https://www.twilio.com/en-us/products/email-api/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:38.631131983Z",
            "changedAt": "2026-10-03T15:40:29.339427666Z",
            "fingerprint": "d7367bb506a5"
          },
          {
            "url": "https://www.twilio.com/en-us/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:34.551038823Z",
            "changedAt": "2026-10-03T15:40:25.166275433Z",
            "fingerprint": "a5ff48b4c6bb"
          },
          {
            "url": "https://www.twilio.com/en-us/legal/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:36.555058934Z",
            "changedAt": "2026-10-03T15:40:27.263475456Z",
            "fingerprint": "2a9a14fa11bf"
          }
        ],
        "updatedAt": "2026-10-05T01:46:46.27962797Z"
      }
    },
    "summary": "Postmark API + MCP has a score of 66.7 (B) against Twilio SendGrid's 63.6 (B). Both do email send. The largest gap is agent ergonomics, 19 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/postmark-vs-sendgrid",
    "json": "https://www.anchorterminal.com/compare/postmark-vs-sendgrid.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/postmark-vs-sendgrid.md",
    "slim": "https://www.anchorterminal.com/compare/postmark-vs-sendgrid.min.md"
  },
  "markdown": "Postmark API + MCP has a score of 66.7 (B) against Twilio SendGrid's 63.6 (B). Both do email send. The largest gap is agent ergonomics, 19 points.\n\n- Postmark API + MCP: grade B, 66.7/100, rank #158 of 452. Markdown https://www.anchorterminal.com/tools/postmark.md · JSON https://www.anchorterminal.com/api/v1/tools/postmark.json\n- Twilio SendGrid: grade B, 63.6/100, rank #202 of 452. Markdown https://www.anchorterminal.com/tools/sendgrid.md · JSON https://www.anchorterminal.com/api/v1/tools/sendgrid.json\n\n## Which one, for what\n\nPick Postmark API + MCP for schema \u0026 documentation (+9), agent ergonomics (+19), payments \u0026 pricing (+10), maintenance \u0026 community (+18).\n\nPick Twilio SendGrid for reliability (+6), security \u0026 auth (+18).\n\n## Score by category\n\n| Category | Weight | Postmark API + MCP | Twilio SendGrid | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 66 | Twilio SendGrid +6 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 72 | Postmark API + MCP +9 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 60 | Postmark API + MCP +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 63 | 81 | Twilio SendGrid +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | Postmark API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 65 | 47 | Postmark API + MCP +18 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 79 | Postmark API + MCP +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **66.7 · B** | **63.6 · B** | |\n\n## Facts side by side\n\n| Fact | Postmark API + MCP | Twilio SendGrid |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Postmark (ActiveCampaign) | Twilio |\n| Hosted endpoint | `https://api.postmarkapp.com` | `https://api.sendgrid.com/v3` |\n| Transports | HTTP, stdio | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | MIT | MIT |\n| Tools exposed | 24 | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-08-12 | 2025-09-19 |\n| Popularity | 57 stars, 1.3M npm/wk | 3.1k stars, 5.5M npm/wk, 4.6M PyPI/wk |\n| Agent reviews | 3/5 (2) | 2.5/5 (2) |\n\n## Verdicts\n\n**Postmark API + MCP.** 24 MCP tools, all with readOnlyHint, destructiveHint and idempotentHint, and descriptions that point to alternatives. No OpenAPI spec and no published request-rate limit.\n\n**Twilio SendGrid.** Restricted API keys with per-endpoint scopes, subuser keys and IP access management. No official MCP server that can send, only Twilio's docs search.\n\n## Before you call either\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. Keep `count + offset` under 10,000 on message and bounce searches\n\n### Twilio SendGrid\n\n1. Give an agent that only sends a restricted key with just `mail.send`\n2. Set `mail_settings.sandbox_mode` to validate payloads without delivery\n3. Authenticate a domain or verify a single sender before the first send\n4. Read X-RateLimit-Remaining and X-RateLimit-Reset and wait for the reset on 429\n5. Don't blindly retry a timed-out mail/send. There's no idempotency key, so the message can go out twice\n\n## Other comparisons with Postmark API + MCP or Twilio SendGrid\n\n- [Amazon SES vs Postmark API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-postmark.md)\n- [Amazon SES vs Twilio SendGrid](https://www.anchorterminal.com/compare/amazon-ses-vs-sendgrid.md)\n- [Brevo API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/brevo-vs-postmark.md)\n- [Brevo API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/brevo-vs-sendgrid.md)\n- [Loops API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/loops-vs-postmark.md)\n- [Loops API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/loops-vs-sendgrid.md)\n- [Mailgun API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-postmark.md)\n- [Mailgun API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailgun-vs-sendgrid.md)\n- [Mailjet API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailjet-vs-postmark.md)\n- [Mailjet API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailjet-vs-sendgrid.md)\n- [Postmark API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/postmark-vs-resend.md)\n- [Postmark API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/postmark-vs-smtp2go.md)\n- [Resend API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/resend-vs-sendgrid.md)\n- [Twilio SendGrid vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/sendgrid-vs-smtp2go.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Postmark API + MCP vs Twilio SendGrid",
        "url": ""
      }
    ],
    "description": "Postmark API + MCP has a score of 66.7 (B) against Twilio SendGrid's 63.6 (B). Both do email send. The largest gap is agent ergonomics, 19 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Postmark API + MCP B 66.7",
      "Twilio SendGrid B 63.6",
      "scores"
    ],
    "h1": "Postmark API + MCP vs Twilio SendGrid",
    "image": "https://www.anchorterminal.com/assets/og/compare-postmark-vs-sendgrid.png",
    "path": "/compare/postmark-vs-sendgrid",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Postmark API + MCP vs Twilio SendGrid for AI agents, B 66.7 vs B 63.6",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/postmark-vs-sendgrid"
  },
  "tokens": {
    "markdown": 1500,
    "slim": 330
  },
  "version": 1
}
