{
  "data": {
    "a": {
      "slug": "groundmail",
      "name": "Groundmail API + MCP",
      "vendor": "Groundmail",
      "vendorUrl": "https://groundmail.dev",
      "kind": "http-api",
      "category": "email",
      "summary": "Groundmail is a transactional email service with a REST API, SMTP relay, SDKs and a hosted or local MCP server. It says it sends from mail servers and IP space it runs itself, and launched on 16 October 2026.",
      "url": "https://www.anchorterminal.com/tools/groundmail",
      "markdownUrl": "https://www.anchorterminal.com/tools/groundmail.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/groundmail.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/groundmail.json",
      "dns": "groundmail.grade.anchorterminal.com",
      "repo": "https://github.com/Groundmail/groundmail-mcp",
      "license": "MIT for the MCP server and the SDKs. The email service is closed source",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.groundmail.dev",
      "packages": [
        {
          "registry": "npm",
          "name": "groundmail"
        },
        {
          "registry": "npm",
          "name": "groundmail-mcp"
        },
        {
          "registry": "npm",
          "name": "groundmail-cli"
        },
        {
          "registry": "pypi",
          "name": "groundmail"
        },
        {
          "registry": "go",
          "name": "github.com/Groundmail/groundmail-sdks/go"
        },
        {
          "registry": "packagist",
          "name": "groundmail/groundmail"
        },
        {
          "registry": "rubygems",
          "name": "groundmail"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key (`gm_...`) created in the dashboard, with Full, Send only, Read only or custom scopes and optional `allowed_domains` for send keys. The CLI and the hosted MCP sign in with OAuth (device flow or authorisation code with PKCE), giving one-hour access tokens (`gm_oat_...`) and rotating refresh tokens. The SMTP relay uses separate `gmsmtp_...` credentials.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 3,000 emails a month, 100 a day and three sending domains, never charged, with no card to sign up but a card on file needed to send to anyone but the account email. Pay as you go is $15 a month with 20,000 emails included, then $0.70 per 1,000 to 100,000, $0.50 to 1 million and $0.30 above (sent and received count the same). Dedicated server $299 a month with 250,000 emails, then $0.40 per 1,000. Accounts on the earlier Pro and Scale plans keep them (https://groundmail.dev/pricing/).",
      "priceSummary": "$15 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms-full.txt, the OpenAPI document or the pricing page (checked 2026-10-17). Billing is through Stripe.",
        "endpoints": []
      },
      "toolCount": 20,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://docs.groundmail.dev",
      "llmsTxt": "https://docs.groundmail.dev/llms.txt",
      "openapi": "https://docs.groundmail.dev/openapi.yaml",
      "registryName": "io.github.Groundmail/groundmail",
      "capabilities": [
        "email.send",
        "email.domains",
        "email.templates",
        "email.inbound",
        "email.analytics"
      ],
      "tags": [
        "hosted",
        "freemium",
        "card-required",
        "mcp",
        "oauth",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "go",
        "php",
        "ruby",
        "webhooks",
        "cli",
        "agent-skills",
        "closed-source",
        "pre-1.0",
        "new"
      ],
      "lastRelease": "2026-11-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.5,
        "grade": "B",
        "agentReady": false,
        "rank": 462,
        "ranked": true,
        "rankOf": 1513,
        "categoryRank": 11,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 77,
          "payments": 35,
          "reliability": 68,
          "schema": 88,
          "security": 63,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -3,
        "negativeNotes": [
          "-3, published API behaviour changed for existing clients with word only on the day it took effect. On 3 November 2026 the changelog said each `to`, `cc`, `bcc` and `from` entry must now be one address, so a list in one string now gets `validation_error`, and that webhook URLs on private addresses are refused, with existing endpoints there now showing `blocked destination`. On 2 November a batch that doesn't fit the request rate is refused whole, and on 18 October the new-account limit moved to a `daily_ramp_limit` 429. One folded term. https://groundmail.dev/changelog/"
        ],
        "verdict": "Groundmail pairs scoped API keys and OAuth with stable error codes, recovery hints and `Idempotency-Key` on sends, and its 51 MCP tools carry safety annotations. Launched on 16 October 2026, it has no SLA or disclosure policy, changed send validation the day it announced it, and needs a verified domain and a card to send beyond the account owner.",
        "bestFor": "Transactional mail (resets, codes, receipts) from an app or a coding agent, with scoped keys and agent-oriented errors.",
        "strengths": [
          "Every error carries a stable `code`, a `hint`, a `docs_url` and, for scope failures, the `required_scope`",
          "`Idempotency-Key` on single and batch sends and on /events, kept 24 hours, with the 504 outcome-unknown case documented",
          "Scoped API keys (Full, Send only, Read only or custom) and send keys limited to named domains",
          "A public status page with nine components and a dated changelog with an RSS feed, both started after launch",
          "All MCP tools carry readOnly, destructive and idempotent hints and an output schema"
        ],
        "weaknesses": [
          "51 MCP tools with no toolsets, about 114 KB of definitions and output schemas",
          "A card on file is needed to send to anyone but the account email, including on the Free plan",
          "No SLA, disclosure policy, bug bounty or certification; security.txt names only a support address",
          "Stricter `to` and `from` checks and the private-address webhook block took effect the day they were posted (3 November 2026)",
          "The MCP `send_email` tool takes no idempotency key, so a retried tool call can send twice"
        ],
        "agentNotes": [
          "Send an `Idempotency-Key` on raw POST /emails or /emails/batch and reuse it on retries. On 504, check GET /emails before sending again",
          "Pass several recipients as an array. A list in one `to` string now returns `validation_error`",
          "Ask the person before adding a domain or a card. Both are needed before mail reaches other recipients",
          "On 429 `daily_ramp_limit`, wait until `details.resets_at`. The new-account limit doubles only after clean sending",
          "Request only the scopes needed, such as `emails:send`. An OAuth request with no scope gets `full`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.5
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 77,
          "payments": 35,
          "reliability": 68,
          "schema": 88,
          "security": 63,
          "transparency": 59
        },
        "provenanceScore": 83,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install groundmail",
        "http": "curl -X POST https://api.groundmail.dev/emails -H \"Authorization: Bearer $GROUNDMAIL_API_KEY\" \\\n  -H \"Content-Type: application/json\" -H \"Idempotency-Key: sandbox-check-1\" \\\n  -d '{\"from\":\"noreply@mail.groundmail.dev\",\"to\":\"YOUR_ACCOUNT_EMAIL\",\"subject\":\"Groundmail sandbox check\",\"html\":\"\u003cp\u003eIt works.\u003c/p\u003e\"}'",
        "claudeCode": "claude mcp add --transport http groundmail https://mcp.groundmail.dev/mcp",
        "config": {
          "mcpServers": {
            "groundmail": {
              "args": [
                "-y",
                "groundmail-mcp"
              ],
              "command": "npx",
              "env": {
                "GROUNDMAIL_API_KEY": "${GROUNDMAIL_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/groundmail"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Pay as you go",
          "unit": "month",
          "usd": 15,
          "note": "20,000 emails included, sent or received"
        },
        {
          "item": "Emails 20,000 to 100,000",
          "unit": "1k-emails",
          "usd": 0.7
        },
        {
          "item": "Emails 100,000 to 1 million",
          "unit": "1k-emails",
          "usd": 0.5
        },
        {
          "item": "Emails above 1 million",
          "unit": "1k-emails",
          "usd": 0.3
        },
        {
          "item": "Dedicated server",
          "unit": "month",
          "usd": 299,
          "note": "250,000 emails included, $0.40 per 1,000 after"
        },
        {
          "item": "Extra dedicated IP",
          "unit": "month",
          "usd": 25,
          "note": "One IP included from 100,000 emails a month on pay as you go"
        }
      ],
      "provenance": {
        "legalEntity": "Power Only Transit Inc. dba Groundmail",
        "domain": "groundmail.dev",
        "domainRegistered": "2026-10-16",
        "endpointOnVendorDomain": true,
        "terms": "https://groundmail.dev/legal/terms/",
        "privacy": "https://groundmail.dev/legal/privacy/",
        "statusPage": "https://status.groundmail.dev/",
        "changelog": "https://groundmail.dev/changelog/",
        "securityTxt": "valid",
        "checked": "2026-11-04",
        "notes": [
          "The terms, privacy policy, DPA and subprocessor list name Power Only Transit Inc. dba Groundmail, 2780 S. Jones Blvd #200-3432, Las Vegas, NV 89146, and Delaware law.",
          "RDAP gave groundmail.dev a registration time of 2026-10-16T03:15Z (17 October check). The terms say they were last updated on 3 November 2026 (v2026-10), the acceptable use policy on 8 August 2026.",
          "groundmail.dev serves a security.txt with a support contact, expiring 2027-10-20. status.groundmail.dev has nine components since 19 October 2026 and a changelog is at groundmail.dev/changelog/.",
          "robots.txt allows all on groundmail.dev and status.groundmail.dev (bar admin and subscription paths) and disallows only /api/ on docs.groundmail.dev. Only allowed paths were read."
        ],
        "score": 83
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/groundmail.json",
      "live": {
        "slug": "groundmail",
        "probe": {
          "target": "https://api.groundmail.dev",
          "method": "get",
          "lastAt": "2026-11-08T19:18:49.712268112Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 680,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.96,
          "p50ms24h": 673,
          "p95ms24h": 868,
          "samples24h": 243,
          "samples30d": 5397,
          "days": [
            {
              "date": "2026-10-17",
              "probes": 21,
              "ok": 21
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 254
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 252
            },
            {
              "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": 243,
              "ok": 243
            },
            {
              "date": "2026-11-08",
              "probes": 196,
              "ok": 196
            }
          ],
          "since": "2026-10-17T00:00:00Z"
        },
        "vendorStatus": {
          "page": "https://status.groundmail.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-08T17:49:27.365847009Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.Groundmail/groundmail",
            "version": "0.29.4",
            "seenAt": "2026-11-08T18:37:59.431193162Z"
          },
          {
            "registry": "npm",
            "name": "groundmail",
            "version": "0.48.1",
            "seenAt": "2026-11-08T01:01:29.985909492Z"
          },
          {
            "registry": "npm",
            "name": "groundmail-cli",
            "version": "0.47.0",
            "seenAt": "2026-11-08T01:01:32.191206987Z"
          },
          {
            "registry": "npm",
            "name": "groundmail-mcp",
            "version": "0.29.4",
            "seenAt": "2026-11-08T01:01:30.765069743Z"
          },
          {
            "registry": "pypi",
            "name": "groundmail",
            "version": "0.8.4",
            "released": "2026-10-18",
            "seenAt": "2026-11-08T01:01:45.471955495Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 6069,
        "pypiWeekly": 15,
        "securityTxt": {
          "url": "https://groundmail.dev/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-20T00:00:00.000Z",
          "checkedAt": "2026-11-08T16:04:33.235722855Z"
        },
        "llmsTxt": {
          "url": "https://docs.groundmail.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-08T15:36:14.294168158Z"
        },
        "domain": {
          "domain": "groundmail.dev",
          "registered": "2026-10-16",
          "source": "https://pubapi.registry.google/rdap/domain/groundmail.dev",
          "checkedAt": "2026-11-08T14:52:49.350394543Z"
        },
        "pages": [
          {
            "url": "https://groundmail.dev/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-08T15:02:01.046213998Z",
            "changedAt": "2026-11-08T15:02:01.046213998Z",
            "fingerprint": "74357b6e6c3a"
          },
          {
            "url": "https://groundmail.dev/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-08T15:02:07.320395376Z",
            "changedAt": "2026-11-08T15:02:07.320395376Z",
            "fingerprint": "3467eb8bf096"
          },
          {
            "url": "https://groundmail.dev/legal/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-08T15:02:04.27294243Z",
            "changedAt": "2026-11-08T15:02:04.27294243Z",
            "fingerprint": "a78c5552ce44"
          },
          {
            "url": "https://groundmail.dev/legal/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-08T15:02:05.374101066Z",
            "changedAt": "2026-11-08T15:02:05.374101066Z",
            "fingerprint": "7c7e1e073330"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.groundmail.dev/mcp",
          "checkedAt": "2026-11-08T01:58:54.097835704Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:45:18.138300666Z"
        },
        "github": {
          "repo": "groundmail/groundmail-mcp",
          "checkedAt": "2026-11-02T08:53:16.530414143Z",
          "stars": 0,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T04:35:38Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0
        },
        "updatedAt": "2026-11-08T19:18:49.712268112Z"
      },
      "streak": {
        "days": 22,
        "from": "2026-10-17",
        "sinceWatching": true,
        "best": 22
      }
    },
    "answer": "Groundmail API + MCP scores 64.5 (B) on agent readiness against MailPace's 58.4 (C), and leads in 4 of 7 scored categories.",
    "b": {
      "slug": "mailpace",
      "name": "MailPace",
      "vendor": "OhMySMTP Ltd",
      "vendorUrl": "https://mailpace.com",
      "kind": "http-api",
      "category": "email",
      "summary": "MailPace is a UK transactional email service, formerly OhMySMTP, hosted in the EU. It sends mail through an HTTPS API or SMTP, turns inbound mail into webhooks and has a Domains and Email Status API.",
      "url": "https://www.anchorterminal.com/tools/mailpace",
      "markdownUrl": "https://www.anchorterminal.com/tools/mailpace.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mailpace.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mailpace.json",
      "dns": "mailpace.grade.anchorterminal.com",
      "repo": "https://github.com/mailpace/mailpace-mcp",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@mailpace/mailpace.js"
        }
      ],
      "auth": "api-key",
      "authNotes": "Each domain has its own server token, sent in the `MailPace-Server-Token` header, which can send from that domain and read its email status. An organisation token in `MailPace-Organization-Token` manages domains and domain tokens through the Domains API, including revoking them. Both are made in the dashboard after a browser signup.",
      "pricing": "paid",
      "pricingNotes": "$10 a month includes 10,000 emails sent or received, then $1 per 1,000, per the Paddle prices the pricing page loads and the comparison pages ($100 for 100,000, $1,000 for 1 million). A free plan of up to 100 emails a month is given on request by email. Paddle is the merchant of record; card, PayPal, Apple Pay or Google Pay.",
      "priceSummary": "$10 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs repository, the pricing page or the MCP server source (checked 2026-11-06). Payment is by Paddle subscription; the FAQ says crypto isn't accepted.",
        "endpoints": []
      },
      "toolCount": 12,
      "popularity": {
        "githubStars": 1,
        "npmWeekly": 207,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.mailpace.com/",
      "capabilities": [
        "email.send",
        "email.inbound",
        "email.domains",
        "email.analytics"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "smtp",
        "webhooks",
        "idempotency",
        "status-page",
        "sla",
        "eu",
        "mcp",
        "typescript",
        "ruby",
        "go",
        "php"
      ],
      "lastRelease": "2026-10-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.4,
        "grade": "C",
        "agentReady": false,
        "rank": 754,
        "ranked": true,
        "rankOf": 1513,
        "categoryRank": 17,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 65,
          "payments": 25,
          "reliability": 70,
          "schema": 54,
          "security": 50,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "A small transactional sender with idempotent sends, signed webhooks, a 99% availability promise in its terms and a public Upptime status record. There is no OpenAPI spec, no published rate limit, no llms.txt, and its MCP server was rewritten on 4 November 2026 but isn't on npm or in the MCP registry yet.",
        "bestFor": "Low-volume transactional mail from EU-hosted infrastructure with idempotent sends and no tracking.",
        "strengths": [
          "Sends accept an `Idempotency-Key` header kept for 24 hours, so a retry after a timeout doesn't send twice",
          "Per-domain server tokens limit a leaked key to one domain, and organisation tokens can create and revoke them by API",
          "Webhooks are signed with Ed25519 and inbound mail is retried five times before it fails",
          "Status page on Upptime with GitHub issues as incident reports, and a 99% monthly availability promise with credits in the terms",
          "Sub-processors and their locations are listed, and mail is kept 30 days plus 7 in backups per the DPA"
        ],
        "weaknesses": [
          "No OpenAPI spec, llms.txt or Markdown docs for agents; the reference is Docusaurus pages",
          "Rate limits aren't published; the docs say they vary by organisation age, plan and history",
          "No free plan without emailing support, and the paid plan starts at $10 a month",
          "MCP server 2.0.0 exists only in the repository; npm and the MCP registry had nothing for it on 6 November 2026",
          "No security.txt, disclosure policy or certification found"
        ],
        "agentNotes": [
          "Send a UUID in `Idempotency-Key` on every `POST /api/v1/send`, and reuse it on a retry; keys last 24 hours and are tied to one token",
          "Use the server token of the sending domain, since the From domain must match the token's domain or the API returns 403",
          "On 429 `You are sending emails too quickly` back off; no Retry-After is documented",
          "Send only transactional mail; marketing and bulk newsletters are prohibited by the docs and terms",
          "Read delivery with `GET /api/v1/domains/:domain_id/emails/:id` using the id the send returned"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.4
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 65,
          "payments": 25,
          "reliability": 70,
          "schema": 54,
          "security": 50,
          "transparency": 69
        },
        "provenanceScore": 81,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://app.mailpace.com/api/v1/send -X POST -H \"Accept: application/json\" -H \"Content-Type: application/json\" -H \"MailPace-Server-Token: $MAILPACE_TOKEN\" -H \"Idempotency-Key: $(uuidgen)\" -d '{\"from\":\"you@yourdomain.com\",\"to\":\"person@example.com\",\"subject\":\"Hello\",\"textbody\":\"Hello\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/email.send",
        "tool": "https://letme.dev/mailpace"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Scaling plan",
          "unit": "month",
          "usd": 10,
          "note": "includes 10,000 emails sent or received"
        },
        {
          "item": "Emails beyond 10,000",
          "unit": "1k-emails",
          "usd": 1
        }
      ],
      "provenance": {
        "legalEntity": "OhMySMTP Ltd",
        "domain": "mailpace.com",
        "domainRegistered": "2022-01-10",
        "endpointOnVendorDomain": true,
        "terms": "https://mailpace.com/terms",
        "privacy": "https://mailpace.com/privacy",
        "statusPage": "https://status.mailpace.com",
        "changelog": "https://mailpace.com/category/changelog",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms and privacy policy name OhMySMTP Ltd, incorporated in England and Wales, company number 13200428. Companies House lists two active directors.",
          "Terms last updated 9 January 2026, privacy policy 30 August 2026, DPA updated in October 2026 per the landing repository.",
          "mailpace.com/robots.txt allows all paths. The terms contain no clause on automated access to the website beyond the usual licence limits.",
          "RDAP gives mailpace.com a registration date of 10 January 2022; the service ran as OhMySMTP before that.",
          "/.well-known/security.txt returns 404 on mailpace.com and app.mailpace.com."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mailpace.json",
      "live": {
        "slug": "mailpace",
        "vendorStatus": {
          "page": "https://status.mailpace.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-08T17:49:35.637376774Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@mailpace/mailpace.js",
            "version": "0.1.3",
            "seenAt": "2026-11-08T01:13:14.578880924Z"
          }
        ],
        "githubStars": 1,
        "npmWeekly": 168,
        "securityTxt": {
          "url": "https://mailpace.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-08T16:04:13.139381379Z"
        },
        "domain": {
          "domain": "mailpace.com",
          "registered": "2022-01-10",
          "source": "https://rdap.verisign.com/com/v1/domain/mailpace.com",
          "checkedAt": "2026-11-08T15:04:52.431722258Z"
        },
        "pages": [
          {
            "url": "https://mailpace.com/category/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-08T15:05:06.36511242Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "38f92a159d1b"
          },
          {
            "url": "https://mailpace.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-08T15:05:08.943379563Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e6b0fea49c1d"
          },
          {
            "url": "https://mailpace.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-08T15:05:10.590033599Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "24f1eed01dad"
          }
        ],
        "updatedAt": "2026-11-08T17:49:35.637376774Z"
      }
    },
    "edges": [
      {
        "by": 34,
        "category": "schema",
        "leads": "groundmail",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.1 at docs.groundmail.dev/openapi.yaml with 70 operations, each naming its scope in `x-required-scope`, and typed input and output schemas on every MCP tool (25, OpenAPI per the 17 October check; a permission check refused the request on 4 November). llms.txt, llms-full.txt, Agent Skills and, since 22 October, a Markdown version of every docs page (10). MCP descriptions run from one line to a paragraph, with a few 'do not combine' rules, and only 21 of 70 OpenAPI operations carried a description on 17 October (12 of 20). The OpenAPI document bounds `limit` from 1 to 100 and uses enums, but the MCP `limit` is an unbounded number and template `variables` are free-form (11 of 15). An errors page with every code, its status, a fix and examples, 69 of 70 operations listing 4xx responses, and curl and SDK examples (15). A public changelog at groundmail.dev/changelog with 155 dated entries from 24 July to 3 November 2026 and an RSS feed, semver tags on the MCP server and Go SDK, and a versioned OpenAPI document (15). 25+10+12+11+15+15 = 88.",
          "b": "No OpenAPI or other machine-readable contract for the HTTPS API. The MCP server's 12 tools have typed zod inputs and output schemas, but that server isn't published yet, so partial credit (8 of 25). llms.txt answers 404 on mailpace.com and docs.mailpace.com, and no Markdown copies are served (0). The reference states what each endpoint does, and the introduction says when not to use it (transactional only, no batch, no static IPs) (12 of 20). Field tables give type, examples and required or optional, with enums for status, sort and direction and the 50-recipient cap in text (9 of 15). Examples in curl and six languages and a full table of error responses with messages, though several listed messages have a broken quote (`{\"error:\"...`) and the send reference says 30 MB where the home page says 25 MB (12 of 15). Version in the path with a promise that an old version runs until a published end-of-life date, and dated changelog posts (13 of 15). Total 54."
        },
        "scores": {
          "a": 88,
          "b": 54
        }
      },
      {
        "by": 13,
        "category": "security",
        "leads": "groundmail",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Scoped API keys with Full, Send only, Read only and custom sets, send keys limited to named domains, and OAuth with PKCE S256, resource indicators, one-hour tokens and refresh-token reuse detection. Bearer tokens go in the header only. An OAuth request that names no scope gets `full` (28 of 30). Read-only and send-only presets for keys and MCP connections, and the sandbox limits sends to the account email until a domain and card are on file. Confirmation before a send is left to the client (16 of 20). The MCP returns subjects and bounce reasons, and the API returns full inbound messages from /received-emails. No prompt-injection guidance in the MCP source or README (4 of 15). Connected CLIs and agents are listed with their scopes and can be revoked, keys show `last_used_at`, GET /emails logs each send, and since 3 November a webhook delivery log shows every attempt. No request or audit log is documented (8 of 15). groundmail.dev now serves a security.txt (contact support@groundmail.dev, expires 20 October 2027) with no acknowledgement time, no disclosure policy, bug bounty or certification found; graded as mails-ai and tokenrip (7 of 20). 28+16+4+8+7 = 63.",
          "b": "Per-domain server tokens that can only send from and read status for their domain, and an organisation token that creates, renames and revokes domain tokens through the Domains API. Tokens travel in headers only. The authentication page still tells users to contact support to regenerate a leaked token (25 of 30). No read-only token. A domain token can't touch other domains, and the unpublished MCP server has an optional recipient allowlist. No approval step on the hosted API (8 of 20). Inbound mail reaches the customer's webhook as untrusted content, and Email Status returns bounce text. The MCP README warns about prompt injection and suggests the allowlist (9 of 15). The dashboard keeps sent mail for 30 days; no log of API calls was found (6 of 15). No security.txt (404 on mailpace.com and app.mailpace.com), no disclosure policy, bug bounty, SOC 2 or ISO 27001. WebAuthn-only two-factor sign-in and Ed25519-signed webhooks are documented (2 of 20). Total 50."
        },
        "scores": {
          "a": 63,
          "b": 50
        }
      },
      {
        "by": 12,
        "category": "maintenance",
        "leads": "groundmail",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "groundmail-mcp 0.27.0, published to the official MCP registry on 4 November 2026 (30). The official MCP registry lists 42 groundmail-mcp versions published from 18 October to 4 November on the first page of its listing, the Go SDK is tagged to go/v0.9.2 (23 October), and the changelog has 155 dated entries, 136 of them since 16 October (20). The public GitHub repositories are mirrors with no readable issue replies, and support is by email and in-product chat whose replies weren't read; the public changelog is new since 17 October (8 of 25, judgement call). In the official MCP registry under the GitHub-verified namespace io.github.Groundmail, with current SDKs (15). Tests in the MCP and SDK repositories and a current MCP SDK dependency (^1.32.2), but no CI workflow in the public repositories (4 of 10). 30+20+8+15+4 = 77.",
          "b": "Email Status API documented on 22 October 2026, and the MCP server rewritten as 2.0.0 on 4 November 2026, two days before this check (30). In the 90 days from 8 August, the Q3 changelog post of 31 August, the Email Status docs of 22 October, a mailpace-rails push on 17 October and the MCP rewrite, but only one changelog post (15 of 20). A closed service with email support. Three pull requests to the MCP repository from 2025 have no reply (8 of 15). Not in the official MCP registry (search for mailpace returned nothing on 6 November). The Node library was last pushed in October 2024 and Go in January 2024, while mailpace-rails is current (7 of 15). The MCP server gained CI with tests on 4 November; the older SDKs weren't checked for CI (5 of 10). Total 65."
        },
        "scores": {
          "a": 77,
          "b": 65
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "groundmail",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 in the docs, the changelog or the pricing page (0). Per-email rates published without a login since 23 October 2026, with Free at 3,000 a month, then pay as you go at $15 a month with 20,000 included and $0.70, $0.50 and $0.30 per 1,000 by band (20). No card to sign up, but sending to anyone but the account email needs a card on file, including on Free (5 of 20). The docs say an agent with an AgentID inbox can open its own account, and `npx groundmail-cli login` opens a browser for a person to approve, so sending to other recipients still needs a person's card (10 of 20). 0+20+5+10 = 35.",
          "b": "No x402, MPP or L402 (0). $10 a month for 10,000 emails and $1 per 1,000 after, loaded from Paddle on the pricing page and stated in the comparison pages' tables without login (20). A free plan of up to 100 emails a month is available only by emailing support, so it isn't self-serve (5 of 20). Signup, DKIM verification and payment happen in a browser (0). Total 25."
        },
        "scores": {
          "a": 35,
          "b": 25
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Groundmail",
        "b": "OhMySMTP Ltd",
        "name": "Vendor"
      },
      {
        "a": "https://api.groundmail.dev",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT for the MCP server and the SDKs. The email service is closed source",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "20",
        "b": "12",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "io.github.Groundmail/groundmail",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-11-04",
        "b": "2026-10-22",
        "name": "Last release"
      },
      {
        "a": "2026-10-29",
        "b": "2026-01-09",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-29",
        "b": "2026-08-30",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "1 stars, 207 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Groundmail API + MCP scores 64.5 (B) on agent readiness against MailPace's 58.4 (C), and leads in 4 of 7 scored categories.",
        "question": "Which is better for AI agents, Groundmail API + MCP or MailPace?"
      },
      {
        "answer": "Groundmail API + MCP takes an API key or an OAuth sign-in. MailPace needs an API key.",
        "question": "Do Groundmail API + MCP and MailPace need an API key?"
      },
      {
        "answer": "Groundmail API + MCP has a hosted endpoint at https://api.groundmail.dev. No hosted endpoint is listed for MailPace.",
        "question": "Can an agent call Groundmail API + MCP and MailPace without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 88 against 54",
          "Security \u0026 auth, 63 against 50",
          "Payments \u0026 pricing, 35 against 25",
          "Maintenance \u0026 community, 77 against 65"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine"
        ],
        "goodFor": "Transactional mail (resets, codes, receipts) from an app or a coding agent, with scoped keys and agent-oriented errors.",
        "slug": "groundmail",
        "watchFor": "51 MCP tools with no toolsets, about 114 KB of definitions and output schemas"
      },
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where Groundmail API + MCP loses 3 points for them"
        ],
        "goodFor": "Low-volume transactional mail from EU-hosted infrastructure with idempotent sends and no tracking.",
        "slug": "mailpace",
        "watchFor": "No OpenAPI spec, llms.txt or Markdown docs for agents; the reference is Docusaurus pages"
      }
    ],
    "history": {
      "groundmail": [
        {
          "causes": [
            "security",
            "product",
            "event"
          ],
          "date": "2026-11-04",
          "delta": 6.9,
          "from": 57.6,
          "fromGrade": "C",
          "to": 64.5,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-30",
          "delta": -0.1,
          "from": 57.7,
          "fromGrade": "C",
          "to": 57.6,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 57.6,
          "fromGrade": "C",
          "to": 57.7,
          "toGrade": "C"
        }
      ],
      "mailpace": null
    },
    "job": {
      "capability": "email.send",
      "name": "Sending email"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ahasend-vs-groundmail.json",
        "title": "AhaSend API + MCP vs Groundmail API + MCP",
        "url": "https://www.anchorterminal.com/compare/ahasend-vs-groundmail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ahasend-vs-mailpace.json",
        "title": "AhaSend API + MCP vs MailPace",
        "url": "https://www.anchorterminal.com/compare/ahasend-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-groundmail.json",
        "title": "Amazon SES vs Groundmail API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-groundmail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-ses-vs-mailpace.json",
        "title": "Amazon SES vs MailPace",
        "url": "https://www.anchorterminal.com/compare/amazon-ses-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-groundmail.json",
        "title": "Brevo API + MCP vs Groundmail API + MCP",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-groundmail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brevo-vs-mailpace.json",
        "title": "Brevo API + MCP vs MailPace",
        "url": "https://www.anchorterminal.com/compare/brevo-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-groundmail.json",
        "title": "Cloudflare Email Service vs Groundmail API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-groundmail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailpace.json",
        "title": "Cloudflare Email Service vs MailPace",
        "url": "https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-loops.json",
        "title": "Groundmail API + MCP vs Loops API + MCP",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-loops"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-mailersend.json",
        "title": "Groundmail API + MCP vs MailerSend",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-mailersend"
      },
      {
        "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-mailjet.json",
        "title": "Groundmail API + MCP vs Mailjet API + MCP",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-mailjet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-mailtrap.json",
        "title": "Groundmail API + MCP vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-mandrill.json",
        "title": "Groundmail API + MCP vs Mailchimp Transactional (Mandrill)",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-mandrill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-postmark.json",
        "title": "Groundmail API + MCP vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-postmark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-resend.json",
        "title": "Groundmail API + MCP vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-sendgrid.json",
        "title": "Groundmail API + MCP vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-sendgrid"
      },
      {
        "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/groundmail-vs-smtp2go.json",
        "title": "Groundmail API + MCP vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groundmail-vs-zoho-zeptomail.json",
        "title": "Groundmail API + MCP vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/groundmail-vs-zoho-zeptomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/loops-vs-mailpace.json",
        "title": "Loops API + MCP vs MailPace",
        "url": "https://www.anchorterminal.com/compare/loops-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailersend-vs-mailpace.json",
        "title": "MailerSend vs MailPace",
        "url": "https://www.anchorterminal.com/compare/mailersend-vs-mailpace"
      },
      {
        "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/mailjet-vs-mailpace.json",
        "title": "Mailjet API + MCP vs MailPace",
        "url": "https://www.anchorterminal.com/compare/mailjet-vs-mailpace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-mailtrap.json",
        "title": "MailPace vs Mailtrap Email API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-mailtrap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-mandrill.json",
        "title": "MailPace vs Mailchimp Transactional (Mandrill)",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-mandrill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-postmark.json",
        "title": "MailPace vs Postmark API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-postmark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-resend.json",
        "title": "MailPace vs Resend API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-resend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-sendgrid.json",
        "title": "MailPace vs Twilio SendGrid",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-sendgrid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-sendlayer.json",
        "title": "MailPace vs SendLayer",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-sendlayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-smtp2go.json",
        "title": "MailPace vs SMTP2GO API + MCP",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-smtp2go"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailpace-vs-zoho-zeptomail.json",
        "title": "MailPace vs Zoho CPaaS (formerly ZeptoMail)",
        "url": "https://www.anchorterminal.com/compare/mailpace-vs-zoho-zeptomail"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 2,
        "edge": "mailpace",
        "groundmail": 68,
        "key": "reliability",
        "mailpace": 70,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 34,
        "edge": "groundmail",
        "groundmail": 88,
        "key": "schema",
        "mailpace": 54,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 2,
        "edge": "mailpace",
        "groundmail": 69,
        "key": "ergonomics",
        "mailpace": 71,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 13,
        "edge": "groundmail",
        "groundmail": 63,
        "key": "security",
        "mailpace": 50,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "edge": "groundmail",
        "groundmail": 35,
        "key": "payments",
        "mailpace": 25,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "groundmail",
        "groundmail": 77,
        "key": "maintenance",
        "mailpace": 65,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 4,
        "edge": "mailpace",
        "groundmail": 71,
        "key": "transparency",
        "mailpace": 75,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Groundmail API + MCP scores 64.5 (B) on agent readiness against MailPace's 58.4 (C), and leads in 4 of 7 scored categories. Both do sending email.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "groundmail": "Groundmail pairs scoped API keys and OAuth with stable error codes, recovery hints and `Idempotency-Key` on sends, and its 51 MCP tools carry safety annotations. Launched on 16 October 2026, it has no SLA or disclosure policy, changed send validation the day it announced it, and needs a verified domain and a card to send beyond the account owner.",
      "mailpace": "A small transactional sender with idempotent sends, signed webhooks, a 99% availability promise in its terms and a public Upptime status record. There is no OpenAPI spec, no published rate limit, no llms.txt, and its MCP server was rewritten on 4 November 2026 but isn't on npm or in the MCP registry yet."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/groundmail-vs-mailpace",
    "json": "https://www.anchorterminal.com/compare/groundmail-vs-mailpace.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/groundmail-vs-mailpace.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/groundmail-vs-mailpace.min.md"
  },
  "markdown": "Groundmail API + MCP scores 64.5 (B) on agent readiness against MailPace's 58.4 (C), and leads in 4 of 7 scored categories. Both do sending email.\n\n- Groundmail API + MCP: grade B, 64.5/100, rank #462 of 1513. Markdown https://www.anchorterminal.com/tools/groundmail.md · JSON https://www.anchorterminal.com/api/v1/tools/groundmail.json\n- MailPace: grade C, 58.4/100, rank #754 of 1513. Markdown https://www.anchorterminal.com/tools/mailpace.md · JSON https://www.anchorterminal.com/api/v1/tools/mailpace.json\n- Best email delivery APIs for AI agents: https://www.anchorterminal.com/best/email/index.md\n- All 174 email comparisons: https://www.anchorterminal.com/compare/email/index.md\n\n## Which one, for what\n\n### Groundmail API + MCP (B)\n\nGood for: Transactional mail (resets, codes, receipts) from an app or a coding agent, with scoped keys and agent-oriented errors.\n\nAhead on:\n- Schema \u0026 documentation, 88 against 54\n- Security \u0026 auth, 63 against 50\n- Payments \u0026 pricing, 35 against 25\n- Maintenance \u0026 community, 77 against 65\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n\nWatch for: 51 MCP tools with no toolsets, about 114 KB of definitions and output schemas\n\n### MailPace (C)\n\nGood for: Low-volume transactional mail from EU-hosted infrastructure with idempotent sends and no tracking.\n\nAlso in its favour:\n- No incidents deducted, where Groundmail API + MCP loses 3 points for them\n\nWatch for: No OpenAPI spec, llms.txt or Markdown docs for agents; the reference is Docusaurus pages\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Groundmail API + MCP +34\n\n- Groundmail API + MCP (88): OpenAPI 3.1 at docs.groundmail.dev/openapi.yaml with 70 operations, each naming its scope in `x-required-scope`, and typed input and output schemas on every MCP tool (25, OpenAPI per the 17 October check; a permission check refused the request on 4 November). llms.txt, llms-full.txt, Agent Skills and, since 22 October, a Markdown version of every docs page (10). MCP descriptions run from one line to a paragraph, with a few 'do not combine' rules, and only 21 of 70 OpenAPI operations carried a description on 17 October (12 of 20). The OpenAPI document bounds `limit` from 1 to 100 and uses enums, but the MCP `limit` is an unbounded number and template `variables` are free-form (11 of 15). An errors page with every code, its status, a fix and examples, 69 of 70 operations listing 4xx responses, and curl and SDK examples (15). A public changelog at groundmail.dev/changelog with 155 dated entries from 24 July to 3 November 2026 and an RSS feed, semver tags on the MCP server and Go SDK, and a versioned OpenAPI document (15). 25+10+12+11+15+15 = 88.\n- MailPace (54): No OpenAPI or other machine-readable contract for the HTTPS API. The MCP server's 12 tools have typed zod inputs and output schemas, but that server isn't published yet, so partial credit (8 of 25). llms.txt answers 404 on mailpace.com and docs.mailpace.com, and no Markdown copies are served (0). The reference states what each endpoint does, and the introduction says when not to use it (transactional only, no batch, no static IPs) (12 of 20). Field tables give type, examples and required or optional, with enums for status, sort and direction and the 50-recipient cap in text (9 of 15). Examples in curl and six languages and a full table of error responses with messages, though several listed messages have a broken quote (`{\"error:\"...`) and the send reference says 30 MB where the home page says 25 MB (12 of 15). Version in the path with a promise that an old version runs until a published end-of-life date, and dated changelog posts (13 of 15). Total 54.\n\n### Security \u0026 auth: Groundmail API + MCP +13\n\n- Groundmail API + MCP (63): Scoped API keys with Full, Send only, Read only and custom sets, send keys limited to named domains, and OAuth with PKCE S256, resource indicators, one-hour tokens and refresh-token reuse detection. Bearer tokens go in the header only. An OAuth request that names no scope gets `full` (28 of 30). Read-only and send-only presets for keys and MCP connections, and the sandbox limits sends to the account email until a domain and card are on file. Confirmation before a send is left to the client (16 of 20). The MCP returns subjects and bounce reasons, and the API returns full inbound messages from /received-emails. No prompt-injection guidance in the MCP source or README (4 of 15). Connected CLIs and agents are listed with their scopes and can be revoked, keys show `last_used_at`, GET /emails logs each send, and since 3 November a webhook delivery log shows every attempt. No request or audit log is documented (8 of 15). groundmail.dev now serves a security.txt (contact support@groundmail.dev, expires 20 October 2027) with no acknowledgement time, no disclosure policy, bug bounty or certification found; graded as mails-ai and tokenrip (7 of 20). 28+16+4+8+7 = 63.\n- MailPace (50): Per-domain server tokens that can only send from and read status for their domain, and an organisation token that creates, renames and revokes domain tokens through the Domains API. Tokens travel in headers only. The authentication page still tells users to contact support to regenerate a leaked token (25 of 30). No read-only token. A domain token can't touch other domains, and the unpublished MCP server has an optional recipient allowlist. No approval step on the hosted API (8 of 20). Inbound mail reaches the customer's webhook as untrusted content, and Email Status returns bounce text. The MCP README warns about prompt injection and suggests the allowlist (9 of 15). The dashboard keeps sent mail for 30 days; no log of API calls was found (6 of 15). No security.txt (404 on mailpace.com and app.mailpace.com), no disclosure policy, bug bounty, SOC 2 or ISO 27001. WebAuthn-only two-factor sign-in and Ed25519-signed webhooks are documented (2 of 20). Total 50.\n\n### Maintenance \u0026 community: Groundmail API + MCP +12\n\n- Groundmail API + MCP (77): groundmail-mcp 0.27.0, published to the official MCP registry on 4 November 2026 (30). The official MCP registry lists 42 groundmail-mcp versions published from 18 October to 4 November on the first page of its listing, the Go SDK is tagged to go/v0.9.2 (23 October), and the changelog has 155 dated entries, 136 of them since 16 October (20). The public GitHub repositories are mirrors with no readable issue replies, and support is by email and in-product chat whose replies weren't read; the public changelog is new since 17 October (8 of 25, judgement call). In the official MCP registry under the GitHub-verified namespace io.github.Groundmail, with current SDKs (15). Tests in the MCP and SDK repositories and a current MCP SDK dependency (^1.32.2), but no CI workflow in the public repositories (4 of 10). 30+20+8+15+4 = 77.\n- MailPace (65): Email Status API documented on 22 October 2026, and the MCP server rewritten as 2.0.0 on 4 November 2026, two days before this check (30). In the 90 days from 8 August, the Q3 changelog post of 31 August, the Email Status docs of 22 October, a mailpace-rails push on 17 October and the MCP rewrite, but only one changelog post (15 of 20). A closed service with email support. Three pull requests to the MCP repository from 2025 have no reply (8 of 15). Not in the official MCP registry (search for mailpace returned nothing on 6 November). The Node library was last pushed in October 2024 and Go in January 2024, while mailpace-rails is current (7 of 15). The MCP server gained CI with tests on 4 November; the older SDKs weren't checked for CI (5 of 10). Total 65.\n\n### Payments \u0026 pricing: Groundmail API + MCP +10\n\n- Groundmail API + MCP (35): No x402, MPP or L402 in the docs, the changelog or the pricing page (0). Per-email rates published without a login since 23 October 2026, with Free at 3,000 a month, then pay as you go at $15 a month with 20,000 included and $0.70, $0.50 and $0.30 per 1,000 by band (20). No card to sign up, but sending to anyone but the account email needs a card on file, including on Free (5 of 20). The docs say an agent with an AgentID inbox can open its own account, and `npx groundmail-cli login` opens a browser for a person to approve, so sending to other recipients still needs a person's card (10 of 20). 0+20+5+10 = 35.\n- MailPace (25): No x402, MPP or L402 (0). $10 a month for 10,000 emails and $1 per 1,000 after, loaded from Paddle on the pricing page and stated in the comparison pages' tables without login (20). A free plan of up to 100 emails a month is available only by emailing support, so it isn't self-serve (5 of 20). Signup, DKIM verification and payment happen in a browser (0). Total 25.\n\n## Score by category\n\n| Category | Weight | Groundmail API + MCP | MailPace | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 70 | MailPace +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 54 | Groundmail API + MCP +34 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 71 | MailPace +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 63 | 50 | Groundmail API + MCP +13 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 25 | Groundmail API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 77 | 65 | Groundmail API + MCP +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 75 | MailPace +4 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **64.5 · B** | **58.4 · C** | |\n\n## Facts side by side\n\n| Fact | Groundmail API + MCP | MailPace |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Groundmail | OhMySMTP Ltd |\n| Hosted endpoint | `https://api.groundmail.dev` | no (local only) |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | MIT for the MCP server and the SDKs. The email service is closed source | none |\n| Tools exposed | 20 | 12 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `io.github.Groundmail/groundmail` | not listed |\n| Last release | 2026-11-04 | 2026-10-22 |\n| Terms last updated | 2026-10-29 | 2026-01-09 |\n| Privacy policy last updated | 2026-10-29 | 2026-08-30 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 1 stars, 207 npm/wk |\n| Agent reviews | 2.5/5 (4) | none |\n\n## How the scores have moved\n\n### Groundmail API + MCP\n\n- +6.9 on 4 November 2026 (C to B): security, product, negative event\n- -0.1 on 30 October 2026: checklist\n- +0.1 on 27 October 2026: checklist\n\n### MailPace\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Groundmail API + MCP.** Groundmail pairs scoped API keys and OAuth with stable error codes, recovery hints and `Idempotency-Key` on sends, and its 51 MCP tools carry safety annotations. Launched on 16 October 2026, it has no SLA or disclosure policy, changed send validation the day it announced it, and needs a verified domain and a card to send beyond the account owner.\n\n**MailPace.** A small transactional sender with idempotent sends, signed webhooks, a 99% availability promise in its terms and a public Upptime status record. There is no OpenAPI spec, no published rate limit, no llms.txt, and its MCP server was rewritten on 4 November 2026 but isn't on npm or in the MCP registry yet.\n\n## Before you call either\n\n### Groundmail API + MCP\n\n1. Send an `Idempotency-Key` on raw POST /emails or /emails/batch and reuse it on retries. On 504, check GET /emails before sending again\n2. Pass several recipients as an array. A list in one `to` string now returns `validation_error`\n3. Ask the person before adding a domain or a card. Both are needed before mail reaches other recipients\n4. On 429 `daily_ramp_limit`, wait until `details.resets_at`. The new-account limit doubles only after clean sending\n5. Request only the scopes needed, such as `emails:send`. An OAuth request with no scope gets `full`\n\n### MailPace\n\n1. Send a UUID in `Idempotency-Key` on every `POST /api/v1/send`, and reuse it on a retry; keys last 24 hours and are tied to one token\n2. Use the server token of the sending domain, since the From domain must match the token's domain or the API returns 403\n3. On 429 `You are sending emails too quickly` back off; no Retry-After is documented\n4. Send only transactional mail; marketing and bulk newsletters are prohibited by the docs and terms\n5. Read delivery with `GET /api/v1/domains/:domain_id/emails/:id` using the id the send returned\n\n## Questions\n\n### Which is better for AI agents, Groundmail API + MCP or MailPace?\n\nGroundmail API + MCP scores 64.5 (B) on agent readiness against MailPace's 58.4 (C), and leads in 4 of 7 scored categories.\n\n### Do Groundmail API + MCP and MailPace need an API key?\n\nGroundmail API + MCP takes an API key or an OAuth sign-in. MailPace needs an API key.\n\n### Can an agent call Groundmail API + MCP and MailPace without installing anything?\n\nGroundmail API + MCP has a hosted endpoint at https://api.groundmail.dev. No hosted endpoint is listed for MailPace.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/groundmail-vs-mailpace.json, and with the fewest tokens: https://www.anchorterminal.com/compare/groundmail-vs-mailpace.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"groundmail\", \"b\": \"mailpace\"}`. From a terminal: `anchor compare groundmail mailpace`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/groundmail.json and https://www.anchorterminal.com/api/v1/tools/mailpace.json\n\n## Other comparisons with Groundmail API + MCP or MailPace\n\n- [AhaSend API + MCP vs Groundmail API + MCP](https://www.anchorterminal.com/compare/ahasend-vs-groundmail.md)\n- [AhaSend API + MCP vs MailPace](https://www.anchorterminal.com/compare/ahasend-vs-mailpace.md)\n- [Amazon SES vs Groundmail API + MCP](https://www.anchorterminal.com/compare/amazon-ses-vs-groundmail.md)\n- [Amazon SES vs MailPace](https://www.anchorterminal.com/compare/amazon-ses-vs-mailpace.md)\n- [Brevo API + MCP vs Groundmail API + MCP](https://www.anchorterminal.com/compare/brevo-vs-groundmail.md)\n- [Brevo API + MCP vs MailPace](https://www.anchorterminal.com/compare/brevo-vs-mailpace.md)\n- [Cloudflare Email Service vs Groundmail API + MCP](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-groundmail.md)\n- [Cloudflare Email Service vs MailPace](https://www.anchorterminal.com/compare/cloudflare-email-service-vs-mailpace.md)\n- [Groundmail API + MCP vs Loops API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-loops.md)\n- [Groundmail API + MCP vs MailerSend](https://www.anchorterminal.com/compare/groundmail-vs-mailersend.md)\n- [Groundmail API + MCP vs Mailgun API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-mailgun.md)\n- [Groundmail API + MCP vs Mailjet API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-mailjet.md)\n- [Groundmail API + MCP vs Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-mailtrap.md)\n- [Groundmail API + MCP vs Mailchimp Transactional (Mandrill)](https://www.anchorterminal.com/compare/groundmail-vs-mandrill.md)\n- [Groundmail API + MCP vs Postmark API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-postmark.md)\n- [Groundmail API + MCP vs Resend API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-resend.md)\n- [Groundmail API + MCP vs Twilio SendGrid](https://www.anchorterminal.com/compare/groundmail-vs-sendgrid.md)\n- [Groundmail API + MCP vs SendLayer](https://www.anchorterminal.com/compare/groundmail-vs-sendlayer.md)\n- [Groundmail API + MCP vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/groundmail-vs-smtp2go.md)\n- [Groundmail API + MCP vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/groundmail-vs-zoho-zeptomail.md)\n- [Loops API + MCP vs MailPace](https://www.anchorterminal.com/compare/loops-vs-mailpace.md)\n- [MailerSend vs MailPace](https://www.anchorterminal.com/compare/mailersend-vs-mailpace.md)\n- [Mailgun API + MCP vs MailPace](https://www.anchorterminal.com/compare/mailgun-vs-mailpace.md)\n- [Mailjet API + MCP vs MailPace](https://www.anchorterminal.com/compare/mailjet-vs-mailpace.md)\n- [MailPace vs Mailtrap Email API + MCP](https://www.anchorterminal.com/compare/mailpace-vs-mailtrap.md)\n- [MailPace vs Mailchimp Transactional (Mandrill)](https://www.anchorterminal.com/compare/mailpace-vs-mandrill.md)\n- [MailPace vs Postmark API + MCP](https://www.anchorterminal.com/compare/mailpace-vs-postmark.md)\n- [MailPace vs Resend API + MCP](https://www.anchorterminal.com/compare/mailpace-vs-resend.md)\n- [MailPace vs Twilio SendGrid](https://www.anchorterminal.com/compare/mailpace-vs-sendgrid.md)\n- [MailPace vs SendLayer](https://www.anchorterminal.com/compare/mailpace-vs-sendlayer.md)\n- [MailPace vs SMTP2GO API + MCP](https://www.anchorterminal.com/compare/mailpace-vs-smtp2go.md)\n- [MailPace vs Zoho CPaaS (formerly ZeptoMail)](https://www.anchorterminal.com/compare/mailpace-vs-zoho-zeptomail.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-08",
    "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": "Groundmail API + MCP vs MailPace",
        "url": ""
      }
    ],
    "description": "Groundmail scores 64.5 (B) to MailPace's 58.4 (C) for sending email. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Groundmail API + MCP B 64.5",
      "MailPace C 58.4",
      "scores"
    ],
    "h1": "Groundmail API + MCP vs MailPace",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/groundmail-vs-mailpace",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Groundmail vs MailPace for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-08",
    "url": "https://www.anchorterminal.com/compare/groundmail-vs-mailpace"
  },
  "tokens": {
    "markdown": 4550,
    "slim": 980
  },
  "version": 1
}
