{
  "data": {
    "a": {
      "slug": "mailgun",
      "name": "Mailgun API + MCP",
      "vendor": "Mailgun (Sinch)",
      "vendorUrl": "https://www.mailgun.com",
      "kind": "http-api",
      "category": "email",
      "summary": "Email sending API with inbound routes, a Forwards API, templates, mailing lists, suppressions and address validation, in US and EU regions.",
      "url": "https://www.anchorterminal.com/tools/mailgun",
      "markdownUrl": "https://www.anchorterminal.com/tools/mailgun.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mailgun.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mailgun.json",
      "dns": "mailgun.grade.anchorterminal.com",
      "repo": "https://github.com/mailgun/mailgun-mcp-server",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.mailgun.net/v3",
      "packages": [
        {
          "registry": "npm",
          "name": "mailgun.js"
        },
        {
          "registry": "pypi",
          "name": "mailgun"
        },
        {
          "registry": "npm",
          "name": "@mailgun/mcp-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "HTTP Basic auth with the username `api` and the API key as password. Role-based keys limit what each key can do. EU accounts use api.eu.mailgun.net. The MCP server reads `MAILGUN_API_KEY` and `MAILGUN_API_REGION` from its environment.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 100 emails a day, 1 custom domain, 1 inbound route and 1 day of logs. Basic $15 a month for 10,000 emails, overage $1.80 per 1,000. Foundation $35 for 50,000 (overage $1.30, first month free). Scale $90 for 100,000 (overage $1.10 falling to $0.40 at 2.5 million), with a dedicated IP and 5,000 validations. Validations from $1.20 per 100 (https://www.mailgun.com/pricing/).",
      "priceSummary": "$15 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs, pricing or MCP README (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 74,
      "popularity": {
        "githubStars": 62,
        "npmWeekly": 1321769,
        "pypiWeekly": 61238,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://documentation.mailgun.com",
      "llmsTxt": "https://documentation.mailgun.com/llms.txt",
      "openapi": "https://documentation.mailgun.com/_bundle/docs/mailgun/api-reference/send/mailgun.yaml",
      "capabilities": [
        "email.send",
        "email.inbound",
        "email.templates",
        "email.domains",
        "email.analytics"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks"
      ],
      "lastRelease": "2026-10-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.3,
        "grade": "B",
        "agentReady": false,
        "rank": 253,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 87,
          "payments": 40,
          "reliability": 72,
          "schema": 83,
          "security": 74,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "Key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys limited to one domain and IP allowlisting, and a published 99.99 per cent SLA with service credits. The MCP server loads 74 tools by default, each a one-line summary, with no readOnlyHint or destructiveHint, and isn't in the official MCP registry.",
        "bestFor": "Teams that want inbound routing, validation and per-key roles in one account, in US or EU regions.",
        "strengths": [
          "Key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys and IP allowlisting",
          "OpenAPI 3.1 specs for `send`, `validate`, `optimize` and `inspect`, plus llms.txt",
          "Inbound routes and a Forwards API (May 2026) for incoming mail",
          "SOC 2 Type II and ISO 27001, with a third-party bug bounty",
          "Release notes through October 2026, mailgun-python 1.10.0 on 21 October and MCP CI on Node 20, 22 and 24",
          "A published SLA of 99.99 per cent monthly availability for the API, SMTP and outbound delivery, with service credits"
        ],
        "weaknesses": [
          "74 MCP tools load by default, each a one-line summary, with no readOnlyHint or destructiveHint",
          "EU messaging outages of 38 minutes on 27 August and 17 minutes on 4 September 2026, and EU route delays three times since",
          "No general API rate limit published and no idempotency key for sends",
          "Free plan keeps logs for 1 day and allows 1 inbound route",
          "No security.txt"
        ],
        "agentNotes": [
          "Give an agent that only sends a Domain Sending Key, which can only POST /messages for one domain",
          "Start the MCP with `--tags validate,inspect` when you don't need the 70 send-tagged tools",
          "Set `MAILGUN_API_REGION=eu` for EU accounts, which live on api.eu.mailgun.net",
          "Add `o:testmode=yes` to check a send without delivering it",
          "Verify a custom domain first. The sandbox domain reaches only 5 authorised recipients"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.3
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 87,
          "payments": 40,
          "reliability": 72,
          "schema": 83,
          "security": 74,
          "transparency": 64
        },
        "provenanceScore": 75,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -s --user \"api:$MAILGUN_API_KEY\" \"https://api.mailgun.net/v3/$MAILGUN_DOMAIN/messages\" \\\n  -F from=\"Test \u003cpostmaster@$MAILGUN_DOMAIN\u003e\" -F to=you@example.com \\\n  -F subject=\"Hello\" -F text=\"Testing Mailgun\"",
        "claudeCode": "claude mcp add mailgun -e MAILGUN_API_KEY=$MAILGUN_API_KEY -- npx -y @mailgun/mcp-server",
        "config": {
          "mcpServers": {
            "mailgun": {
              "args": [
                "-y",
                "@mailgun/mcp-server"
              ],
              "command": "npx",
              "env": {
                "MAILGUN_API_KEY": "${MAILGUN_API_KEY}",
                "MAILGUN_API_REGION": "us"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/mailgun"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Basic",
          "unit": "month",
          "usd": 15,
          "note": "10,000 emails"
        },
        {
          "item": "Foundation",
          "unit": "month",
          "usd": 35,
          "note": "50,000 emails"
        },
        {
          "item": "Scale",
          "unit": "month",
          "usd": 90,
          "note": "100,000 emails, 1 dedicated IP"
        },
        {
          "item": "Overage on Basic",
          "unit": "1k-emails",
          "usd": 1.8
        },
        {
          "item": "Overage on Foundation",
          "unit": "1k-emails",
          "usd": 1.3
        },
        {
          "item": "Overage on Scale",
          "unit": "1k-emails",
          "usd": 1.1,
          "note": "falls to $0.40 at 2.5 million"
        }
      ],
      "provenance": {
        "legalEntity": "Mailgun Technologies, Inc.",
        "domain": "mailgun.com",
        "domainRegistered": "2003-12-20",
        "domainNote": "mailgun.com was registered in 2003, years before Mailgun launched in 2010.",
        "endpointOnVendorDomain": false,
        "terms": "https://www.mailgun.com/legal/terms/",
        "privacy": "https://www.mailgun.com/legal/privacy-policy/",
        "statusPage": "https://status.mailgun.com",
        "changelog": "https://www.mailgun.com/releases/",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "notes": [
          "The API is served from mailgun.net, not mailgun.com.",
          "The terms name Sinch Email and the entity on the service order rather than a single company.",
          "The documentation's release-notes page is a stub that links to www.mailgun.com/release-notes/, which redirects to www.mailgun.com/releases/, the dated changelog (1 November 2026).",
          "www.mailgun.com/.well-known/security.txt answered 404 on 1 November 2026."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mailgun.json",
      "live": {
        "slug": "mailgun",
        "probe": {
          "target": "https://api.mailgun.net/v3",
          "method": "get",
          "lastAt": "2026-11-07T18:20:36.783021851Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 513,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 423,
          "p95ms24h": 562,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.mailgun.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:21.483138959Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "mailgun/mailgun-mcp-server",
            "version": "v2.2.0",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:41:55.518970535Z"
          },
          {
            "registry": "npm",
            "name": "@mailgun/mcp-server",
            "version": "2.2.0",
            "seenAt": "2026-11-06T23:41:53.746664775Z"
          },
          {
            "registry": "npm",
            "name": "mailgun.js",
            "version": "14.1.1",
            "seenAt": "2026-11-06T23:41:53.327380772Z"
          },
          {
            "registry": "pypi",
            "name": "mailgun",
            "version": "1.10.0",
            "released": "2026-10-21",
            "seenAt": "2026-11-06T23:41:53.558302349Z"
          }
        ],
        "githubStars": 63,
        "npmWeekly": 1424574,
        "pypiWeekly": 83690,
        "securityTxt": {
          "url": "https://mailgun.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:33.207527205Z"
        },
        "llmsTxt": {
          "url": "https://documentation.mailgun.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:56.117822399Z"
        },
        "domain": {
          "domain": "mailgun.com",
          "registered": "2003-12-20",
          "source": "https://rdap.verisign.com/com/v1/domain/mailgun.com",
          "checkedAt": "2026-11-01T14:18:38.13758159Z"
        },
        "pages": [
          {
            "url": "https://documentation.mailgun.com/docs/mailgun/release/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-02T07:16:25.071881856Z",
            "changedAt": "2026-10-31T06:11:56.253788462Z",
            "fingerprint": "823d06dc752c"
          },
          {
            "url": "https://www.mailgun.com/releases/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:15.665649713Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "46b28a496983"
          },
          {
            "url": "https://www.mailgun.com/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:13.68050251Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "dbcce09b527b"
          },
          {
            "url": "https://www.mailgun.com/legal/privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:09.599527318Z",
            "changedAt": "2026-10-02T15:27:12.688197359Z",
            "fingerprint": "213ddc77ab01"
          },
          {
            "url": "https://www.mailgun.com/legal/terms/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:11.640538028Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e68fb8d6980b"
          }
        ],
        "github": {
          "repo": "mailgun/mailgun-mcp-server",
          "checkedAt": "2026-11-02T09:02:32.954704218Z",
          "stars": 63,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-29T19:44:07Z",
          "openIssues": 4,
          "openPRs": 6,
          "issuesOpened90d": 2,
          "issuesClosed90d": 0,
          "prsMerged90d": 1,
          "ci": {
            "branch": "main",
            "runs": 12,
            "success": 11,
            "failure": 1,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-09-16T15:51:36Z"
          },
          "replies": {
            "sampled": 6,
            "unanswered": 4,
            "medianDays": 12.6
          }
        },
        "updatedAt": "2026-11-07T18:21:21.483138959Z"
      }
    },
    "answer": "Mailgun API + MCP scores 69.3 (B) on agent readiness against SendLayer's 47.7 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "sendlayer",
      "name": "SendLayer",
      "vendor": "SendLayer, LLC",
      "vendorUrl": "https://sendlayer.com",
      "kind": "http-api",
      "category": "email",
      "summary": "SendLayer is a transactional email service from SendLayer, LLC, with an SMTP relay, a REST API for sending and email events, webhooks, SDKs in five languages and a hosted MCP server. It is aimed largely at WordPress and small-business sites.",
      "url": "https://www.anchorterminal.com/tools/sendlayer",
      "markdownUrl": "https://www.anchorterminal.com/tools/sendlayer.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/sendlayer.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sendlayer.json",
      "dns": "sendlayer.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.sendlayer.com",
      "packages": [
        {
          "registry": "npm",
          "name": "sendlayer"
        },
        {
          "registry": "pypi",
          "name": "sendlayer"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key in the `Authorization` header, created per sending domain in the dashboard (one is made when a domain is authorised). Keys can be labelled and deleted; no scopes or read-only keys were found. The hosted MCP server takes the same key in an `x-sendlayer-api-key` or `Authorization` header.",
      "pricing": "paid",
      "pricingNotes": "Plans billed annually. Starter $5 a month for 1,000 emails, Business $15 for 5,000, Growth $25 for 10,000, Scale 20,000+ by quote. A free trial sends up to 200 emails. Accounts that reach their limit are upgraded automatically. 14-day money-back guarantee.",
      "priceSummary": "$5 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, llms.txt, the OpenAPI file or the pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 5,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 113,
        "pypiWeekly": 9,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://developers.sendlayer.com/",
      "llmsTxt": "https://developers.sendlayer.com/llms.txt",
      "openapi": "https://developers.sendlayer.com/api-reference/sendlayer.json",
      "capabilities": [
        "email.send",
        "email.analytics",
        "email.domains"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "smtp",
        "webhooks",
        "openapi",
        "llms-txt",
        "mcp",
        "remote-mcp",
        "status-page",
        "typescript",
        "python",
        "php",
        "ruby",
        "go"
      ],
      "lastRelease": "2026-08-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.7,
        "grade": "D",
        "agentReady": false,
        "rank": 1135,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 19,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 40,
          "payments": 20,
          "reliability": 48,
          "schema": 68,
          "security": 38,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "A small API with an OpenAPI file, llms.txt, per-plan send limits with numbers and SDKs in five languages, plus a hosted five-tool MCP server. Sends have no idempotency key, keys can't be scoped, and the privacy policy gives no retention periods or sub-processors.",
        "bestFor": "Low-volume transactional mail for WordPress and small sites.",
        "strengths": [
          "Send limits per minute, hour and day are published for each plan",
          "OpenAPI file, llms.txt and Markdown copies of every developer page",
          "Official SDKs for Node, Python, PHP, Ruby and Go",
          "Hosted MCP server at mcp.sendlayer.com with five tools for sending, events and webhooks",
          "Numbered error codes with messages for each missing or invalid field"
        ],
        "weaknesses": [
          "No idempotency key on sends, so a retried request can send twice",
          "API keys can't be scoped or made read-only",
          "Status history shows 98 automated outage entries in 90 days with no durations or write-ups",
          "Privacy policy has no date, retention periods, DPA or sub-processor list",
          "No public changelog, SLA, security.txt or disclosure policy found"
        ],
        "agentNotes": [
          "Check the email log with `GET /api/v1/events` before retrying a failed send, since sends have no idempotency key",
          "Keep To and CC at 10 addresses or fewer and BCC at 5, or the API returns error code 20 or 27",
          "Pace sends to the plan's per-minute limit, 50 on Starter and 120 on Business, and back off on 429",
          "Pass the API key in a header to mcp.sendlayer.com; the server answers 405 to anything but POST"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47.7
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 40,
          "payments": 20,
          "reliability": 48,
          "schema": 68,
          "security": 38,
          "transparency": 23
        },
        "provenanceScore": 75,
        "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": {
        "install": "npm install sendlayer",
        "http": "curl https://console.sendlayer.com/api/v1/email -X POST -H \"Authorization: Bearer $SENDLAYER_API_KEY\" -H \"Content-Type: application/json\" -d '{\"From\":{\"name\":\"You\",\"email\":\"you@yourdomain.com\"},\"To\":[{\"name\":\"Person\",\"email\":\"person@example.com\"}],\"Subject\":\"Hello\",\"ContentType\":\"Text\",\"PlainContent\":\"Hello\"}'",
        "claudeCode": "claude mcp add --scope user --transport http sendlayer-mcp https://mcp.sendlayer.com --header \"Authorization: Bearer YOUR_SENDLAYER_API_KEY\"",
        "config": {
          "mcpServers": {
            "sendlayer": {
              "headers": {
                "x-sendlayer-api-key": "YOUR_SENDLAYER_API_KEY"
              },
              "url": "https://mcp.sendlayer.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/sendlayer"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 5,
          "note": "1,000 emails a month, billed annually"
        },
        {
          "item": "Business",
          "unit": "month",
          "usd": 15,
          "note": "5,000 emails a month, billed annually"
        },
        {
          "item": "Growth",
          "unit": "month",
          "usd": 25,
          "note": "10,000 emails a month, billed annually"
        }
      ],
      "provenance": {
        "legalEntity": "SendLayer, LLC",
        "domain": "sendlayer.com",
        "domainRegistered": "2015-07-22",
        "endpointOnVendorDomain": true,
        "terms": "https://sendlayer.com/terms-of-service/",
        "privacy": "https://sendlayer.com/privacy-policy/",
        "statusPage": "https://status.sendlayer.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms name SendLayer, LLC under Florida law with courts in West Palm Beach. Neither the terms nor the privacy policy carries a date.",
          "The terms contain no clause on automated access to the website.",
          "sendlayer.com/robots.txt disallows only WordPress internals, cart and search paths. developers.sendlayer.com allows all but /_next/ and /cdn-cgi/.",
          "RDAP gives sendlayer.com a registration date of 22 July 2015; the about page says the team started SendLayer in 2022, and the footer copyright runs from 2021.",
          "/.well-known/security.txt returns 404."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/sendlayer.json",
      "live": {
        "slug": "sendlayer",
        "probe": {
          "target": "https://mcp.sendlayer.com",
          "method": "get",
          "lastAt": "2026-11-07T18:20:53.661767075Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 337,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 332,
          "p95ms24h": 423,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.sendlayer.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:44.410046578Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "sendlayer",
            "version": "1.1.0",
            "seenAt": "2026-11-07T00:04:36.013206716Z"
          },
          {
            "registry": "pypi",
            "name": "sendlayer",
            "version": "1.1.0",
            "released": "2026-08-21",
            "seenAt": "2026-11-07T00:04:36.403864413Z"
          }
        ],
        "npmWeekly": 113,
        "pypiWeekly": 9,
        "securityTxt": {
          "url": "https://sendlayer.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:08.464258052Z"
        },
        "llmsTxt": {
          "url": "https://developers.sendlayer.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:54.535300528Z"
        },
        "pages": [
          {
            "url": "https://sendlayer.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:19:27.507195007Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1f5bea738989"
          },
          {
            "url": "https://sendlayer.com/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:19:31.497088663Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1fbf9877b12a"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.sendlayer.com",
          "checkedAt": "2026-11-07T01:47:41.040426143Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:47:41.040426143Z"
        },
        "updatedAt": "2026-11-07T18:20:53.661767075Z"
      }
    },
    "edges": [
      {
        "by": 47,
        "category": "maintenance",
        "leads": "mailgun",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Release notes on 29, 21, 20 and 13 October 2026 and mailgun-python 1.10.0 on 21 October (30). Release notes on 31 August, 1, 8, 15, 22 and 29 September and in October, mailgun.js 14.0.0 to 14.1.0 (12 August to 8 October) and mailgun-python 1.9.0 to 1.10.0 (4 August to 21 October), well over three in 90 days (20). The MCP repository merges pull requests and tags each release, the last v2.1.3 on 16 September. We couldn't see open issues or reply times from git (12). mailgun.js 14.1.0 (8 October) and mailgun-python 1.10.0 are current (15). MCP CI runs tests on Node 20, 22 and 24 plus lint, and npm releases publish from a workflow (10). 30 + 20 + 12 + 15 + 10 = 87.",
          "b": "The Node and Python SDKs were last released as 1.1.0 on 21 August 2026, 77 days before this check (20). One SDK release in the 90 days and no dated changelog (0 of 20). A closed service with a support form and docs updated through 2026, but no public changelog (5 of 15). Not in the official MCP registry (search for sendlayer returned nothing on 6 November). Official SDKs in five languages (10 of 15). The SDK repositories exist on GitHub under sendlayer; their CI wasn't read (5 of 10). Total 40."
        },
        "scores": {
          "a": 87,
          "b": 40
        }
      },
      {
        "by": 36,
        "category": "security",
        "leads": "mailgun",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "HTTP Basic auth with a key. Four key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys limited to POST /messages for one domain, and IP allowlisting. Rotation is advised but keys don't expire (28). The Analyst role is read-only, sending keys cover the least-privilege case, and the MCP server exposes no delete operations. Confirmation is left to the client (15). The MCP can fetch stored messages, so inbound mail can reach the model. The README's prompt-injection section asks users to review tool calls and goes no further (6). Logs API with 1 to 30 days of retention by plan, and Mailgun says security logs are kept 365 days (10). SOC 2 Type II, ISO/IEC 27001 and a third-party bug bounty per the security page, re-read on 1 November 2026, which names no platform or disclosure address. Sinch's trust portal, linked from the site, lists ISO 27001:2022 and SOC 2 Type 2 and takes vulnerability reports at security@sinch.com. No security.txt (404). Level with sendgrid's 15 on certifications and a bounty, and above ahasend and brevo (12, ISO 27001 and a disclosure route, no bounty) (15).",
          "b": "Plain revocable API keys per domain, several allowed, sent in a header; no scopes, expiry or rotation feature beyond creating and deleting keys (20 of 30). No read-only key or approval step (0 of 20). The API returns event data, not received mail (10 of 15). Email logs kept 3, 15 or 30 days by plan, and no log of API calls was found (8 of 15). No security.txt (404), disclosure policy, bug bounty or certification found (0 of 20). Total 38."
        },
        "scores": {
          "a": 74,
          "b": 38
        }
      },
      {
        "by": 24,
        "category": "reliability",
        "leads": "mailgun",
        "name": "Reliability",
        "reasons": {
          "a": "Statuspage at status.mailgun.com with dated history (20). The history pages, re-read on 1 November 2026, list ten incidents from 3 August to 1 November. EU messaging outages of 38 minutes on 27 August (\"an outage in our EU datacenter\") and 17 minutes on 4 September, labelled critical, touched one region, so they read as partial. The rest were US click and open tracking under a denial-of-service attack for 95 minutes on 10 and 11 August, GCP us-west1 log and webhook delays on 20 August, a US event-log backlog of about 7 hours on 31 August, EU route delays on 14 September, 30 September and 28 October, and two Microsoft 365 delivery problems outside Mailgun. Minor only (20). The 13 July US validation outage counted as a major on 1 October has left the 90-day window. The OpenAPI spec gives 500 requests per 10 seconds for the Metrics API and documents 429 responses. No general send limit is published (7). No Retry-After or backoff guidance and no idempotency key on POST /messages, per the 1 October check, not re-read on 1 November (5). The SLA page commits to 99.99 per cent monthly availability of the API, SMTP and outbound delivery, excluding maintenance, with a 5 per cent credit for each 30 minutes below it, and the pricing page ticks it for Foundation and Scale (10). GA (10). 20 + 20 + 7 + 5 + 10 + 10 = 72.",
          "b": "Graded with the hosted lines. A Cronitor status page at status.sendlayer.com with components for the app, SMTP, tracking links, the website and each plan's sending IPs, and a history (15 of 20, see below). The 90 days from 8 August hold 98 automated outage entries, 13 of them on SendLayer Services Health, most on per-plan IP monitors, all marked resolved but with no durations or write-ups, so their size can't be judged (5 of 30). Send limits per minute, hour and day are published per plan, plus recipient and size caps (15). 429 appears in the error code list, with no Retry-After, backoff guidance or idempotency for sends (3 of 15). No SLA found (0). The API is at v1 with no beta label (10). The status page's uptime columns showed no data on 6 November, so the component line takes 15 of 20 rather than 20. Total 48."
        },
        "scores": {
          "a": 72,
          "b": 48
        }
      },
      {
        "by": 21,
        "category": "transparency",
        "leads": "mailgun",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with published terms that name Sinch Email and the entity on the service order rather than one company. The MCP server is Apache-2.0 (18). Log retention by plan (1, 5 or 30 days) is on the pricing page, security logs 365 days, and a Sinch DPA is linked from the security page (22). Release notes date changes such as the May 2025 SMTP login change, and the MCP CHANGELOG flags its 2.0.0 tool renames, but we found no deprecation policy (12). Hosted on Google Cloud in US and EU regions. We didn't find a subprocessor list (12).",
          "b": "Closed service with terms naming SendLayer, LLC under Florida law (15 of 30). The privacy policy is undated, says data is kept as long as the account is active or as needed, and names no retention periods, DPA or processors; only the pricing page gives log retention per plan (8 of 30). No deprecation policy or dated notices (0). No sub-processors or data locations disclosed (0). Total 23."
        },
        "scores": {
          "a": 70,
          "b": 49
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "mailgun",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices and per-1,000 overage ($1.80, $1.30, $1.10) published without login (20). Free plan of 100 emails a day with no card (20). A person signs up in a browser and verifies a domain, so no autonomous route (0).",
          "b": "No x402, MPP or L402 (0). Plan prices are public but only as annual plans, with no per-email overage price; accounts are upgraded automatically at the limit (10 of 20). A free trial of 200 emails is offered through checkout; whether it needs a card couldn't be read, since robots.txt disallows the add-to-cart URLs (10 of 20). A person signs up and authorises a domain in a browser (0). Total 20."
        },
        "scores": {
          "a": 40,
          "b": 20
        }
      },
      {
        "by": 15,
        "category": "schema",
        "leads": "mailgun",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.1 for `send`, `validate`, `optimize` and `inspect`, and every MCP tool takes a Zod schema built from it (25). llms.txt with about 145 links and Markdown pages (10). MCP tool descriptions are the OpenAPI operation summary, one line each, with nothing on when to use or avoid a tool (8). Inputs are typed from the spec, though the README says some edge-case parameters fall back to permissive validation (12). The spec carries request and error examples, and the server rewrites 400, 401, 403 and 404 into guidance (13). Dated release notes and a semver CHANGELOG for the MCP server (15).",
          "b": "OpenAPI file at developers.sendlayer.com/api-reference/sendlayer.json (version 1.0.1) covering four paths, send, events and webhooks (25). llms.txt and Markdown copies of every developer page (10). Operation summaries say what each call does; nothing says when not to use one, and the hosted MCP server's tool definitions aren't public (10 of 20). Parameters are typed but without enums or limits, and the event filter is a free string (7 of 15). Code samples in five languages and a table of 35 error codes, but the spec documents only 200 responses (11 of 15). Version in the path and in the spec, with no public changelog (5 of 15). Total 68."
        },
        "scores": {
          "a": 83,
          "b": 68
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Mailgun (Sinch)",
        "b": "SendLayer, LLC",
        "name": "Vendor"
      },
      {
        "a": "https://api.mailgun.net/v3",
        "b": "https://mcp.sendlayer.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "74",
        "b": "5",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-21",
        "b": "2026-08-21",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "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": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "62 stars, 1.3M npm/wk, 61k PyPI/wk",
        "b": "113 npm/wk, 9 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Mailgun API + MCP scores 69.3 (B) on agent readiness against SendLayer's 47.7 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Mailgun API + MCP or SendLayer?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Mailgun API + MCP and SendLayer need an API key?"
      },
      {
        "answer": "Yes. Mailgun API + MCP has a hosted endpoint at https://api.mailgun.net/v3 and SendLayer at https://mcp.sendlayer.com.",
        "question": "Can an agent call Mailgun API + MCP and SendLayer without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 72 against 48",
          "Schema \u0026 documentation, 83 against 68",
          "Security \u0026 auth, 74 against 38",
          "Payments \u0026 pricing, 40 against 20",
          "Maintenance \u0026 community, 87 against 40",
          "Transparency \u0026 trust, 70 against 49"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Teams that want inbound routing, validation and per-key roles in one account, in US or EU regions.",
        "slug": "mailgun",
        "watchFor": "74 MCP tools load by default, each a one-line summary, with no readOnlyHint or destructiveHint"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Low-volume transactional mail for WordPress and small sites.",
        "slug": "sendlayer",
        "watchFor": "No idempotency key on sends, so a retried request can send twice"
      }
    ],
    "history": {
      "mailgun": [
        {
          "causes": [
            "time"
          ],
          "date": "2026-11-01",
          "delta": 3,
          "from": 66.3,
          "fromGrade": "B",
          "to": 69.3,
          "toGrade": "B"
        },
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.1,
          "from": 66.4,
          "fromGrade": "B",
          "to": 66.3,
          "toGrade": "B"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0.1,
          "from": 66.3,
          "fromGrade": "B",
          "to": 66.4,
          "toGrade": "B"
        }
      ],
      "sendlayer": null
    },
    "job": {
      "capability": "email.send",
      "name": "Sending email"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ahasend-vs-mailgun.json",
        "title": "AhaSend API + MCP vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/ahasend-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ahasend-vs-sendlayer.json",
        "title": "AhaSend API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/ahasend-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-mailgun.json",
        "title": "Amazon SES vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-sendlayer.json",
        "title": "Amazon SES vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-mailgun.json",
        "title": "Brevo API + MCP vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-sendlayer.json",
        "title": "Brevo API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailgun.json",
        "title": "Cloudflare Email Service vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendlayer.json",
        "title": "Cloudflare Email Service vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-mailgun.json",
        "title": "Groundmail API + MCP vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-sendlayer.json",
        "title": "Groundmail API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-mailgun.json",
        "title": "Loops API + MCP vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/loops-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-sendlayer.json",
        "title": "Loops API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/loops-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailersend-vs-mailgun.json",
        "title": "MailerSend vs Mailgun API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-mailgun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailersend-vs-sendlayer.json",
        "title": "MailerSend vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-mailjet.json",
        "title": "Mailgun API + MCP vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-mailjet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-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-mailtrap.json",
        "title": "Mailgun API + MCP vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-mandrill.json",
        "title": "Mailgun API + MCP vs Mailchimp Transactional (Mandrill)",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-mandrill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-postmark.json",
        "title": "Mailgun API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-postmark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-resend.json",
        "title": "Mailgun API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-sendgrid.json",
        "title": "Mailgun API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-smtp2go.json",
        "title": "Mailgun API + MCP vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailgun-vs-zoho-zeptomail.json",
        "title": "Mailgun API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/mailgun-vs-zoho-zeptomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailjet-vs-sendlayer.json",
        "title": "Mailjet API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-sendlayer"
      },
      {
        "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/mailtrap-vs-sendlayer.json",
        "title": "Mailtrap Email API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailtrap-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mandrill-vs-sendlayer.json",
        "title": "Mailchimp Transactional (Mandrill) vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mandrill-vs-sendlayer"
      },
      {
        "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/resend-vs-sendlayer.json",
        "title": "Resend API + MCP vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/resend-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendgrid-vs-sendlayer.json",
        "title": "Twilio SendGrid vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/sendgrid-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendlayer-vs-smtp2go.json",
        "title": "SendLayer vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/sendlayer-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail.json",
        "title": "SendLayer vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 24,
        "edge": "mailgun",
        "key": "reliability",
        "mailgun": 72,
        "name": "Reliability",
        "sendlayer": 48,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "mailgun",
        "key": "schema",
        "mailgun": 83,
        "name": "Schema \u0026 documentation",
        "sendlayer": 68,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "sendlayer",
        "key": "ergonomics",
        "mailgun": 60,
        "name": "Agent ergonomics",
        "sendlayer": 62,
        "weight": 13
      },
      {
        "by": 36,
        "edge": "mailgun",
        "key": "security",
        "mailgun": 74,
        "name": "Security \u0026 auth",
        "sendlayer": 38,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "mailgun",
        "key": "payments",
        "mailgun": 40,
        "name": "Payments \u0026 pricing",
        "sendlayer": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 47,
        "edge": "mailgun",
        "key": "maintenance",
        "mailgun": 87,
        "name": "Maintenance \u0026 community",
        "sendlayer": 40,
        "weight": 7
      },
      {
        "by": 21,
        "edge": "mailgun",
        "key": "transparency",
        "mailgun": 70,
        "name": "Transparency \u0026 trust",
        "sendlayer": 49,
        "weight": 7
      }
    ],
    "summary": "Mailgun API + MCP scores 69.3 (B) on agent readiness against SendLayer's 47.7 (D), and leads in 6 of 7 scored categories. Both do sending email.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "mailgun": "Key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys limited to one domain and IP allowlisting, and a published 99.99 per cent SLA with service credits. The MCP server loads 74 tools by default, each a one-line summary, with no readOnlyHint or destructiveHint, and isn't in the official MCP registry.",
      "sendlayer": "A small API with an OpenAPI file, llms.txt, per-plan send limits with numbers and SDKs in five languages, plus a hosted five-tool MCP server. Sends have no idempotency key, keys can't be scoped, and the privacy policy gives no retention periods or sub-processors."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/mailgun-vs-sendlayer",
    "json": "https://www.anchorterminal.com/compare/mailgun-vs-sendlayer.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/mailgun-vs-sendlayer.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/mailgun-vs-sendlayer.min.md"
  },
  "markdown": "Mailgun API + MCP scores 69.3 (B) on agent readiness against SendLayer's 47.7 (D), and leads in 6 of 7 scored categories. Both do sending email.\n\n- Mailgun API + MCP: grade B, 69.3/100, rank #253 of 1486. Markdown https://www.anchorterminal.com/tools/mailgun.md · JSON https://www.anchorterminal.com/api/v1/tools/mailgun.json\n- SendLayer: grade D, 47.7/100, rank #1135 of 1486. Markdown https://www.anchorterminal.com/tools/sendlayer.md · JSON https://www.anchorterminal.com/api/v1/tools/sendlayer.json\n- Best email delivery APIs for AI agents: https://www.anchorterminal.com/best/email/index.md\n- All 174 email comparisons: https://www.anchorterminal.com/compare/email/index.md\n\n## Which one, for what\n\n### Mailgun API + MCP (B)\n\nGood for: Teams that want inbound routing, validation and per-key roles in one account, in US or EU regions.\n\nAhead on:\n- Reliability, 72 against 48\n- Schema \u0026 documentation, 83 against 68\n- Security \u0026 auth, 74 against 38\n- Payments \u0026 pricing, 40 against 20\n- Maintenance \u0026 community, 87 against 40\n- Transparency \u0026 trust, 70 against 49\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: 74 MCP tools load by default, each a one-line summary, with no readOnlyHint or destructiveHint\n\n### SendLayer (D)\n\nGood for: Low-volume transactional mail for WordPress and small sites.\n\nWatch for: No idempotency key on sends, so a retried request can send twice\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Mailgun API + MCP +47\n\n- Mailgun API + MCP (87): Release notes on 29, 21, 20 and 13 October 2026 and mailgun-python 1.10.0 on 21 October (30). Release notes on 31 August, 1, 8, 15, 22 and 29 September and in October, mailgun.js 14.0.0 to 14.1.0 (12 August to 8 October) and mailgun-python 1.9.0 to 1.10.0 (4 August to 21 October), well over three in 90 days (20). The MCP repository merges pull requests and tags each release, the last v2.1.3 on 16 September. We couldn't see open issues or reply times from git (12). mailgun.js 14.1.0 (8 October) and mailgun-python 1.10.0 are current (15). MCP CI runs tests on Node 20, 22 and 24 plus lint, and npm releases publish from a workflow (10). 30 + 20 + 12 + 15 + 10 = 87.\n- SendLayer (40): The Node and Python SDKs were last released as 1.1.0 on 21 August 2026, 77 days before this check (20). One SDK release in the 90 days and no dated changelog (0 of 20). A closed service with a support form and docs updated through 2026, but no public changelog (5 of 15). Not in the official MCP registry (search for sendlayer returned nothing on 6 November). Official SDKs in five languages (10 of 15). The SDK repositories exist on GitHub under sendlayer; their CI wasn't read (5 of 10). Total 40.\n\n### Security \u0026 auth: Mailgun API + MCP +36\n\n- Mailgun API + MCP (74): HTTP Basic auth with a key. Four key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys limited to POST /messages for one domain, and IP allowlisting. Rotation is advised but keys don't expire (28). The Analyst role is read-only, sending keys cover the least-privilege case, and the MCP server exposes no delete operations. Confirmation is left to the client (15). The MCP can fetch stored messages, so inbound mail can reach the model. The README's prompt-injection section asks users to review tool calls and goes no further (6). Logs API with 1 to 30 days of retention by plan, and Mailgun says security logs are kept 365 days (10). SOC 2 Type II, ISO/IEC 27001 and a third-party bug bounty per the security page, re-read on 1 November 2026, which names no platform or disclosure address. Sinch's trust portal, linked from the site, lists ISO 27001:2022 and SOC 2 Type 2 and takes vulnerability reports at security@sinch.com. No security.txt (404). Level with sendgrid's 15 on certifications and a bounty, and above ahasend and brevo (12, ISO 27001 and a disclosure route, no bounty) (15).\n- SendLayer (38): Plain revocable API keys per domain, several allowed, sent in a header; no scopes, expiry or rotation feature beyond creating and deleting keys (20 of 30). No read-only key or approval step (0 of 20). The API returns event data, not received mail (10 of 15). Email logs kept 3, 15 or 30 days by plan, and no log of API calls was found (8 of 15). No security.txt (404), disclosure policy, bug bounty or certification found (0 of 20). Total 38.\n\n### Reliability: Mailgun API + MCP +24\n\n- Mailgun API + MCP (72): Statuspage at status.mailgun.com with dated history (20). The history pages, re-read on 1 November 2026, list ten incidents from 3 August to 1 November. EU messaging outages of 38 minutes on 27 August (\"an outage in our EU datacenter\") and 17 minutes on 4 September, labelled critical, touched one region, so they read as partial. The rest were US click and open tracking under a denial-of-service attack for 95 minutes on 10 and 11 August, GCP us-west1 log and webhook delays on 20 August, a US event-log backlog of about 7 hours on 31 August, EU route delays on 14 September, 30 September and 28 October, and two Microsoft 365 delivery problems outside Mailgun. Minor only (20). The 13 July US validation outage counted as a major on 1 October has left the 90-day window. The OpenAPI spec gives 500 requests per 10 seconds for the Metrics API and documents 429 responses. No general send limit is published (7). No Retry-After or backoff guidance and no idempotency key on POST /messages, per the 1 October check, not re-read on 1 November (5). The SLA page commits to 99.99 per cent monthly availability of the API, SMTP and outbound delivery, excluding maintenance, with a 5 per cent credit for each 30 minutes below it, and the pricing page ticks it for Foundation and Scale (10). GA (10). 20 + 20 + 7 + 5 + 10 + 10 = 72.\n- SendLayer (48): Graded with the hosted lines. A Cronitor status page at status.sendlayer.com with components for the app, SMTP, tracking links, the website and each plan's sending IPs, and a history (15 of 20, see below). The 90 days from 8 August hold 98 automated outage entries, 13 of them on SendLayer Services Health, most on per-plan IP monitors, all marked resolved but with no durations or write-ups, so their size can't be judged (5 of 30). Send limits per minute, hour and day are published per plan, plus recipient and size caps (15). 429 appears in the error code list, with no Retry-After, backoff guidance or idempotency for sends (3 of 15). No SLA found (0). The API is at v1 with no beta label (10). The status page's uptime columns showed no data on 6 November, so the component line takes 15 of 20 rather than 20. Total 48.\n\n### Transparency \u0026 trust: Mailgun API + MCP +21\n\n- Mailgun API + MCP (70): Closed service with published terms that name Sinch Email and the entity on the service order rather than one company. The MCP server is Apache-2.0 (18). Log retention by plan (1, 5 or 30 days) is on the pricing page, security logs 365 days, and a Sinch DPA is linked from the security page (22). Release notes date changes such as the May 2025 SMTP login change, and the MCP CHANGELOG flags its 2.0.0 tool renames, but we found no deprecation policy (12). Hosted on Google Cloud in US and EU regions. We didn't find a subprocessor list (12).\n- SendLayer (49): Closed service with terms naming SendLayer, LLC under Florida law (15 of 30). The privacy policy is undated, says data is kept as long as the account is active or as needed, and names no retention periods, DPA or processors; only the pricing page gives log retention per plan (8 of 30). No deprecation policy or dated notices (0). No sub-processors or data locations disclosed (0). Total 23.\n\n### Payments \u0026 pricing: Mailgun API + MCP +20\n\n- Mailgun API + MCP (40): No x402, MPP or L402 (0). Plan prices and per-1,000 overage ($1.80, $1.30, $1.10) published without login (20). Free plan of 100 emails a day with no card (20). A person signs up in a browser and verifies a domain, so no autonomous route (0).\n- SendLayer (20): No x402, MPP or L402 (0). Plan prices are public but only as annual plans, with no per-email overage price; accounts are upgraded automatically at the limit (10 of 20). A free trial of 200 emails is offered through checkout; whether it needs a card couldn't be read, since robots.txt disallows the add-to-cart URLs (10 of 20). A person signs up and authorises a domain in a browser (0). Total 20.\n\n### Schema \u0026 documentation: Mailgun API + MCP +15\n\n- Mailgun API + MCP (83): OpenAPI 3.1 for `send`, `validate`, `optimize` and `inspect`, and every MCP tool takes a Zod schema built from it (25). llms.txt with about 145 links and Markdown pages (10). MCP tool descriptions are the OpenAPI operation summary, one line each, with nothing on when to use or avoid a tool (8). Inputs are typed from the spec, though the README says some edge-case parameters fall back to permissive validation (12). The spec carries request and error examples, and the server rewrites 400, 401, 403 and 404 into guidance (13). Dated release notes and a semver CHANGELOG for the MCP server (15).\n- SendLayer (68): OpenAPI file at developers.sendlayer.com/api-reference/sendlayer.json (version 1.0.1) covering four paths, send, events and webhooks (25). llms.txt and Markdown copies of every developer page (10). Operation summaries say what each call does; nothing says when not to use one, and the hosted MCP server's tool definitions aren't public (10 of 20). Parameters are typed but without enums or limits, and the event filter is a free string (7 of 15). Code samples in five languages and a table of 35 error codes, but the spec documents only 200 responses (11 of 15). Version in the path and in the spec, with no public changelog (5 of 15). Total 68.\n\n## Score by category\n\n| Category | Weight | Mailgun API + MCP | SendLayer | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 72 | 48 | Mailgun API + MCP +24 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 68 | Mailgun API + MCP +15 |\n| Agent ergonomics | 13% (16.2 this run) | 60 | 62 | SendLayer +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 74 | 38 | Mailgun API + MCP +36 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 20 | Mailgun API + MCP +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 40 | Mailgun API + MCP +47 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 49 | Mailgun API + MCP +21 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.3 · B** | **47.7 · D** | |\n\n## Facts side by side\n\n| Fact | Mailgun API + MCP | SendLayer |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Mailgun (Sinch) | SendLayer, LLC |\n| Hosted endpoint | `https://api.mailgun.net/v3` | `https://mcp.sendlayer.com` |\n| Transports | HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | Apache-2.0 | none |\n| Tools exposed | 74 | 5 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-21 | 2026-08-21 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | no date given | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\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 | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 62 stars, 1.3M npm/wk, 61k PyPI/wk | 113 npm/wk, 9 PyPI/wk |\n| Agent reviews | 3/5 (2) | none |\n\n## How the scores have moved\n\n### Mailgun API + MCP\n\n- +3.0 on 1 November 2026: time\n- -0.1 on 28 October 2026: correction\n- +0.1 on 28 October 2026: new evidence\n\n### SendLayer\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Mailgun API + MCP.** Key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys limited to one domain and IP allowlisting, and a published 99.99 per cent SLA with service credits. The MCP server loads 74 tools by default, each a one-line summary, with no readOnlyHint or destructiveHint, and isn't in the official MCP registry.\n\n**SendLayer.** A small API with an OpenAPI file, llms.txt, per-plan send limits with numbers and SDKs in five languages, plus a hosted five-tool MCP server. Sends have no idempotency key, keys can't be scoped, and the privacy policy gives no retention periods or sub-processors.\n\n## Before you call either\n\n### Mailgun API + MCP\n\n1. Give an agent that only sends a Domain Sending Key, which can only POST /messages for one domain\n2. Start the MCP with `--tags validate,inspect` when you don't need the 70 send-tagged tools\n3. Set `MAILGUN_API_REGION=eu` for EU accounts, which live on api.eu.mailgun.net\n4. Add `o:testmode=yes` to check a send without delivering it\n5. Verify a custom domain first. The sandbox domain reaches only 5 authorised recipients\n\n### SendLayer\n\n1. Check the email log with `GET /api/v1/events` before retrying a failed send, since sends have no idempotency key\n2. Keep To and CC at 10 addresses or fewer and BCC at 5, or the API returns error code 20 or 27\n3. Pace sends to the plan's per-minute limit, 50 on Starter and 120 on Business, and back off on 429\n4. Pass the API key in a header to mcp.sendlayer.com; the server answers 405 to anything but POST\n\n## Questions\n\n### Which is better for AI agents, Mailgun API + MCP or SendLayer?\n\nMailgun API + MCP scores 69.3 (B) on agent readiness against SendLayer's 47.7 (D), and leads in 6 of 7 scored categories.\n\n### Do Mailgun API + MCP and SendLayer need an API key?\n\nBoth need an API key.\n\n### Can an agent call Mailgun API + MCP and SendLayer without installing anything?\n\nYes. Mailgun API + MCP has a hosted endpoint at https://api.mailgun.net/v3 and SendLayer at https://mcp.sendlayer.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/mailgun-vs-sendlayer.json, and with the fewest tokens: https://www.anchorterminal.com/compare/mailgun-vs-sendlayer.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"mailgun\", \"b\": \"sendlayer\"}`. From a terminal: `anchor compare mailgun sendlayer`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/mailgun.json and https://www.anchorterminal.com/api/v1/tools/sendlayer.json\n\n## Other comparisons with Mailgun API + MCP or SendLayer\n\n- [AhaSend API + MCP vs Mailgun API + MCP](https://www.anchorterminal.com/compare/ahasend-vs-mailgun.md)\n- [AhaSend API + MCP vs SendLayer](https://www.anchorterminal.com/compare/ahasend-vs-sendlayer.md)\n- [Amazon SES vs Mailgun API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-mailgun.md)\n- [Amazon SES vs SendLayer](https://www.anchorterminal.com/compare/amazon-ses-vs-sendlayer.md)\n- [Brevo API + MCP vs Mailgun API + MCP](https://www.anchorterminal.com/compare/brevo-vs-mailgun.md)\n- [Brevo API + MCP vs SendLayer](https://www.anchorterminal.com/compare/brevo-vs-sendlayer.md)\n- [Cloudflare Email Service vs Mailgun API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailgun.md)\n- [Cloudflare Email Service vs SendLayer](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-sendlayer.md)\n- [Groundmail API + MCP vs Mailgun API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-mailgun.md)\n- [Groundmail API + MCP vs SendLayer](https://www.anchorterminal.com/compare/groundmail-vs-sendlayer.md)\n- [Loops API + MCP vs Mailgun API + MCP](https://www.anchorterminal.com/compare/loops-vs-mailgun.md)\n- [Loops API + MCP vs SendLayer](https://www.anchorterminal.com/compare/loops-vs-sendlayer.md)\n- [MailerSend vs Mailgun API + MCP](https://www.anchorterminal.com/compare/mailersend-vs-mailgun.md)\n- [MailerSend vs SendLayer](https://www.anchorterminal.com/compare/mailersend-vs-sendlayer.md)\n- [Mailgun API + MCP vs Mailjet API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-mailjet.md)\n- [Mailgun API + MCP vs MailPace](https://www.anchorterminal.com/compare/mailgun-vs-mailpace.md)\n- [Mailgun API + MCP vs Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-mailtrap.md)\n- [Mailgun API + MCP vs Mailchimp Transactional (Mandrill)](https://www.anchorterminal.com/compare/mailgun-vs-mandrill.md)\n- [Mailgun API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-postmark.md)\n- [Mailgun API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-resend.md)\n- [Mailgun API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailgun-vs-sendgrid.md)\n- [Mailgun API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/mailgun-vs-smtp2go.md)\n- [Mailgun API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/mailgun-vs-zoho-zeptomail.md)\n- [Mailjet API + MCP vs SendLayer](https://www.anchorterminal.com/compare/mailjet-vs-sendlayer.md)\n- [MailPace vs SendLayer](https://www.anchorterminal.com/compare/mailpace-vs-sendlayer.md)\n- [Mailtrap Email API + MCP vs SendLayer](https://www.anchorterminal.com/compare/mailtrap-vs-sendlayer.md)\n- [Mailchimp Transactional (Mandrill) vs SendLayer](https://www.anchorterminal.com/compare/mandrill-vs-sendlayer.md)\n- [Postmark API + MCP vs SendLayer](https://www.anchorterminal.com/compare/postmark-vs-sendlayer.md)\n- [Resend API + MCP vs SendLayer](https://www.anchorterminal.com/compare/resend-vs-sendlayer.md)\n- [Twilio SendGrid vs SendLayer](https://www.anchorterminal.com/compare/sendgrid-vs-sendlayer.md)\n- [SendLayer vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/sendlayer-vs-smtp2go.md)\n- [SendLayer vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/sendlayer-vs-zoho-zeptomail.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Mailgun API + MCP vs SendLayer",
        "url": ""
      }
    ],
    "description": "Mailgun scores 69.3 (B) to SendLayer's 47.7 (D) for sending email. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Mailgun API + MCP B 69.3",
      "SendLayer D 47.7",
      "scores"
    ],
    "h1": "Mailgun API + MCP vs SendLayer",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/mailgun-vs-sendlayer",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Mailgun vs SendLayer for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/mailgun-vs-sendlayer"
  },
  "tokens": {
    "markdown": 4650,
    "slim": 2630
  },
  "version": 1
}
