{
  "data": {
    "similar": [
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/agentmail.json",
        "name": "AgentMail API + MCP",
        "score": 72.8,
        "shared": [
          "email.inbox",
          "email.send",
          "email.inbound",
          "email.threads",
          "email.domains"
        ],
        "slug": "agentmail"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/mailtrap.json",
        "name": "Mailtrap Email API + MCP",
        "score": 66.8,
        "shared": [
          "email.send",
          "email.inbound",
          "email.domains",
          "email.inbox",
          "email.threads"
        ],
        "slug": "mailtrap"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/mailslurp.json",
        "name": "MailSlurp",
        "score": 66.7,
        "shared": [
          "email.inbox",
          "email.inbound",
          "email.send",
          "email.threads",
          "email.domains"
        ],
        "slug": "mailslurp"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/robotomail.json",
        "name": "Robotomail",
        "score": 66,
        "shared": [
          "email.inbox",
          "email.send",
          "email.inbound",
          "email.threads",
          "email.domains"
        ],
        "slug": "robotomail"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/mails-ai.json",
        "name": "mails.ai Agent Email",
        "score": 65.2,
        "shared": [
          "email.inbox",
          "email.send",
          "email.inbound",
          "email.threads",
          "email.domains"
        ],
        "slug": "mails-ai"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/lumbox.json",
        "name": "Lumbox",
        "score": 60.7,
        "shared": [
          "email.inbox",
          "email.send",
          "email.inbound",
          "email.threads",
          "email.domains"
        ],
        "slug": "lumbox"
      }
    ],
    "tool": {
      "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"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 8,
            "points": 1.6,
            "reason": "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.",
            "checked": "2026-11-06"
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 54,
            "points": 8.78,
            "reason": "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.",
            "checked": "2026-11-06"
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 53,
            "points": 8.61,
            "reason": "21 tools, the 11 to 30 band (15 of 25). List and search tools take limit, offset and filters by direction, sender, label and archive state (20). Error shapes aren't documented; the code returns JSON errors (8 of 20). No idempotency key for sends and no readOnlyHint or destructiveHint annotations; drafts give a review step (3 of 20). Archived mail is excluded by default and the CLI has a `--json` mode, but there's no SDK beyond the CLI (7 of 15). Total 53.",
            "checked": "2026-11-06"
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 42,
            "points": 7.35,
            "reason": "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.",
            "checked": "2026-11-06"
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 60,
            "points": 7.5,
            "reason": "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.",
            "checked": "2026-11-06"
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 2,
            "points": 0.18,
            "reason": "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.",
            "checked": "2026-11-06"
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 32,
            "points": 2.8,
            "note": "editorial 50, provenance 13",
            "reason": "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.",
            "checked": "2026-11-06"
          }
        ],
        "assessment": {
          "date": "2026-11-06",
          "basis": "public evidence",
          "confidence": "low",
          "notes": {
            "ergonomics": "21 tools, the 11 to 30 band (15 of 25). List and search tools take limit, offset and filters by direction, sender, label and archive state (20). Error shapes aren't documented; the code returns JSON errors (8 of 20). No idempotency key for sends and no readOnlyHint or destructiveHint annotations; drafts give a review step (3 of 20). Archived mail is excluded by default and the CLI has a `--json` mode, but there's no SDK beyond the CLI (7 of 15). Total 53.",
            "maintenance": "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.",
            "payments": "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.",
            "reliability": "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.",
            "schema": "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.",
            "security": "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.",
            "transparency": "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."
          },
          "sources": [
            {
              "what": "repository and README",
              "url": "https://github.com/hirefrank/clawpost",
              "seen": "2026-11-06"
            },
            {
              "what": "MCP tool definitions",
              "url": "https://github.com/hirefrank/clawpost/blob/main/src/mcp.ts",
              "seen": "2026-11-06"
            },
            {
              "what": "authentication code",
              "url": "https://github.com/hirefrank/clawpost/blob/main/src/index.ts",
              "seen": "2026-11-06"
            },
            {
              "what": "agent skill",
              "url": "https://github.com/hirefrank/clawpost/blob/main/SKILL.md",
              "seen": "2026-11-06"
            },
            {
              "what": "commit history",
              "url": "https://github.com/hirefrank/clawpost/commits/main",
              "seen": "2026-11-06"
            }
          ],
          "openQuestions": [
            "unchecked: GitHub stars, open issues and pull requests, because GitHub's API refused our requests for its rate limit on 6 November 2026",
            "The licence is stated as MIT in the README and SKILL.md but no LICENSE file is committed"
          ]
        },
        "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
        },
        "scoreHistory": [
          {
            "date": "2026-11-06",
            "grade": "F",
            "kind": "listed",
            "method": "0.7",
            "score": 36.8
          }
        ]
      },
      "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"
      },
      "notable": [
        "Inbound mail is unapproved by default and hidden from every query tool until `approve_sender` allowlists the sender; `list_pending` shows metadata only, as a prompt-injection guard (https://github.com/hirefrank/clawpost#sender-approval)",
        "Drafts let an agent prepare mail for a person to review and send (https://github.com/hirefrank/clawpost#drafts)",
        "Runs on the deployer's own Cloudflare account with D1, R2, Durable Objects, Email Routing and Email Service or Resend (https://github.com/hirefrank/clawpost#readme)",
        "25 commits between 7 February and 1 April 2026, no tags or releases, no CI and no tests in the repository (https://github.com/hirefrank/clawpost/commits)",
        "The README says MIT, but the repository has no LICENSE file (https://github.com/hirefrank/clawpost)"
      ],
      "area": "communication",
      "details": [
        {
          "label": "Surface listed",
          "value": "The Worker's MCP endpoint at /mcp, its REST API under /api and the CLI, read from a clone of github.com/hirefrank/clawpost (README, SKILL.md, src/mcp.ts, src/index.ts and the commit history) on 6 November 2026. Nothing was deployed or run"
        },
        {
          "label": "MCP tools",
          "value": "21 tools: send, reply, list, read, attachments, search, threads, labels, drafts, archive, and sender approval (list_pending, approve_sender, remove_sender, list_approved_senders)"
        },
        {
          "label": "Previous name",
          "value": "clawmail, renamed to clawpost on 12 February 2026 per the commit history"
        },
        {
          "label": "Built for",
          "value": "openclaw.ai agents, per the README"
        },
        {
          "label": "Known gaps",
          "value": "The README's roadmap lists per-key rate limiting, bounce handling and Resend webhook signature checks as not yet built"
        }
      ],
      "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,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "not found",
            "points": 0,
            "max": 20,
            "state": "no"
          },
          {
            "check": "Domain age",
            "value": "github.com, no registry record we could read",
            "points": 0,
            "max": 15,
            "state": "no"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": " is not on github.com",
            "points": 0,
            "max": 15,
            "state": "no"
          },
          {
            "check": "Terms of service",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "Privacy policy",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "Status page",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "Changelog",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "security.txt",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "People named",
            "value": "1 named with their role, 1 with a public profile",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Support route",
            "value": "help pages",
            "points": 5,
            "max": 5,
            "state": "ok"
          }
        ]
      },
      "humans": {
        "slug": "clawpost",
        "checked": "2026-11-06",
        "people": [
          {
            "name": "Frank Harris",
            "role": "Author and maintainer",
            "founder": true,
            "x": "https://x.com/hirefrank",
            "github": "https://github.com/hirefrank",
            "page": "/people/frank-harris/"
          }
        ],
        "peopleNote": "Clawpost is a personal repository under the GitHub account hirefrank; every commit in the history is by Frank Harris, apart from one merged pull request authored with Claude, and SKILL.md names hirefrank as author. There is no company, website, funding or investors. His GitHub profile names him Frank Harris and links the X account hirefrank, which is listed.",
        "companySocial": {
          "github": "https://github.com/hirefrank"
        },
        "support": {
          "urls": [
            "https://github.com/hirefrank/clawpost/issues"
          ]
        },
        "sources": [
          "https://github.com/hirefrank/clawpost",
          "https://github.com/hirefrank/clawpost/blob/main/SKILL.md",
          "https://github.com/hirefrank"
        ],
        "ownership": {
          "status": "project",
          "checked": "2026-11-06",
          "sources": [
            "https://github.com/hirefrank/clawpost"
          ]
        }
      },
      "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"
      }
    },
    "verify": {
      "accepts": "the front page of github.com/hirefrank or of one of its repositories, or the README at the root of github.com/hirefrank/clawpost",
      "badgeUrl": "https://www.anchorterminal.com/badges/clawpost.svg",
      "body": {
        "slug": "clawpost",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/clawpost",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/clawpost\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/clawpost.svg\" alt=\"Clawpost on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![Clawpost on Anchor Terminal](https://www.anchorterminal.com/badges/clawpost.svg)](https://www.anchorterminal.com/tools/clawpost)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/clawpost\"\u003eClawpost on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/clawpost",
    "json": "https://www.anchorterminal.com/tools/clawpost.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/clawpost.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "pricing": "https://www.anchorterminal.com/tools/clawpost#pricing",
    "reviews": "https://www.anchorterminal.com/tools/clawpost#reviews",
    "slim": "https://www.anchorterminal.com/tools/clawpost.min.md"
  },
  "markdown": "## Overview\n\n**Grade F · 36.8/100 · rank #1361 of 1486 · #12 in Agent inbox APIs · not agent-ready · confidence low**\n\n\n## Assessment\n\nA 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## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Frank Harris (https://github.com/hirefrank/clawpost) |\n| Kind | MCP server |\n| Category | Agent inbox APIs (https://www.anchorterminal.com/categories/agent-inboxes) |\n| Transport | Streamable HTTP, HTTP |\n| Auth | API key · 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. |\n| Pricing | Free (Free · OSS) · 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. |\n| x402 | No · No x402, MPP or L402 in the source or README (checked 2026-11-06). |\n| Licence | MIT |\n| Tools exposed | 21 |\n| Source | https://github.com/hirefrank/clawpost |\n| Docs | https://github.com/hirefrank/clawpost#readme |\n| llms.txt | not found |\n| Last release | 2026-04-01 |\n| Surface listed | The Worker's MCP endpoint at /mcp, its REST API under /api and the CLI, read from a clone of github.com/hirefrank/clawpost (README, SKILL.md, src/mcp.ts, src/index.ts and the commit history) on 6 November 2026. Nothing was deployed or run |\n| MCP tools | 21 tools: send, reply, list, read, attachments, search, threads, labels, drafts, archive, and sender approval (list_pending, approve_sender, remove_sender, list_approved_senders) |\n| Previous name | clawmail, renamed to clawpost on 12 February 2026 per the commit history |\n| Built for | openclaw.ai agents, per the README |\n| Known gaps | The README's roadmap lists per-key rate limiting, bounce handling and Resend webhook signature checks as not yet built |\n| Capabilities | email.inbox, email.send, email.inbound, email.threads, email.domains |\n| Tags | self-hosted, open-source, mcp, remote-mcp, api-key, cloudflare, webhooks, approvals, typescript, cli, pre-1.0 |\n| JSON | https://www.anchorterminal.com/api/v1/tools/clawpost.json |\n\n## Score breakdown (methodology v0.7, October 2026 research run)\n\nAssessed 2026-11-06 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: low. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 8 | 1.6 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 54 | 8.8 |\n| Agent ergonomics | 13% | 16.2 | 53 | 8.6 |\n| Security \u0026 auth | 14% | 17.5 | 42 | 7.3 |\n| Payments \u0026 pricing | 10% | 12.5 | 60 | 7.5 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 2 | 0.2 |\n| Transparency \u0026 trust (editorial 50, provenance 13) | 7% | 8.8 | 32 | 2.8 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **36.8 → F** |\n\n### Why each score\n\n- Reliability 8 (checked 2026-11-06): 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- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 54 (checked 2026-11-06): 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- Agent ergonomics 53 (checked 2026-11-06): 21 tools, the 11 to 30 band (15 of 25). List and search tools take limit, offset and filters by direction, sender, label and archive state (20). Error shapes aren't documented; the code returns JSON errors (8 of 20). No idempotency key for sends and no readOnlyHint or destructiveHint annotations; drafts give a review step (3 of 20). Archived mail is excluded by default and the CLI has a `--json` mode, but there's no SDK beyond the CLI (7 of 15). Total 53.\n- Security \u0026 auth 42 (checked 2026-11-06): 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- Payments \u0026 pricing 60 (checked 2026-11-06): 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- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 2 (checked 2026-11-06): 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- Transparency \u0026 trust 32 (checked 2026-11-06): 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\nFix list, everything this grade says the listing lacks, the biggest gain first (17 items). What it covers is at https://www.anchorterminal.com/fixes/clawpost.md (JSON https://www.anchorterminal.com/fixes/clawpost.json). The whole list for a coding agent comes from `POST https://www.anchorterminal.com/api/v1/fix-list` with `{\"listing\": \"clawpost\", \"plan\": \"read\"}`, free while the beta runs\n\n### What we couldn't check\n\n- unchecked: GitHub stars, open issues and pull requests, because GitHub's API refused our requests for its rate limit on 6 November 2026\n- The licence is stated as MIT in the README and SKILL.md but no LICENSE file is committed\n\n### Sources\n\n- repository and README: \u003chttps://github.com/hirefrank/clawpost\u003e (seen 2026-11-06)\n- MCP tool definitions: \u003chttps://github.com/hirefrank/clawpost/blob/main/src/mcp.ts\u003e (seen 2026-11-06)\n- authentication code: \u003chttps://github.com/hirefrank/clawpost/blob/main/src/index.ts\u003e (seen 2026-11-06)\n- agent skill: \u003chttps://github.com/hirefrank/clawpost/blob/main/SKILL.md\u003e (seen 2026-11-06)\n- commit history: \u003chttps://github.com/hirefrank/clawpost/commits/main\u003e (seen 2026-11-06)\n\n## Score history\n\nEvery move of a score since the listing was graded, newest first, with its cause. A score can't move without an entry here. JSON: https://www.anchorterminal.com/api/v1/tools/clawpost/history.json\n\n- 2026-11-06: graded 36.8 F (methodology 0.7)\n\n## Who's behind it (provenance 13/100, checked 2026-11-06)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | not found | 0/20 |\n| Domain age | github.com, no registry record we could read | 0/15 |\n| Endpoint on the vendor's domain |  is not on github.com | 0/15 |\n| Terms of service | not found | 0/10 |\n| Privacy policy | not found | 0/10 |\n| Status page | not found | 0/10 |\n| Changelog | not found | 0/10 |\n| security.txt | not found | 0/10 |\n| People named | 1 named with their role, 1 with a public profile | 10/10 |\n| Support route | help pages | 5/5 |\n\nA 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.\n\nThe README's licence section says MIT and SKILL.md declares MIT, but no LICENSE file is committed.\n\nThe endpoint is whatever Worker URL the deployer chooses, usually on workers.dev.\n\nGitHub'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.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service**. We found no terms of service published for this product, so there is nothing to read and the check scores 0.\n\n\n**Privacy policy**. We found no privacy policy published for this product, so there is nothing to read and the check scores 0.\n\n\n## Humans behind the project (researched 2026-11-06 from public pages, not part of the grade)\n\n### Key people\n\n- Frank Harris, Author and maintainer. X: https://x.com/hirefrank. GitHub: https://github.com/hirefrank\n- Note: Clawpost is a personal repository under the GitHub account hirefrank; every commit in the history is by Frank Harris, apart from one merged pull request authored with Claude, and SKILL.md names hirefrank as author. There is no company, website, funding or investors. His GitHub profile names him Frank Harris and links the X account hirefrank, which is listed.\n- The company: GitHub https://github.com/hirefrank\n\n### Getting support\n\n- Help: https://github.com/hirefrank/clawpost/issues\n- Sources: https://github.com/hirefrank/clawpost, https://github.com/hirefrank/clawpost/blob/main/SKILL.md, https://github.com/hirefrank\n\n## Live (updated 2026-11-07 16:01 UTC)\n\n- security.txt: valid, expires 2026-12-07T16:01:24z\n- Always current: https://www.anchorterminal.com/api/v1/live/clawpost.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Strengths\n\n- Mail from unapproved senders is stored but hidden from every query tool until a sender is approved\n- Drafts let a person review mail before an agent's message goes out\n- Self-hosted on the deployer's own Cloudflare account, so mail stays in their D1 and R2\n- 21 MCP tools with typed zod inputs, plus a REST API and a CLI with `--json` output\n- Free software; running costs are the Cloudflare Workers Paid plan at $5 a month\n\n## Weaknesses\n\n- One shared API key grants every REST and MCP operation; no scopes or read-only key\n- No commits since 1 April 2026, no tags or releases, no CI and no tests\n- No idempotency on sends and no MCP tool annotations\n- Tool descriptions are one line, such as `Send an email`, with no when-not-to-use guidance\n- README says MIT but no LICENSE file is in the repository\n\n\n\n## Before you call it (notes for agents)\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## Connect\n\nInstall:\n\n```bash\ngit 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\n```\n\nMCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"clawpost\": {\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_CLAWPOST_API_KEY\"\n      },\n      \"type\": \"streamable-http\",\n      \"url\": \"https://\\u003cyour-worker\\u003e.workers.dev/mcp\"\n    }\n  }\n}\n```\n\nThrough letme: https://letme.dev/clawpost. letme answers with the pick and how to call it direct. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| AgentMail API + MCP | BB | 72.8 | 116 | email.inbox, email.send, email.inbound, email.threads, email.domains | yes | https://www.anchorterminal.com/tools/agentmail.md |\n| Mailtrap Email API + MCP | B | 66.8 | 352 | email.send, email.inbound, email.domains, email.inbox, email.threads | no | https://www.anchorterminal.com/tools/mailtrap.md |\n| MailSlurp | B | 66.7 | 358 | email.inbox, email.inbound, email.send, email.threads, email.domains | no | https://www.anchorterminal.com/tools/mailslurp.md |\n| Robotomail | B | 66 | 388 | email.inbox, email.send, email.inbound, email.threads, email.domains | no | https://www.anchorterminal.com/tools/robotomail.md |\n| mails.ai Agent Email | B | 65.2 | 432 | email.inbox, email.send, email.inbound, email.threads, email.domains | no | https://www.anchorterminal.com/tools/mails-ai.md |\n| Lumbox | C | 60.7 | 642 | email.inbox, email.send, email.inbound, email.threads, email.domains | no | https://www.anchorterminal.com/tools/lumbox.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- Inbound mail is unapproved by default and hidden from every query tool until `approve_sender` allowlists the sender; `list_pending` shows metadata only, as a prompt-injection guard (source: \u003chttps://github.com/hirefrank/clawpost#sender-approval\u003e)\n- Drafts let an agent prepare mail for a person to review and send (source: \u003chttps://github.com/hirefrank/clawpost#drafts\u003e)\n- Runs on the deployer's own Cloudflare account with D1, R2, Durable Objects, Email Routing and Email Service or Resend (source: \u003chttps://github.com/hirefrank/clawpost#readme\u003e)\n- 25 commits between 7 February and 1 April 2026, no tags or releases, no CI and no tests in the repository (source: \u003chttps://github.com/hirefrank/clawpost/commits\u003e)\n- The README says MIT, but the repository has no LICENSE file (source: \u003chttps://github.com/hirefrank/clawpost\u003e)\n\n- #12 of 12 in 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## Compare\n\n- [AgentMail API + MCP vs Clawpost](https://www.anchorterminal.com/compare/agentmail-vs-clawpost.md): BB 72.8 vs F 36.8\n- [Cherami vs Clawpost](https://www.anchorterminal.com/compare/cherami-vs-clawpost.md): C 58.6 vs F 36.8\n- [Clawpost vs Hostinger Agentic Mail](https://www.anchorterminal.com/compare/clawpost-vs-hostinger-agentic-mail.md): F 36.8 vs C 60.1\n- [Clawpost vs Inbound](https://www.anchorterminal.com/compare/clawpost-vs-inbound.md): F 36.8 vs C 60.4\n- [Clawpost vs InboxAPI](https://www.anchorterminal.com/compare/clawpost-vs-inboxapi.md): F 36.8 vs D 46.2\n- [Clawpost vs Lumbox](https://www.anchorterminal.com/compare/clawpost-vs-lumbox.md): F 36.8 vs C 60.7\n- [Clawpost vs Mailows](https://www.anchorterminal.com/compare/clawpost-vs-mailows.md): F 36.8 vs C 54.1\n- [Clawpost vs mails.ai Agent Email](https://www.anchorterminal.com/compare/clawpost-vs-mails-ai.md): F 36.8 vs B 65.2\n- [Clawpost vs MailSlurp](https://www.anchorterminal.com/compare/clawpost-vs-mailslurp.md): F 36.8 vs B 66.7\n- [Clawpost vs Postfleet](https://www.anchorterminal.com/compare/clawpost-vs-postfleet.md): F 36.8 vs C 57.4\n- [Clawpost vs Robotomail](https://www.anchorterminal.com/compare/clawpost-vs-robotomail.md): F 36.8 vs B 66\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from the front page of github.com/hirefrank or of one of its repositories, or the README at the root of github.com/hirefrank/clawpost. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"clawpost\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/clawpost\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/clawpost.svg\" alt=\"Clawpost on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![Clawpost on Anchor Terminal](https://www.anchorterminal.com/badges/clawpost.svg)](https://www.anchorterminal.com/tools/clawpost)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/clawpost\"\u003eClawpost on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Clawpost is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/clawpost-dark.png\n- Light: https://www.anchorterminal.com/assets/share/clawpost-light.png\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Agent inbox APIs",
        "url": "https://www.anchorterminal.com/categories/agent-inboxes"
      },
      {
        "name": "Clawpost",
        "url": ""
      }
    ],
    "description": "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.",
    "facts": [
      "rank #1361 of 1486",
      "API key auth",
      "0 desk reviews"
    ],
    "h1": "Clawpost",
    "image": "https://www.anchorterminal.com/assets/og/tools-clawpost.png",
    "path": "/tools/clawpost",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Clawpost review (2026): pricing, alternatives and grade F",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/tools/clawpost"
  },
  "tokens": {
    "markdown": 5000,
    "slim": 1330
  },
  "version": 1
}
