{
  "data": {
    "a": {
      "slug": "clawpost",
      "name": "Clawpost",
      "vendor": "Frank Harris",
      "vendorUrl": "https://github.com/hirefrank/clawpost",
      "kind": "mcp",
      "category": "agent-inboxes",
      "summary": "Clawpost is an open-source Cloudflare Worker you deploy yourself to give an AI agent its own email address, with an MCP server, a REST API and a CLI for sending, receiving, searching, drafts and sender approval.",
      "url": "https://www.anchorterminal.com/tools/clawpost",
      "markdownUrl": "https://www.anchorterminal.com/tools/clawpost.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/clawpost.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/clawpost.json",
      "dns": "clawpost.grade.anchorterminal.com",
      "repo": "https://github.com/hirefrank/clawpost",
      "license": "MIT",
      "transports": [
        "streamable-http",
        "http"
      ],
      "packages": [],
      "auth": "api-key",
      "authNotes": "One shared secret, `CLAWPOST_API_KEY`, set as a Worker secret and sent as `Authorization: Bearer` to both the REST API and the MCP endpoint, compared in constant time. No scopes, users or per-client keys. Inbox and alias management also needs a Cloudflare API token on the Worker.",
      "pricing": "free",
      "pricingNotes": "Free, MIT-licensed software. Running it needs the Cloudflare Workers Paid plan ($5 a month) for Durable Objects and outbound Email Service; the README puts a typical agent at about $5 a month. Resend can be used for outbound instead.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the source or README (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 21,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://github.com/hirefrank/clawpost#readme",
      "capabilities": [
        "email.inbox",
        "email.send",
        "email.inbound",
        "email.threads",
        "email.domains"
      ],
      "tags": [
        "self-hosted",
        "open-source",
        "mcp",
        "remote-mcp",
        "api-key",
        "cloudflare",
        "webhooks",
        "approvals",
        "typescript",
        "cli",
        "pre-1.0"
      ],
      "lastRelease": "2026-04-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 36.8,
        "grade": "F",
        "agentReady": false,
        "rank": 1361,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 2,
          "payments": 60,
          "reliability": 8,
          "schema": 54,
          "security": 42,
          "transparency": 32
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "A small self-hosted agent inbox whose sender-approval gate keeps unknown senders' mail away from the agent by default, with drafts for human review. It is one developer's project, unchanged since 1 April 2026, with one all-powerful key, no releases, tests or CI.",
        "bestFor": "A developer who wants an agent inbox on their own domain and Cloudflare account with a default approval gate.",
        "strengths": [
          "Mail from unapproved senders is stored but hidden from every query tool until a sender is approved",
          "Drafts let a person review mail before an agent's message goes out",
          "Self-hosted on the deployer's own Cloudflare account, so mail stays in their D1 and R2",
          "21 MCP tools with typed zod inputs, plus a REST API and a CLI with `--json` output",
          "Free software; running costs are the Cloudflare Workers Paid plan at $5 a month"
        ],
        "weaknesses": [
          "One shared API key grants every REST and MCP operation; no scopes or read-only key",
          "No commits since 1 April 2026, no tags or releases, no CI and no tests",
          "No idempotency on sends and no MCP tool annotations",
          "Tool descriptions are one line, such as `Send an email`, with no when-not-to-use guidance",
          "README says MIT but no LICENSE file is in the repository"
        ],
        "agentNotes": [
          "Expect unknown senders' mail to be invisible until `approve_sender` runs; check `list_pending` for metadata first",
          "Use `create_draft` instead of `send_email` when a person should review the message",
          "Send to one address per call or comma-separate recipients in `to`; a retried send isn't deduplicated",
          "Treat the deployer's Worker URL and `CLAWPOST_API_KEY` as full access to the mailbox"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 36.8
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 2,
          "payments": 60,
          "reliability": 8,
          "schema": 54,
          "security": 42,
          "transparency": 50
        },
        "provenanceScore": 13,
        "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": "git clone https://github.com/hirefrank/clawpost \u0026\u0026 cd clawpost \u0026\u0026 bun install \u0026\u0026 bun run db:migrate \u0026\u0026 bun run deploy",
        "config": {
          "mcpServers": {
            "clawpost": {
              "headers": {
                "Authorization": "Bearer YOUR_CLAWPOST_API_KEY"
              },
              "type": "streamable-http",
              "url": "https://\u003cyour-worker\u003e.workers.dev/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.inbox",
        "tool": "https://letme.dev/clawpost"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "",
        "domain": "github.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "A personal repository under the GitHub account hirefrank; every commit but one merged pull request is by Frank Harris. No company, terms or privacy policy, as expected for self-hosted software.",
          "The README's licence section says MIT and SKILL.md declares MIT, but no LICENSE file is committed.",
          "The endpoint is whatever Worker URL the deployer chooses, usually on workers.dev.",
          "GitHub's API refused our requests for its rate limit on 6 November 2026, so stars and open issues weren't read; the code and history come from a shallow clone."
        ],
        "score": 13
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/clawpost.json",
      "live": {
        "slug": "clawpost",
        "githubStars": 6,
        "securityTxt": {
          "url": "https://github.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-07T16:01:24z",
          "checkedAt": "2026-11-07T16:01:24.824706262Z"
        },
        "updatedAt": "2026-11-07T16:01:24.824706262Z"
      }
    },
    "answer": "Robotomail scores 66 (B) on agent readiness against Clawpost's 36.8 (F), and leads in 6 of 7 scored categories. Clawpost leads on payments \u0026 pricing.",
    "b": {
      "slug": "robotomail",
      "name": "Robotomail",
      "vendor": "Tiny Bot Labs Limited",
      "vendorUrl": "https://robotomail.com",
      "kind": "http-api",
      "category": "agent-inboxes",
      "summary": "Robotomail gives an AI agent its own email address for sending, receiving and replying. Access is by REST API, a hosted MCP server with OAuth, a CLI and SDKs, and replies arrive by webhook, SSE or polling.",
      "url": "https://www.anchorterminal.com/tools/robotomail",
      "markdownUrl": "https://www.anchorterminal.com/tools/robotomail.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/robotomail.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/robotomail.json",
      "dns": "robotomail.grade.anchorterminal.com",
      "repo": "https://github.com/robotomail/robotomail-node",
      "license": "Proprietary service under Robotomail's terms of service. The five SDKs on GitHub are MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.robotomail.com/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@robotomail/cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key (`rm_...`) for REST, the CLI and the SDKs. A key is full-access or limited to named mailboxes with `mailboxIds`, and can be revoked by API. The hosted MCP server takes OAuth only (authorisation code with PKCE, refresh tokens or device login) with `mail:read`, `mail:send` and `offline_access` scopes, and REST keys don't work on it. An agent can create an account with `POST /v1/signup` and gets a key back, which does nothing until a person clicks the verification link.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with no card and no expiry, limited to 1 mailbox and 10 sends and 10 receives a calendar month, only with the owner's verified address. Emailing anyone else needs a paid plan, from Solo at $5 a month (1 mailbox, 500 sends a month), then Starter at $19, Growth at $79 and Scale at $199, with a 30-day refund on the first paid charge. No overage charges. The pricing page shows annual billing at about 50 per cent off Starter and above as its current annual deal, while the limits page's annual prices ($168, $708 and $1,788) are about 25 per cent off (https://robotomail.com/pricing).",
      "priceSummary": "$5 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, `llms.txt` or the OpenAPI spec. An unauthenticated POST to https://api.robotomail.com/v1/mailboxes returned 401, not a payment challenge. The API's own 402 responses are plan gates that point to a Stripe checkout (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 20,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://robotomail.com/docs",
      "llmsTxt": "https://robotomail.com/llms.txt",
      "openapi": "https://robotomail.com/openapi.json",
      "capabilities": [
        "email.inbox",
        "email.send",
        "email.inbound",
        "email.threads",
        "email.domains"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "oauth",
        "llms-txt",
        "openapi",
        "cli",
        "typescript",
        "python",
        "go",
        "ruby",
        "rust",
        "webhooks",
        "streaming",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-10-17",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66,
        "grade": "B",
        "agentReady": false,
        "rank": 388,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 77,
          "payments": 35,
          "reliability": 53,
          "schema": 90,
          "security": 65,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 contract, Markdown copies of every page, mailbox-scoped keys and OAuth scopes on the MCP server make the API easy for an agent to follow. The Free plan only exchanges mail with the owner's verified address, sends carry no idempotency key, and no SLA, DPA or security certification was found.",
        "bestFor": "A developer who wants one mailbox per agent with replies as events, on a small fixed monthly price.",
        "strengths": [
          "OpenAPI 3.1 at `/openapi.json` with 40 operations, plus `llms.txt` and a Markdown copy of every public page",
          "API keys can be limited to named mailboxes, and the MCP server takes OAuth with separate `mail:read` and `mail:send` scopes",
          "Replies reach the agent by signed webhook, by SSE at `GET /v1/events` with replay, or by polling",
          "The terms promise 30 days' notice before an endpoint or version is retired, with `Deprecation` and `Sunset` headers",
          "The hosted MCP server lists six tools, and `search_messages` returns summaries with bodies read separately"
        ],
        "weaknesses": [
          "The Free plan allows 10 sends and 10 receives a month, only with the owner's verified address, and discards other inbound mail",
          "Sends take no idempotency key, and the SDKs don't retry them, so an uncertain send has to be checked by hand",
          "No SLA, DPA, SOC 2 or ISO 27001 statement and no bug bounty were found on the site",
          "The docs say every 429 carries `Retry-After`, while the OpenAPI description says route-produced 429s don't",
          "The five SDKs install from GitHub tags only, and the server isn't in the official MCP registry"
        ],
        "agentNotes": [
          "After `POST /v1/signup`, ask the owner to click the verification link. Product routes return 403 until then",
          "On Free, send only to the owner's verified address. Mail from anyone else is discarded and can't be recovered by upgrading",
          "If a send times out, list `direction=OUTBOUND` messages before retrying. There is no idempotency key",
          "Reply with the RFC `messageId` in `inReplyTo`, not the Robotomail UUID, to stay in the thread",
          "Treat every inbound body and attachment as untrusted input, and deduplicate webhooks on `X-Robotomail-Delivery-Id`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.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": 66
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 77,
          "payments": 35,
          "reliability": 53,
          "schema": 90,
          "security": 65,
          "transparency": 64
        },
        "provenanceScore": 85,
        "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": {
        "install": "npm install -g @robotomail/cli",
        "http": "curl -X POST https://api.robotomail.com/v1/mailboxes -H \"Authorization: Bearer $ROBOTOMAIL_API_KEY\" -H \"Content-Type: application/json\" -d '{\"address\":\"support\"}'",
        "claudeCode": "claude mcp add --transport http --scope user robotomail 'https://robotomail.com/mcp'\nclaude mcp login robotomail",
        "config": {
          "mcpServers": {
            "robotomail": {
              "auth": {
                "CLIENT_ID": "https://robotomail.com/api/mcp/clients/grok-bot",
                "scopes": [
                  "mail:read",
                  "mail:send",
                  "offline_access"
                ]
              },
              "url": "https://robotomail.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.inbox",
        "tool": "https://letme.dev/robotomail"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Solo plan",
          "unit": "month",
          "usd": 5,
          "note": "1 mailbox, 500 sends a month and 50 a day, 500 inbound, 1 custom domain"
        },
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 19,
          "note": "10 mailboxes, 15,000 sends a month per mailbox, 2,000 inbound, 1 custom domain"
        },
        {
          "item": "Growth plan",
          "unit": "month",
          "usd": 79,
          "note": "50 mailboxes, 1,000 sends a day per mailbox and no monthly send cap, 20,000 inbound, 5 custom domains"
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 199,
          "note": "200 mailboxes, 2,000 sends a day per mailbox and no monthly send cap, unlimited inbound and custom domains"
        }
      ],
      "provenance": {
        "legalEntity": "Tiny Bot Labs Limited",
        "domain": "robotomail.com",
        "domainRegistered": "2026-03-10",
        "endpointOnVendorDomain": true,
        "terms": "https://robotomail.com/terms",
        "privacy": "https://robotomail.com/privacy",
        "statusPage": "https://stats.uptimerobot.com/5hwqjYveUl",
        "changelog": "https://robotomail.com/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (last updated 5 October 2026) and the privacy policy (last updated September 2026, no day given) both name Tiny Bot Labs Limited as owner and operator. The contact page says it is registered in the United Kingdom. We did not look the company up at Companies House.",
          "The terms of service cover the API itself, including versioning, quotas, retention and billing. There is no separate API agreement or DPA.",
          "RDAP gives robotomail.com a registration date of 2026-03-10 with NameCheap as registrar. Mailbox addresses use a second domain, robotomail.co.",
          "The API answers at api.robotomail.com and at robotomail.com/v1, and the MCP server at robotomail.com/mcp.",
          "`/.well-known/security.txt` gives a contact address, a canonical URL and an expiry of 24 August 2027. Its policy link points to the contact page.",
          "The status page is hosted by UptimeRobot, not on the vendor's domain."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/robotomail.json",
      "live": {
        "slug": "robotomail",
        "probe": {
          "target": "https://api.robotomail.com/v1",
          "method": "get",
          "lastAt": "2026-11-07T18:20:51.451210526Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 163,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 120,
          "p95ms24h": 231,
          "samples24h": 239,
          "samples30d": 7420,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://stats.uptimerobot.com/5hwqjYveUl",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:41.882618066Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "robotomail/robotomail-node",
            "version": "v0.1.0",
            "released": "2026-09-10",
            "seenAt": "2026-11-07T00:02:14.705974397Z"
          },
          {
            "registry": "npm",
            "name": "@robotomail/cli",
            "version": "0.1.10",
            "seenAt": "2026-11-07T00:02:13.617046584Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 23,
        "securityTxt": {
          "url": "https://robotomail.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-24T00:00:00.000Z",
          "checkedAt": "2026-11-07T16:01:51.896278103Z"
        },
        "llmsTxt": {
          "url": "https://robotomail.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:50.163301392Z"
        },
        "domain": {
          "domain": "robotomail.com",
          "registered": "2026-03-10",
          "source": "https://rdap.verisign.com/com/v1/domain/robotomail.com",
          "checkedAt": "2026-11-01T14:25:38.816753978Z"
        },
        "pages": [
          {
            "url": "https://robotomail.com/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:38.453346307Z",
            "changedAt": "2026-10-21T00:33:36.011270437Z",
            "fingerprint": "c4815e5bf766"
          },
          {
            "url": "https://robotomail.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:40.597799016Z",
            "changedAt": "2026-10-24T02:24:37.683216055Z",
            "fingerprint": "451e27f2258e"
          },
          {
            "url": "https://robotomail.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:42.81666239Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c04fd931bf3a"
          },
          {
            "url": "https://robotomail.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:44.530379353Z",
            "changedAt": "2026-10-23T01:55:00.760114447Z",
            "fingerprint": "587e8a8e2cad"
          }
        ],
        "mcpTools": {
          "url": "https://robotomail.com/mcp",
          "checkedAt": "2026-11-07T01:47:28.964022775Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:47:28.964022775Z"
        },
        "github": {
          "repo": "robotomail/robotomail-node",
          "checkedAt": "2026-11-02T09:22:13.811482467Z",
          "stars": 0,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-09-25T15:44:50Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "ci": {
            "branch": "main",
            "runs": 2,
            "success": 2,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-09-25T15:45:13Z"
          }
        },
        "updatedAt": "2026-11-07T18:20:51.451210526Z"
      }
    },
    "edges": [
      {
        "by": 75,
        "category": "maintenance",
        "leads": "robotomail",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The last commit was on 1 April 2026, 219 days before this check (0). No releases or commits in the 90 days from 8 August (0). Issue and pull request activity couldn't be read through GitHub's API that day (0, unchecked). Not in the official MCP registry and no published package (0). Dependencies such as `agents` ^0.0.74 and the MCP SDK ^1.12.1 date from early 2026, and there's no CI (2 of 10). Total 2.",
          "b": "The latest changelog entries are 16 October 2026 (bounce types on `message.bounced`) and 17 October 2026 (one-click unsubscribe headers) (30). Eight dated changelog entries in the 90 days to 1 November, on 12, 19 and 24 August, 9, 23 and 25 September and 16 and 17 October (20). A closed service with a public changelog and email support that aims to answer within one working day. We didn't test support or read the GitHub issue trackers (10 of 15). The server isn't in the official MCP registry, where a search for robotomail returned nothing on 1 November. The five SDKs are at v0.2.0 (25 September) but aren't on npm, PyPI, RubyGems or crates.io (10 of 15). The SDK repositories have CI workflows with pinned actions and a contract check against the OpenAPI file, and the CLI has one dependency. We didn't read the CI results (7 of 10)."
        },
        "scores": {
          "a": 2,
          "b": 77
        }
      },
      {
        "by": 45,
        "category": "reliability",
        "leads": "robotomail",
        "name": "Reliability",
        "reasons": {
          "a": "Graded with the lines for self-hosted software, since each deployer runs their own Worker. No published package; it deploys from the repository with a Deploy to Cloudflare button, Bun and Wrangler, and states the Cloudflare products it needs (8 of 20). No CI workflow or test suite in the repository (0). Open issues couldn't be read, because GitHub's API refused our requests for its rate limit, so the line scores absent (0, unchecked). No tags, releases or changelog; package.json says 0.1.0 (0). Pre-1.0 (0). Total 8.",
          "b": "Graded as a hosted service, on the REST API. A public UptimeRobot page at stats.uptimerobot.com/5hwqjYveUl. Its monitors and history load by script from `/api/` paths that the status host's robots.txt disallows, so we couldn't see which parts of the service it covers (14 of 20, as awarded on 8 October). The incident record is unread. The 8 October reading came from the same disallowed path and no longer counts, so the line takes the no-readable-history score (5, a limit of our reading, not a finding against Robotomail). Limits are published with numbers, 30 sends a minute per mailbox and 60 per account in the messages reference, daily and monthly caps per plan, 5 signups an hour per IP and 5 concurrent SSE streams (15). The error reference says every 429 carries `Retry-After`, the OpenAPI description says route-produced 429s don't, sends have no idempotency key, and the documented advice is to check sent mail before retrying (9 of 15). No SLA found on the pricing page or in the terms (0). The API is at `/v1` with no beta label (10)."
        },
        "scores": {
          "a": 8,
          "b": 53
        }
      },
      {
        "by": 43,
        "category": "transparency",
        "leads": "robotomail",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The README and SKILL.md say MIT, but no LICENSE file is committed (20 of 30). Self-hosted; the README says mail is stored in the deployer's D1 database with attachments in R2 and sent through Cloudflare Email Service or Resend. No retention or deletion guidance (15 of 30). No deprecation policy (0). No telemetry in the source read; the only outbound calls are to the configured mail provider, Cloudflare's API and the deployer's own webhooks (15 of 20). Total 50.",
          "b": "A closed service under published terms. The five SDKs are MIT. The CLI's npm record has no licence or repository field (17 of 30). The privacy policy and the terms agree on retention, with messages kept until deleted, mail server copies purged after 7 days and trial data removed within 24 hours to 7 days, and the policy says email content isn't read or used for advertising. No DPA is published and the policy gives its date as September 2026 without a day (20 of 30). The terms promise 30 days' notice before an endpoint or version is retired, with `Deprecation` and `Sunset` headers, and the changelog records the legacy free plan's retirement on 19 August after notice in July (18 of 20). The policy names Stripe, Resend and Cloudflare R2. It gives no locations and doesn't name where the mail server and database are hosted (9 of 20)."
        },
        "scores": {
          "a": 32,
          "b": 75
        }
      },
      {
        "by": 36,
        "category": "schema",
        "leads": "robotomail",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "All 21 MCP tools take typed zod inputs, which the MCP SDK publishes as JSON Schema (25). SKILL.md and AGENTS.md give agent-readable setup in Markdown; no llms.txt (5 of 10). Descriptions are one line each, such as `Send an email`, with parameter descriptions but no when-not-to-use (8 of 20). Inputs are typed with defaults for limit and offset, but recipients are a comma-separated string and direction isn't an enum in the schema read (9 of 15). The README has request examples and a REST route table; error responses aren't documented (7 of 15). No versioning or changelog (0). Total 54.",
          "b": "OpenAPI 3.1 at `/openapi.json` with 40 operations on 27 paths, each with an operation ID (25). `llms.txt`, and a Markdown copy of the docs and site pages by adding `.md` or sending `Accept: text/markdown`. The pricing page's own `.md` URL answered 404 on 1 November and points to `index.md#pricing` (10). Operation descriptions state what each route does, which key type it needs and which gates apply, and `llms.txt` says when not to use the product. The MCP tool descriptions sit behind OAuth and were not read (15 of 20). Request schemas carry required fields, `format: email` and `uuid`, length limits, patterns and enums. The `headers` field on a send is a free object (13 of 15). An error reference and per-route error variants, with three inconsistencies we found, on `Retry-After`, on the SDK version (the docs say v0.1.0, the tags are v0.2.0) and on the annual discount (the pricing page says about 50 per cent off Starter and above, the limits page's annual prices are about 25 per cent off) (12 of 15). URL versioning at `/v1` and a dated public changelog (15)."
        },
        "scores": {
          "a": 54,
          "b": 90
        }
      },
      {
        "by": 25,
        "category": "payments",
        "leads": "clawpost",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Free self-hosted software with nothing to buy from the author, which the rubric scores 20 + 20 + 20. Running it needs the deployer's own Cloudflare Workers Paid plan at $5 a month, which isn't Clawpost's charge. No payment protocol (0 of 40). Total 60.",
          "b": "No x402, MPP or L402 in the docs, `llms.txt` or the OpenAPI file (0 of 40). Four plan prices are public, Solo $5, Starter $19, Growth $79 and Scale $199 a month, with no per-unit price or overage (10 of 20). The Free plan needs no card and doesn't expire, but exchanges mail only with the owner's verified address, 10 each way a month, so it tests the loop without doing the job (15 of 20). `POST /v1/signup` returns an API key with no browser, and `POST /v1/billing/upgrade` returns a checkout link. The key does nothing until a person clicks the verification link, and a person pays at checkout (10 of 20)."
        },
        "scores": {
          "a": 60,
          "b": 35
        }
      },
      {
        "by": 23,
        "category": "security",
        "leads": "robotomail",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "One shared secret for REST and MCP, compared in constant time, with no scopes, expiry or per-client keys (10 of 30). Sender approval, drafts, and an optional allowlist of domains for routing changes limit what an agent can see and change; the key can still send to anyone (14 of 20). Mail from unapproved senders is hidden from all query tools by default, and `list_pending` returns metadata without bodies, documented as a prompt-injection guard (15). No log of API or tool calls beyond the stored messages (3 of 15). No security policy, advisories or disclosure route for this personal project (0). Total 42.",
          "b": "REST keys are revocable by API, stored as SHA-256 hashes, and can be limited to named mailboxes. The MCP server takes OAuth with PKCE, `mail:read` and `mail:send` scopes, 10-minute access tokens and per-app disconnect. Keys travel in the `Authorization` header only. A REST key can't be made read-only (27 of 30). An MCP grant with `mail:read` alone is read-only, and a mailbox can be paused. Sends go out at once, with no drafts or approval step (12 of 20). Inbound mail is untrusted content. A security guide tells developers to pass email as data, check recipients and require approval for sensitive actions, and says attachments aren't scanned. Nothing is filtered on the service side (11 of 15). The dashboard has a read-only Audit Feed of email activity and the API lists the last 20 delivery attempts per webhook. No log of API calls was found (8 of 15). `security.txt` is valid until 24 August 2027 and reports go to the support address. No bug bounty, SOC 2 or ISO 27001 statement found (7 of 20)."
        },
        "scores": {
          "a": 42,
          "b": 65
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Frank Harris",
        "b": "Tiny Bot Labs Limited",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.robotomail.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP, HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Proprietary service under Robotomail's terms of service. The five SDKs on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "21",
        "b": "6",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-04-01",
        "b": "2026-10-17",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-10-05",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-09-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "20 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Robotomail scores 66 (B) on agent readiness against Clawpost's 36.8 (F), and leads in 6 of 7 scored categories. Clawpost leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Clawpost or Robotomail?"
      },
      {
        "answer": "Clawpost needs an API key. Robotomail takes an API key or an OAuth sign-in.",
        "question": "Do Clawpost and Robotomail need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Clawpost. Robotomail has a hosted endpoint at https://api.robotomail.com/v1.",
        "question": "Can an agent call Clawpost and Robotomail without installing anything?"
      },
      {
        "answer": "Clawpost is open source (MIT). No open-source release is listed for Robotomail.",
        "question": "Are Clawpost and Robotomail open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 35"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "A developer who wants an agent inbox on their own domain and Cloudflare account with a default approval gate.",
        "slug": "clawpost",
        "watchFor": "One shared API key grants every REST and MCP operation; no scopes or read-only key"
      },
      {
        "aheadOn": [
          "Reliability, 53 against 8",
          "Schema \u0026 documentation, 90 against 54",
          "Agent ergonomics, 72 against 53",
          "Security \u0026 auth, 65 against 42",
          "Maintenance \u0026 community, 77 against 2",
          "Transparency \u0026 trust, 75 against 32"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "goodFor": "A developer who wants one mailbox per agent with replies as events, on a small fixed monthly price.",
        "slug": "robotomail",
        "watchFor": "The Free plan allows 10 sends and 10 receives a month, only with the owner's verified address, and discards other inbound mail"
      }
    ],
    "history": {
      "clawpost": null,
      "robotomail": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-01",
          "delta": -4,
          "from": 70,
          "fromGrade": "BB",
          "to": 66,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 69.8,
          "fromGrade": "B",
          "to": 70,
          "toGrade": "BB"
        }
      ]
    },
    "job": {
      "capability": "email.inbox",
      "name": "Agent inboxes"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentmail-vs-clawpost.json",
        "title": "AgentMail API + MCP vs Clawpost",
        "url": "https://www.anchorterminal.com/compare/agentmail-vs-clawpost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentmail-vs-robotomail.json",
        "title": "AgentMail API + MCP vs Robotomail",
        "url": "https://www.anchorterminal.com/compare/agentmail-vs-robotomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cherami-vs-clawpost.json",
        "title": "Cherami vs Clawpost",
        "url": "https://www.anchorterminal.com/compare/cherami-vs-clawpost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cherami-vs-robotomail.json",
        "title": "Cherami vs Robotomail",
        "url": "https://www.anchorterminal.com/compare/cherami-vs-robotomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawpost-vs-hostinger-agentic-mail.json",
        "title": "Clawpost vs Hostinger Agentic Mail",
        "url": "https://www.anchorterminal.com/compare/clawpost-vs-hostinger-agentic-mail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawpost-vs-inbound.json",
        "title": "Clawpost vs Inbound",
        "url": "https://www.anchorterminal.com/compare/clawpost-vs-inbound"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawpost-vs-inboxapi.json",
        "title": "Clawpost vs InboxAPI",
        "url": "https://www.anchorterminal.com/compare/clawpost-vs-inboxapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawpost-vs-lumbox.json",
        "title": "Clawpost vs Lumbox",
        "url": "https://www.anchorterminal.com/compare/clawpost-vs-lumbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawpost-vs-mailows.json",
        "title": "Clawpost vs Mailows",
        "url": "https://www.anchorterminal.com/compare/clawpost-vs-mailows"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawpost-vs-mails-ai.json",
        "title": "Clawpost vs mails.ai Agent Email",
        "url": "https://www.anchorterminal.com/compare/clawpost-vs-mails-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawpost-vs-mailslurp.json",
        "title": "Clawpost vs MailSlurp",
        "url": "https://www.anchorterminal.com/compare/clawpost-vs-mailslurp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clawpost-vs-postfleet.json",
        "title": "Clawpost vs Postfleet",
        "url": "https://www.anchorterminal.com/compare/clawpost-vs-postfleet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hostinger-agentic-mail-vs-robotomail.json",
        "title": "Hostinger Agentic Mail vs Robotomail",
        "url": "https://www.anchorterminal.com/compare/hostinger-agentic-mail-vs-robotomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inbound-vs-robotomail.json",
        "title": "Inbound vs Robotomail",
        "url": "https://www.anchorterminal.com/compare/inbound-vs-robotomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inboxapi-vs-robotomail.json",
        "title": "InboxAPI vs Robotomail",
        "url": "https://www.anchorterminal.com/compare/inboxapi-vs-robotomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lumbox-vs-robotomail.json",
        "title": "Lumbox vs Robotomail",
        "url": "https://www.anchorterminal.com/compare/lumbox-vs-robotomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailows-vs-robotomail.json",
        "title": "Mailows vs Robotomail",
        "url": "https://www.anchorterminal.com/compare/mailows-vs-robotomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mails-ai-vs-robotomail.json",
        "title": "mails.ai Agent Email vs Robotomail",
        "url": "https://www.anchorterminal.com/compare/mails-ai-vs-robotomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailslurp-vs-robotomail.json",
        "title": "MailSlurp vs Robotomail",
        "url": "https://www.anchorterminal.com/compare/mailslurp-vs-robotomail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postfleet-vs-robotomail.json",
        "title": "Postfleet vs Robotomail",
        "url": "https://www.anchorterminal.com/compare/postfleet-vs-robotomail"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 45,
        "clawpost": 8,
        "edge": "robotomail",
        "key": "reliability",
        "name": "Reliability",
        "robotomail": 53,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 36,
        "clawpost": 54,
        "edge": "robotomail",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "robotomail": 90,
        "weight": 13
      },
      {
        "by": 19,
        "clawpost": 53,
        "edge": "robotomail",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "robotomail": 72,
        "weight": 13
      },
      {
        "by": 23,
        "clawpost": 42,
        "edge": "robotomail",
        "key": "security",
        "name": "Security \u0026 auth",
        "robotomail": 65,
        "weight": 14
      },
      {
        "by": 25,
        "clawpost": 60,
        "edge": "clawpost",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "robotomail": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 75,
        "clawpost": 2,
        "edge": "robotomail",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "robotomail": 77,
        "weight": 7
      },
      {
        "by": 43,
        "clawpost": 32,
        "edge": "robotomail",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "robotomail": 75,
        "weight": 7
      }
    ],
    "summary": "Robotomail scores 66 (B) on agent readiness against Clawpost's 36.8 (F), and leads in 6 of 7 scored categories. Clawpost leads on payments \u0026 pricing. Both do agent inboxes.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "clawpost": "A small self-hosted agent inbox whose sender-approval gate keeps unknown senders' mail away from the agent by default, with drafts for human review. It is one developer's project, unchanged since 1 April 2026, with one all-powerful key, no releases, tests or CI.",
      "robotomail": "A public OpenAPI 3.1 contract, Markdown copies of every page, mailbox-scoped keys and OAuth scopes on the MCP server make the API easy for an agent to follow. The Free plan only exchanges mail with the owner's verified address, sends carry no idempotency key, and no SLA, DPA or security certification was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/clawpost-vs-robotomail",
    "json": "https://www.anchorterminal.com/compare/clawpost-vs-robotomail.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/clawpost-vs-robotomail.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/clawpost-vs-robotomail.min.md"
  },
  "markdown": "Robotomail scores 66 (B) on agent readiness against Clawpost's 36.8 (F), and leads in 6 of 7 scored categories. Clawpost leads on payments \u0026 pricing. Both do agent inboxes.\n\n- Clawpost: grade F, 36.8/100, rank #1361 of 1486. Markdown https://www.anchorterminal.com/tools/clawpost.md · JSON https://www.anchorterminal.com/api/v1/tools/clawpost.json\n- Robotomail: grade B, 66/100, rank #388 of 1486. Markdown https://www.anchorterminal.com/tools/robotomail.md · JSON https://www.anchorterminal.com/api/v1/tools/robotomail.json\n- Best email inbox APIs for AI agents: https://www.anchorterminal.com/best/agent-inboxes/index.md\n- All 66 inboxes comparisons: https://www.anchorterminal.com/compare/agent-inboxes/index.md\n\n## Which one, for what\n\n### Clawpost (F)\n\nGood for: A developer who wants an agent inbox on their own domain and Cloudflare account with a default approval gate.\n\nAhead on:\n- Payments \u0026 pricing, 60 against 35\n\nAlso in its favour:\n- Open source\n\nWatch for: One shared API key grants every REST and MCP operation; no scopes or read-only key\n\n### Robotomail (B)\n\nGood for: A developer who wants one mailbox per agent with replies as events, on a small fixed monthly price.\n\nAhead on:\n- Reliability, 53 against 8\n- Schema \u0026 documentation, 90 against 54\n- Agent ergonomics, 72 against 53\n- Security \u0026 auth, 65 against 42\n- Maintenance \u0026 community, 77 against 2\n- Transparency \u0026 trust, 75 against 32\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n\nWatch for: The Free plan allows 10 sends and 10 receives a month, only with the owner's verified address, and discards other inbound mail\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Robotomail +75\n\n- Clawpost (2): The last commit was on 1 April 2026, 219 days before this check (0). No releases or commits in the 90 days from 8 August (0). Issue and pull request activity couldn't be read through GitHub's API that day (0, unchecked). Not in the official MCP registry and no published package (0). Dependencies such as `agents` ^0.0.74 and the MCP SDK ^1.12.1 date from early 2026, and there's no CI (2 of 10). Total 2.\n- Robotomail (77): The latest changelog entries are 16 October 2026 (bounce types on `message.bounced`) and 17 October 2026 (one-click unsubscribe headers) (30). Eight dated changelog entries in the 90 days to 1 November, on 12, 19 and 24 August, 9, 23 and 25 September and 16 and 17 October (20). A closed service with a public changelog and email support that aims to answer within one working day. We didn't test support or read the GitHub issue trackers (10 of 15). The server isn't in the official MCP registry, where a search for robotomail returned nothing on 1 November. The five SDKs are at v0.2.0 (25 September) but aren't on npm, PyPI, RubyGems or crates.io (10 of 15). The SDK repositories have CI workflows with pinned actions and a contract check against the OpenAPI file, and the CLI has one dependency. We didn't read the CI results (7 of 10).\n\n### Reliability: Robotomail +45\n\n- Clawpost (8): Graded with the lines for self-hosted software, since each deployer runs their own Worker. No published package; it deploys from the repository with a Deploy to Cloudflare button, Bun and Wrangler, and states the Cloudflare products it needs (8 of 20). No CI workflow or test suite in the repository (0). Open issues couldn't be read, because GitHub's API refused our requests for its rate limit, so the line scores absent (0, unchecked). No tags, releases or changelog; package.json says 0.1.0 (0). Pre-1.0 (0). Total 8.\n- Robotomail (53): Graded as a hosted service, on the REST API. A public UptimeRobot page at stats.uptimerobot.com/5hwqjYveUl. Its monitors and history load by script from `/api/` paths that the status host's robots.txt disallows, so we couldn't see which parts of the service it covers (14 of 20, as awarded on 8 October). The incident record is unread. The 8 October reading came from the same disallowed path and no longer counts, so the line takes the no-readable-history score (5, a limit of our reading, not a finding against Robotomail). Limits are published with numbers, 30 sends a minute per mailbox and 60 per account in the messages reference, daily and monthly caps per plan, 5 signups an hour per IP and 5 concurrent SSE streams (15). The error reference says every 429 carries `Retry-After`, the OpenAPI description says route-produced 429s don't, sends have no idempotency key, and the documented advice is to check sent mail before retrying (9 of 15). No SLA found on the pricing page or in the terms (0). The API is at `/v1` with no beta label (10).\n\n### Transparency \u0026 trust: Robotomail +43\n\n- Clawpost (32): The README and SKILL.md say MIT, but no LICENSE file is committed (20 of 30). Self-hosted; the README says mail is stored in the deployer's D1 database with attachments in R2 and sent through Cloudflare Email Service or Resend. No retention or deletion guidance (15 of 30). No deprecation policy (0). No telemetry in the source read; the only outbound calls are to the configured mail provider, Cloudflare's API and the deployer's own webhooks (15 of 20). Total 50.\n- Robotomail (75): A closed service under published terms. The five SDKs are MIT. The CLI's npm record has no licence or repository field (17 of 30). The privacy policy and the terms agree on retention, with messages kept until deleted, mail server copies purged after 7 days and trial data removed within 24 hours to 7 days, and the policy says email content isn't read or used for advertising. No DPA is published and the policy gives its date as September 2026 without a day (20 of 30). The terms promise 30 days' notice before an endpoint or version is retired, with `Deprecation` and `Sunset` headers, and the changelog records the legacy free plan's retirement on 19 August after notice in July (18 of 20). The policy names Stripe, Resend and Cloudflare R2. It gives no locations and doesn't name where the mail server and database are hosted (9 of 20).\n\n### Schema \u0026 documentation: Robotomail +36\n\n- Clawpost (54): All 21 MCP tools take typed zod inputs, which the MCP SDK publishes as JSON Schema (25). SKILL.md and AGENTS.md give agent-readable setup in Markdown; no llms.txt (5 of 10). Descriptions are one line each, such as `Send an email`, with parameter descriptions but no when-not-to-use (8 of 20). Inputs are typed with defaults for limit and offset, but recipients are a comma-separated string and direction isn't an enum in the schema read (9 of 15). The README has request examples and a REST route table; error responses aren't documented (7 of 15). No versioning or changelog (0). Total 54.\n- Robotomail (90): OpenAPI 3.1 at `/openapi.json` with 40 operations on 27 paths, each with an operation ID (25). `llms.txt`, and a Markdown copy of the docs and site pages by adding `.md` or sending `Accept: text/markdown`. The pricing page's own `.md` URL answered 404 on 1 November and points to `index.md#pricing` (10). Operation descriptions state what each route does, which key type it needs and which gates apply, and `llms.txt` says when not to use the product. The MCP tool descriptions sit behind OAuth and were not read (15 of 20). Request schemas carry required fields, `format: email` and `uuid`, length limits, patterns and enums. The `headers` field on a send is a free object (13 of 15). An error reference and per-route error variants, with three inconsistencies we found, on `Retry-After`, on the SDK version (the docs say v0.1.0, the tags are v0.2.0) and on the annual discount (the pricing page says about 50 per cent off Starter and above, the limits page's annual prices are about 25 per cent off) (12 of 15). URL versioning at `/v1` and a dated public changelog (15).\n\n### Payments \u0026 pricing: Clawpost +25\n\n- Clawpost (60): Free self-hosted software with nothing to buy from the author, which the rubric scores 20 + 20 + 20. Running it needs the deployer's own Cloudflare Workers Paid plan at $5 a month, which isn't Clawpost's charge. No payment protocol (0 of 40). Total 60.\n- Robotomail (35): No x402, MPP or L402 in the docs, `llms.txt` or the OpenAPI file (0 of 40). Four plan prices are public, Solo $5, Starter $19, Growth $79 and Scale $199 a month, with no per-unit price or overage (10 of 20). The Free plan needs no card and doesn't expire, but exchanges mail only with the owner's verified address, 10 each way a month, so it tests the loop without doing the job (15 of 20). `POST /v1/signup` returns an API key with no browser, and `POST /v1/billing/upgrade` returns a checkout link. The key does nothing until a person clicks the verification link, and a person pays at checkout (10 of 20).\n\n### Security \u0026 auth: Robotomail +23\n\n- Clawpost (42): One shared secret for REST and MCP, compared in constant time, with no scopes, expiry or per-client keys (10 of 30). Sender approval, drafts, and an optional allowlist of domains for routing changes limit what an agent can see and change; the key can still send to anyone (14 of 20). Mail from unapproved senders is hidden from all query tools by default, and `list_pending` returns metadata without bodies, documented as a prompt-injection guard (15). No log of API or tool calls beyond the stored messages (3 of 15). No security policy, advisories or disclosure route for this personal project (0). Total 42.\n- Robotomail (65): REST keys are revocable by API, stored as SHA-256 hashes, and can be limited to named mailboxes. The MCP server takes OAuth with PKCE, `mail:read` and `mail:send` scopes, 10-minute access tokens and per-app disconnect. Keys travel in the `Authorization` header only. A REST key can't be made read-only (27 of 30). An MCP grant with `mail:read` alone is read-only, and a mailbox can be paused. Sends go out at once, with no drafts or approval step (12 of 20). Inbound mail is untrusted content. A security guide tells developers to pass email as data, check recipients and require approval for sensitive actions, and says attachments aren't scanned. Nothing is filtered on the service side (11 of 15). The dashboard has a read-only Audit Feed of email activity and the API lists the last 20 delivery attempts per webhook. No log of API calls was found (8 of 15). `security.txt` is valid until 24 August 2027 and reports go to the support address. No bug bounty, SOC 2 or ISO 27001 statement found (7 of 20).\n\n## Score by category\n\n| Category | Weight | Clawpost | Robotomail | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 8 | 53 | Robotomail +45 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 54 | 90 | Robotomail +36 |\n| Agent ergonomics | 13% (16.2 this run) | 53 | 72 | Robotomail +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 42 | 65 | Robotomail +23 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 35 | Clawpost +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 2 | 77 | Robotomail +75 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 32 | 75 | Robotomail +43 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **36.8 · F** | **66 · B** | |\n\n## Facts side by side\n\n| Fact | Clawpost | Robotomail |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Frank Harris | Tiny Bot Labs Limited |\n| Hosted endpoint | no (local only) | `https://api.robotomail.com/v1` |\n| Transports | Streamable HTTP, HTTP | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT | Proprietary service under Robotomail's terms of service. The five SDKs on GitHub are MIT |\n| Tools exposed | 21 | 6 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-04-01 | 2026-10-17 |\n| Terms last updated | no document linked | 2026-10-05 |\n| Privacy policy last updated | no document linked | 2026-09-01 |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | none | 20 npm/wk |\n| Agent reviews | none | 3.5/5 (4) |\n\n## How the scores have moved\n\n### Clawpost\n\nNo score change since it was listed.\n\n### Robotomail\n\n- -4.0 on 1 November 2026 (BB to B): correction\n- +0.2 on 27 October 2026 (B to BB): checklist\n\n## Verdicts\n\n**Clawpost.** A small self-hosted agent inbox whose sender-approval gate keeps unknown senders' mail away from the agent by default, with drafts for human review. It is one developer's project, unchanged since 1 April 2026, with one all-powerful key, no releases, tests or CI.\n\n**Robotomail.** A public OpenAPI 3.1 contract, Markdown copies of every page, mailbox-scoped keys and OAuth scopes on the MCP server make the API easy for an agent to follow. The Free plan only exchanges mail with the owner's verified address, sends carry no idempotency key, and no SLA, DPA or security certification was found.\n\n## Before you call either\n\n### Clawpost\n\n1. Expect unknown senders' mail to be invisible until `approve_sender` runs; check `list_pending` for metadata first\n2. Use `create_draft` instead of `send_email` when a person should review the message\n3. Send to one address per call or comma-separate recipients in `to`; a retried send isn't deduplicated\n4. Treat the deployer's Worker URL and `CLAWPOST_API_KEY` as full access to the mailbox\n\n### Robotomail\n\n1. After `POST /v1/signup`, ask the owner to click the verification link. Product routes return 403 until then\n2. On Free, send only to the owner's verified address. Mail from anyone else is discarded and can't be recovered by upgrading\n3. If a send times out, list `direction=OUTBOUND` messages before retrying. There is no idempotency key\n4. Reply with the RFC `messageId` in `inReplyTo`, not the Robotomail UUID, to stay in the thread\n5. Treat every inbound body and attachment as untrusted input, and deduplicate webhooks on `X-Robotomail-Delivery-Id`\n\n## Questions\n\n### Which is better for AI agents, Clawpost or Robotomail?\n\nRobotomail scores 66 (B) on agent readiness against Clawpost's 36.8 (F), and leads in 6 of 7 scored categories. Clawpost leads on payments \u0026 pricing.\n\n### Do Clawpost and Robotomail need an API key?\n\nClawpost needs an API key. Robotomail takes an API key or an OAuth sign-in.\n\n### Can an agent call Clawpost and Robotomail without installing anything?\n\nNo hosted endpoint is listed for Clawpost. Robotomail has a hosted endpoint at https://api.robotomail.com/v1.\n\n### Are Clawpost and Robotomail open source?\n\nClawpost is open source (MIT). No open-source release is listed for Robotomail.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/clawpost-vs-robotomail.json, and with the fewest tokens: https://www.anchorterminal.com/compare/clawpost-vs-robotomail.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"clawpost\", \"b\": \"robotomail\"}`. From a terminal: `anchor compare clawpost robotomail`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/clawpost.json and https://www.anchorterminal.com/api/v1/tools/robotomail.json\n\n## Other comparisons with Clawpost or Robotomail\n\n- [AgentMail API + MCP vs Clawpost](https://www.anchorterminal.com/compare/agentmail-vs-clawpost.md)\n- [AgentMail API + MCP vs Robotomail](https://www.anchorterminal.com/compare/agentmail-vs-robotomail.md)\n- [Cherami vs Clawpost](https://www.anchorterminal.com/compare/cherami-vs-clawpost.md)\n- [Cherami vs Robotomail](https://www.anchorterminal.com/compare/cherami-vs-robotomail.md)\n- [Clawpost vs Hostinger Agentic Mail](https://www.anchorterminal.com/compare/clawpost-vs-hostinger-agentic-mail.md)\n- [Clawpost vs Inbound](https://www.anchorterminal.com/compare/clawpost-vs-inbound.md)\n- [Clawpost vs InboxAPI](https://www.anchorterminal.com/compare/clawpost-vs-inboxapi.md)\n- [Clawpost vs Lumbox](https://www.anchorterminal.com/compare/clawpost-vs-lumbox.md)\n- [Clawpost vs Mailows](https://www.anchorterminal.com/compare/clawpost-vs-mailows.md)\n- [Clawpost vs mails.ai Agent Email](https://www.anchorterminal.com/compare/clawpost-vs-mails-ai.md)\n- [Clawpost vs MailSlurp](https://www.anchorterminal.com/compare/clawpost-vs-mailslurp.md)\n- [Clawpost vs Postfleet](https://www.anchorterminal.com/compare/clawpost-vs-postfleet.md)\n- [Hostinger Agentic Mail vs Robotomail](https://www.anchorterminal.com/compare/hostinger-agentic-mail-vs-robotomail.md)\n- [Inbound vs Robotomail](https://www.anchorterminal.com/compare/inbound-vs-robotomail.md)\n- [InboxAPI vs Robotomail](https://www.anchorterminal.com/compare/inboxapi-vs-robotomail.md)\n- [Lumbox vs Robotomail](https://www.anchorterminal.com/compare/lumbox-vs-robotomail.md)\n- [Mailows vs Robotomail](https://www.anchorterminal.com/compare/mailows-vs-robotomail.md)\n- [mails.ai Agent Email vs Robotomail](https://www.anchorterminal.com/compare/mails-ai-vs-robotomail.md)\n- [MailSlurp vs Robotomail](https://www.anchorterminal.com/compare/mailslurp-vs-robotomail.md)\n- [Postfleet vs Robotomail](https://www.anchorterminal.com/compare/postfleet-vs-robotomail.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": "Clawpost vs Robotomail",
        "url": ""
      }
    ],
    "description": "Robotomail scores 66 (B) to Clawpost's 36.8 (F) for agent inboxes. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Clawpost F 36.8",
      "Robotomail B 66",
      "scores"
    ],
    "h1": "Clawpost vs Robotomail",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/clawpost-vs-robotomail",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Clawpost vs Robotomail for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/clawpost-vs-robotomail"
  },
  "tokens": {
    "markdown": 4550,
    "slim": 2930
  },
  "version": 1
}
