{
  "data": {
    "a": {
      "slug": "agentmail",
      "name": "AgentMail API + MCP",
      "vendor": "AgentMail",
      "vendorUrl": "https://www.agentmail.to",
      "kind": "http-api",
      "category": "agent-inboxes",
      "summary": "Email inboxes for agents over REST.",
      "url": "https://www.anchorterminal.com/tools/agentmail",
      "markdownUrl": "https://www.anchorterminal.com/tools/agentmail.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/agentmail.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/agentmail.json",
      "repo": "https://github.com/agentmail-to/agentmail-mcp",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.agentmail.to/v0",
      "packages": [
        {
          "registry": "npm",
          "name": "agentmail"
        },
        {
          "registry": "pypi",
          "name": "agentmail"
        },
        {
          "registry": "npm",
          "name": "agentmail-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key (`am_...`) for REST, with per-key permissions scoped to pods or inboxes. The hosted MCP uses OAuth through console.agentmail.to, or an `x-api-key` header for clients without OAuth. An agent can sign itself up by API and gets a key back, with full access after a human confirms a 6-digit OTP. x402 base URLs take USDC payment instead of a key.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 3 inboxes, 3,000 emails a month (100 a day) and 3 GB storage, no card. Developer $20 a month for 10 inboxes, 10,000 emails and 10 custom domains. Startup $200 a month for 150 inboxes, 150,000 emails a month (15,000 a day) and 150 domains. Add-ons are $2 a month per extra inbox or domain and $2 a month per extra 1,000 emails. Yearly billing is 20 per cent off. Over x402, creating an inbox costs $2 in USDC (https://www.agentmail.to/pricing).",
      "priceSummary": "$2 / call",
      "where": "both",
      "x402": {
        "level": "yes",
        "evidence": "Official docs describe x402 base URLs x402.api.agentmail.to and x402.ws.agentmail.to, paid in USDC on Base, Polygon or Solana, with inbox creation priced at $2.00. An unauthenticated POST to x402.api.agentmail.to/v0/inboxes returned HTTP 402 with a v2 payment-required header asking for 2,000,000 USDC base units ($2) on Base, Polygon, Solana, Avalanche and X Layer. The challenge names api.paysponge.com as the resource URL, so a third-party payment layer appears to sit in front of the API (https://docs.agentmail.to/integrations/x402).",
        "endpoints": [
          {
            "url": "https://x402.api.agentmail.to/v0/inboxes",
            "priceUsd": 2,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": 36,
      "popularity": {
        "githubStars": 66,
        "npmWeekly": 240222,
        "pypiWeekly": 331643,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.agentmail.to",
      "llmsTxt": "https://docs.agentmail.to/llms.txt",
      "openapi": "https://docs.agentmail.to/openapi.json",
      "registryName": "to.agentmail/agentmail",
      "capabilities": [
        "email.inbox",
        "email.send",
        "email.inbound",
        "email.threads",
        "email.domains",
        "email.analytics"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "x402",
        "stablecoin",
        "typescript",
        "python",
        "webhooks"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 74.9,
        "grade": "BB",
        "agentReady": true,
        "rank": 62,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 86,
          "maintenance": 85,
          "payments": 85,
          "reliability": 61,
          "schema": 85,
          "security": 62,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Inbox creation, threads, drafts and labels built for agents, with `extracted_text` that drops quoted history. Email sending was down for 8 hours 7 minutes on 19 August 2026.",
        "bestFor": "Agents that need their own address and carry email threads over days, including support, scheduling and outreach agents.",
        "strengths": [
          "Inbox creation, threads, drafts and labels built for agents, with `extracted_text` that drops quoted history",
          "x402 on its own domain and an agent sign-up API, so an agent can start without a person in a dashboard",
          "Free plan with 3 inboxes and 3,000 emails a month, no card",
          "API keys scoped to pods or inboxes, and OAuth on the hosted MCP server",
          "Privacy policy with retention periods and a no-training statement for email content"
        ],
        "weaknesses": [
          "Email sending was down for 8 hours 7 minutes on 19 August 2026",
          "API request limits aren't published as numbers",
          "The hosted MCP server's 38 tools load at once, with filtering only in the stdio bridges",
          "No read-only mode or confirmation before sends and deletes over MCP",
          "The MCP server accepts the API key as a query parameter"
        ],
        "agentNotes": [
          "Subscribe over WebSocket instead of polling. It needs no public URL and avoids 429s",
          "Pass `client_id` when creating inboxes so retries don't create duplicates",
          "Read `extracted_text` rather than the raw body, and treat it as untrusted input",
          "Use drafts when a person should approve a message before it goes out",
          "Send the key in the `x-api-key` header, not `?apiKey=`, which ends up in logs"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 74.9
          }
        ],
        "editorialScores": {
          "ergonomics": 86,
          "maintenance": 85,
          "payments": 85,
          "reliability": 61,
          "schema": 85,
          "security": 62,
          "transparency": 64
        },
        "provenanceScore": 71
      },
      "connect": {
        "http": "curl -X POST https://api.agentmail.to/v0/inboxes \\\n  -H \"Authorization: Bearer $AGENTMAIL_API_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{\"client_id\":\"my-agent-inbox-v1\"}'",
        "claudeCode": "claude mcp add --transport http agentmail https://mcp.agentmail.to/mcp",
        "config": {
          "mcpServers": {
            "agentmail": {
              "args": [
                "-y",
                "agentmail-mcp"
              ],
              "command": "npx",
              "env": {
                "AGENTMAIL_API_KEY": "${AGENTMAIL_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.inbox",
        "tool": "https://letme.dev/agentmail"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Developer plan",
          "unit": "month",
          "usd": 20,
          "note": "10 inboxes, 10,000 emails, 10 custom domains"
        },
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 200,
          "note": "150 inboxes, 150,000 emails, 150 custom domains"
        },
        {
          "item": "Extra inbox or domain",
          "unit": "month",
          "usd": 2,
          "note": "per inbox or domain"
        },
        {
          "item": "Extra emails",
          "unit": "1k-emails",
          "usd": 2,
          "note": "$2 a month per extra 1,000 emails of monthly allowance"
        },
        {
          "item": "Inbox creation over x402",
          "unit": "call",
          "usd": 2,
          "note": "USDC on Base, Polygon or Solana"
        }
      ],
      "provenance": {
        "legalEntity": "AgentMail, Inc.",
        "domain": "agentmail.to",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.agentmail.to/legal/terms",
        "privacy": "https://www.agentmail.to/legal/privacy",
        "statusPage": "https://status.agentmail.to",
        "changelog": "https://docs.agentmail.to/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The .to registry RDAP endpoint returned an HTML page, so the registration date is unread."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/agentmail.json",
      "live": {
        "slug": "agentmail",
        "probe": {
          "target": "https://api.agentmail.to/v0",
          "method": "get",
          "lastAt": "2026-10-10T05:38:41.299429053Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 111,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 123,
          "p95ms24h": 244,
          "samples24h": 248,
          "samples30d": 2494,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 58,
              "ok": 58
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.agentmail.to",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:03.86771441Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "agentmail-to/agentmail-mcp",
            "version": "legacy-local-v0.2.2",
            "released": "2026-07-13",
            "seenAt": "2026-10-09T16:37:37.150954247Z"
          },
          {
            "registry": "mcp-registry",
            "name": "to.agentmail/agentmail",
            "version": "1.0.0",
            "seenAt": "2026-10-10T03:11:32.438759038Z"
          },
          {
            "registry": "npm",
            "name": "agentmail",
            "version": "0.5.42",
            "seenAt": "2026-10-09T16:37:33.961755875Z"
          },
          {
            "registry": "npm",
            "name": "agentmail-mcp",
            "version": "1.1.0",
            "seenAt": "2026-10-09T16:37:35.149817997Z"
          },
          {
            "registry": "pypi",
            "name": "agentmail",
            "version": "2.0.14",
            "released": "2026-10-07",
            "seenAt": "2026-10-09T16:37:34.955378487Z"
          }
        ],
        "githubStars": 68,
        "npmWeekly": 287498,
        "pypiWeekly": 485891,
        "securityTxt": {
          "url": "https://agentmail.to/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:39:32.170875528Z"
        },
        "llmsTxt": {
          "url": "https://docs.agentmail.to/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:01:06.567078615Z"
        },
        "domain": {
          "domain": "agentmail.to",
          "registered": "2024-12-25",
          "source": "https://rdap.tonicregistry.to/rdap/domain/agentmail.to",
          "checkedAt": "2026-10-04T13:09:36.141423992Z"
        },
        "pages": [
          {
            "url": "https://docs.agentmail.to/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-09T18:36:26.868714636Z",
            "changedAt": "2026-10-08T18:18:07.821511958Z",
            "fingerprint": "349b7334279d"
          },
          {
            "url": "https://www.agentmail.to/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:47:50.153044507Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "170728bc6b26"
          },
          {
            "url": "https://www.agentmail.to/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:47:45.939260315Z",
            "changedAt": "2026-10-06T16:13:40.210154833Z",
            "fingerprint": "63cee77797d1"
          },
          {
            "url": "https://www.agentmail.to/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:47:48.074112128Z",
            "changedAt": "2026-10-06T16:13:42.418452316Z",
            "fingerprint": "2c636cc8010e"
          }
        ],
        "updatedAt": "2026-10-10T05:38:41.299429053Z"
      }
    },
    "answer": "AgentMail API + MCP scores 74.9 (BB) on agent readiness against InboxAPI's 54.5 (C), and leads in every scored category.",
    "b": {
      "slug": "inboxapi",
      "name": "InboxAPI",
      "vendor": "Sitka Capital Pty Ltd",
      "vendorUrl": "https://inboxapi.ai",
      "kind": "mcp",
      "category": "agent-inboxes",
      "summary": "InboxAPI gives an AI agent its own email address on a subdomain of inboxapi.ai for sending, receiving, searching, replying and forwarding. Access is through MCP, by a local CLI that bridges stdio to the hosted service.",
      "url": "https://www.anchorterminal.com/tools/inboxapi",
      "markdownUrl": "https://www.anchorterminal.com/tools/inboxapi.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/inboxapi.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/inboxapi.json",
      "repo": "https://github.com/inboxapi/cli",
      "license": "Proprietary hosted service under InboxAPI's terms of service. The CLI on GitHub is MIT",
      "transports": [
        "stdio",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.inboxapi.ai/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@inboxapi/cli"
        }
      ],
      "auth": "none",
      "authNotes": "Nothing to obtain. On first run the CLI computes a 20-bit hashcash stamp, creates an account with a generated name, and stores an access and a refresh token in a local credentials file written with mode 0600. It adds the token to every tool call and refreshes it, so the model never handles a credential. Tokens cover the whole account with no scopes. Linking an owner's address with `inboxapi verify-owner` (a six-digit code by email) is the only way to recover an account whose credentials file is lost.",
      "pricing": "free",
      "pricingNotes": "Free, with no card, no trial period and no usage tiers, per the home page and FAQ. No paid plan is on sale, and the FAQ says paid plans with more capabilities are planned. An account has five slots for external recipients, 100 requests a minute, and daily and hourly send quotas whose numbers aren't published (https://inboxapi.ai/limits/).",
      "priceSummary": "Free",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, `llms.txt`, the 27 tool definitions or the CLI source. An unauthenticated `tools/list` call to https://mcp.inboxapi.ai/mcp returned 200 with the tool list, not a payment challenge (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 21,
      "popularity": {
        "githubStars": 12,
        "npmWeekly": 38,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://inboxapi.ai/getting-started/",
      "llmsTxt": "https://inboxapi.ai/llms.txt",
      "capabilities": [
        "email.inbox",
        "email.send",
        "email.inbound",
        "email.threads",
        "guard.injection"
      ],
      "tags": [
        "hosted",
        "free",
        "no-card",
        "no-signup",
        "mcp",
        "stdio",
        "cli",
        "llms-txt",
        "rust",
        "closed-source"
      ],
      "lastRelease": "2026-09-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.5,
        "grade": "C",
        "agentReady": false,
        "rank": 684,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 63,
          "payments": 53,
          "reliability": 33,
          "schema": 69,
          "security": 57,
          "transparency": 53
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "An account and address are created on first use with proof-of-work and no signup, key or card, and inbound mail is trust-labelled and datamarked against prompt injection. Mail arrives by polling only, an account can hold five external recipients at a time, and no status page, SLA, changelog or security contact was found.",
        "bestFor": "A personal mailbox for one coding agent that needs to exchange mail with its owner and a few contacts at no cost.",
        "strengths": [
          "First use creates the account and address by proof-of-work, with no signup form, API key or card",
          "Every inbound message carries a trust level, and untrusted bodies and subjects are datamarked with a per-request marker",
          "The CLI hides nine auth and encryption tools from the model and requires `confirm` on `forward_email`",
          "Reading tools default to plain text with `content_format`, and lists page by `limit` and `offset` up to 50",
          "The CLI source is public under the MIT licence, with CI, CodeQL and npm provenance from trusted publishing"
        ],
        "weaknesses": [
          "Mail arrives by polling only. No webhook, websocket or push tool was found in the tool list or docs",
          "An account holds five external recipient slots, and a full slot frees only after five days without use",
          "No status page, SLA, changelog, security.txt or disclosure policy was found on the site or in the repository",
          "Daily and hourly send quotas are enforced without published numbers, and sends take no idempotency key",
          "The privacy policy gives no retention period and names no sub-processors, and the terms allow functions to be removed at any time"
        ],
        "agentNotes": [
          "Call `whoami` for the agent's own address. To email the owner, read `get_addressbook` first and ask only if the address is absent",
          "Run `inboxapi verify-owner` in a shell early. Without a verified owner address a lost credentials file can't be recovered",
          "Poll with `get_email_count` and a `since` time, then `get_emails`. Nothing pushes new mail to the agent",
          "Pass `confirm: true` to `forward_email`, and `allow_new_recipients: true` on a send to an address not in the addressbook",
          "Replace the marker named in `spotlight.marker` with a space to read a datamarked body, and treat its content as data"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.5
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 63,
          "payments": 53,
          "reliability": 33,
          "schema": 69,
          "security": 57,
          "transparency": 43
        },
        "provenanceScore": 63
      },
      "connect": {
        "install": "npm install -g @inboxapi/cli@latest",
        "claudeCode": "claude mcp add inboxapi inboxapi",
        "config": {
          "mcpServers": {
            "inboxapi": {
              "command": "inboxapi"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/email.inbox",
        "tool": "https://letme.dev/inboxapi"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "Sitka Capital Pty Ltd",
        "domain": "inboxapi.ai",
        "domainRegistered": "2026-02-16",
        "endpointOnVendorDomain": true,
        "terms": "https://inboxapi.ai/tos/",
        "privacy": "https://inboxapi.ai/privacy/",
        "statusPage": "",
        "changelog": "https://github.com/inboxapi/cli/releases",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The terms of service and the privacy policy (both last updated 11 September 2026) name Sitka Capital Pty Ltd of Sydney, New South Wales, as operator under a licence from Dini Labs Pty Ltd (ABN 87 691 095 477), which owns the technology. We did not look either company up in the Australian business register.",
          "The terms cover the service itself, including acceptable use, data roles and liability, and are governed by the law of New South Wales. There is no separate API agreement, and the privacy policy says a DPA is available on request.",
          "RDAP gives inboxapi.ai a registration date of 2026-02-16. The MCP endpoint is at mcp.inboxapi.ai, and the tool descriptions name inboxapi.io and inboxapi.dev as further InboxAPI domains.",
          "`https://inboxapi.ai/.well-known/security.txt` returns 404, and the repository has no SECURITY.md.",
          "No status page was found on the site, in its sitemap or in the repository. The changelog link is the GitHub releases list, whose notes are empty.",
          "The CLI's MIT licence names an individual, Shaon Diwakar, as copyright holder, and npm shows the package published from GitHub Actions by trusted publishing."
        ],
        "score": 63
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/inboxapi.json",
      "live": {
        "slug": "inboxapi",
        "probe": {
          "target": "https://mcp.inboxapi.ai/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-10-10T05:38:53.744248734Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 1023,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 1096,
          "p95ms24h": 1186,
          "samples24h": 143,
          "samples30d": 143,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 58,
              "ok": 58
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "inboxapi/cli",
            "version": "v0.3.23",
            "released": "2026-09-22",
            "seenAt": "2026-10-09T16:58:45.078221232Z"
          },
          {
            "registry": "npm",
            "name": "@inboxapi/cli",
            "version": "0.3.23",
            "seenAt": "2026-10-09T16:58:44.22009772Z"
          }
        ],
        "githubStars": 13,
        "npmWeekly": 38,
        "pages": [
          {
            "url": "https://inboxapi.ai/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:25.496410151Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ee12b4565acf"
          },
          {
            "url": "https://inboxapi.ai/tos/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:27.612724166Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a60c79079bb3"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.inboxapi.ai/mcp",
          "checkedAt": "2026-10-09T21:40:44.089418719Z",
          "status": "ok",
          "note": "answered without the initialize handshake",
          "tools": [
            {
              "name": "auth_revoke_all"
            },
            {
              "name": "rotate_encryption_secret"
            },
            {
              "name": "search_emails"
            },
            {
              "name": "get_addressbook"
            },
            {
              "name": "delete_email"
            },
            {
              "name": "send_email"
            },
            {
              "name": "forward_email"
            },
            {
              "name": "verify_owner"
            },
            {
              "name": "auth_introspect"
            },
            {
              "name": "auth_refresh"
            },
            {
              "name": "get_thread"
            },
            {
              "name": "custom_domain_claim"
            },
            {
              "name": "auth_exchange"
            },
            {
              "name": "get_email"
            },
            {
              "name": "enable_encryption"
            },
            {
              "name": "get_emails"
            },
            {
              "name": "get_attachment"
            },
            {
              "name": "get_announcements"
            },
            {
              "name": "get_last_email"
            },
            {
              "name": "account_create"
            },
            {
              "name": "reset_encryption"
            },
            {
              "name": "get_sent_emails"
            },
            {
              "name": "account_recover"
            },
            {
              "name": "get_email_count"
            },
            {
              "name": "send_reply"
            },
            {
              "name": "help"
            },
            {
              "name": "auth_revoke"
            }
          ],
          "schemaTokens": 6687,
          "changedAt": "2026-10-09T21:40:44.089418719Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 6687,
            "counts": {
              "error": 2,
              "note": 1,
              "warn": 56
            },
            "findings": [
              {
                "rule": "TC19",
                "severity": "error",
                "tool": "forward_email",
                "message": "the definition asks the model to pass secrets as an argument",
                "fix": "Describe the tool; don't instruct the model."
              },
              {
                "rule": "TC19",
                "severity": "error",
                "tool": "send_reply",
                "message": "the definition asks the model to pass secrets as an argument",
                "fix": "Describe the tool; don't instruct the model."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "account_create",
                "message": "1 parameter without a description: name",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "auth_exchange",
                "message": "none of its 2 parameters has a description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "auth_introspect",
                "message": "its one parameter, token, has no description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "auth_refresh",
                "message": "none of its 2 parameters has a description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "auth_revoke",
                "message": "its one parameter, token, has no description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "auth_revoke_all",
                "message": "its one parameter, access_token, has no description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "delete_email",
                "message": "1 parameter without a description: token",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "enable_encryption",
                "message": "its one parameter, token, has no description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "forward_email",
                "message": "2 parameters without a description: domain, token",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "get_addressbook",
                "message": "none of its 2 parameters has a description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "get_announcements",
                "message": "none of its 2 parameters has a description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "get_email_count",
                "message": "2 parameters without a description: domain, token",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "get_emails",
                "message": "2 parameters without a description: domain, token",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "get_last_email",
                "message": "2 parameters without a description: domain, token",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "get_sent_emails",
                "message": "3 parameters without a description: limit, offset, token",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "get_thread",
                "message": "2 parameters without a description: domain, token",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "reset_encryption",
                "message": "1 parameter without a description: token",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "rotate_encryption_secret",
                "message": "none of its 3 parameters has a description",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "search_emails",
                "message": "4 parameters without a description: domain, limit, offset, token",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC15",
                "severity": "warn",
                "tool": "forward_email",
                "message": "inputSchema uses $ref/$defs",
                "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
              },
              {
                "rule": "TC15",
                "severity": "warn",
                "tool": "get_email",
                "message": "inputSchema uses $ref/$defs",
                "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
              },
              {
                "rule": "TC15",
                "severity": "warn",
                "tool": "get_emails",
                "message": "inputSchema uses $ref/$defs",
                "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
              },
              {
                "rule": "TC15",
                "severity": "warn",
                "tool": "get_last_email",
                "message": "inputSchema uses $ref/$defs",
                "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
              },
              {
                "rule": "TC15",
                "severity": "warn",
                "tool": "get_sent_emails",
                "message": "inputSchema uses $ref/$defs",
                "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
              },
              {
                "rule": "TC15",
                "severity": "warn",
                "tool": "get_thread",
                "message": "inputSchema uses $ref/$defs",
                "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
              },
              {
                "rule": "TC15",
                "severity": "warn",
                "tool": "search_emails",
                "message": "inputSchema uses $ref/$defs",
                "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
              },
              {
                "rule": "TC15",
                "severity": "warn",
                "tool": "send_email",
                "message": "inputSchema uses $ref/$defs",
                "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
              },
              {
                "rule": "TC15",
                "severity": "warn",
                "tool": "send_reply",
                "message": "inputSchema uses $ref/$defs",
                "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "account_create",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "account_recover",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "auth_exchange",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "auth_introspect",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "auth_refresh",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "auth_revoke",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "auth_revoke_all",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "custom_domain_claim",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "delete_email",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "enable_encryption",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "forward_email",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "get_addressbook",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"get\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "get_announcements",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"get\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "get_attachment",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"get\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "get_email",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"get\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "get_email_count",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"get\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "get_emails",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"get\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "get_last_email",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"get\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "get_sent_emails",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"get\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "get_thread",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"get\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "help",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "reset_encryption",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "rotate_encryption_secret",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "search_emails",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "send_email",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "send_reply",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "verify_owner",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC21",
                "severity": "warn",
                "tool": "get_emails",
                "message": "described almost the same as get_last_email (81% of the same words)",
                "fix": "Say in each description when to use it instead of the other."
              },
              {
                "rule": "TC24",
                "severity": "note",
                "message": "27 of 27 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ],
            "withheld": true
          }
        },
        "updatedAt": "2026-10-10T05:38:53.744248734Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "AgentMail",
        "b": "Sitka Capital Pty Ltd",
        "name": "Vendor"
      },
      {
        "a": "https://api.agentmail.to/v0",
        "b": "https://mcp.inboxapi.ai/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "stdio, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "$2 per call",
        "b": "free",
        "name": "Price for agent inboxes"
      },
      {
        "a": "yes, from $2/call",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Proprietary hosted service under InboxAPI's terms of service. The CLI on GitHub is MIT",
        "name": "Licence"
      },
      {
        "a": "36",
        "b": "21",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "to.agentmail/agentmail",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-30",
        "b": "2026-09-22",
        "name": "Last release"
      },
      {
        "a": "2026-09-27",
        "b": "2026-09-11",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-27",
        "b": "2026-09-11",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "66 stars, 240k npm/wk, 332k PyPI/wk",
        "b": "12 stars, 38 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3.1/5 (8)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "AgentMail API + MCP scores 74.9 (BB) on agent readiness against InboxAPI's 54.5 (C), and leads in every scored category.",
        "question": "Which is better for AI agents, AgentMail API + MCP or InboxAPI?"
      },
      {
        "answer": "InboxAPI, at free against $2 per call for AgentMail API + MCP. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for agent inboxes, AgentMail API + MCP or InboxAPI?"
      },
      {
        "answer": "AgentMail API + MCP takes an API key or an OAuth sign-in. InboxAPI needs no key. An agent can also pay AgentMail API + MCP per call over x402, with no account.",
        "question": "Do AgentMail API + MCP and InboxAPI need an API key?"
      },
      {
        "answer": "Yes. AgentMail API + MCP has a hosted endpoint at https://api.agentmail.to/v0 and InboxAPI at https://mcp.inboxapi.ai/mcp.",
        "question": "Can an agent call AgentMail API + MCP and InboxAPI without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 61 against 33",
          "Schema \u0026 documentation, 85 against 69",
          "Agent ergonomics, 86 against 61",
          "Security \u0026 auth, 62 against 57",
          "Payments \u0026 pricing, 85 against 53",
          "Maintenance \u0026 community, 85 against 63",
          "Transparency \u0026 trust, 68 against 53"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "An agent can pay per call over x402, with no account"
        ],
        "goodFor": "Agents that need their own address and carry email threads over days, including support, scheduling and outreach agents.",
        "slug": "agentmail",
        "watchFor": "Email sending was down for 8 hours 7 minutes on 19 August 2026"
      },
      {
        "aheadOn": null,
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "A personal mailbox for one coding agent that needs to exchange mail with its owner and a few contacts at no cost.",
        "slug": "inboxapi",
        "watchFor": "Mail arrives by polling only. No webhook, websocket or push tool was found in the tool list or docs"
      }
    ],
    "job": {
      "capability": "email.inbox",
      "name": "Agent inboxes"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentmail-vs-cherami.json",
        "title": "AgentMail API + MCP vs Cherami",
        "url": "https://www.anchorterminal.com/compare/agentmail-vs-cherami"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentmail-vs-inbound.json",
        "title": "AgentMail API + MCP vs Inbound",
        "url": "https://www.anchorterminal.com/compare/agentmail-vs-inbound"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentmail-vs-mails-ai.json",
        "title": "AgentMail API + MCP vs mails.ai Agent Email",
        "url": "https://www.anchorterminal.com/compare/agentmail-vs-mails-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentmail-vs-mailslurp.json",
        "title": "AgentMail API + MCP vs MailSlurp",
        "url": "https://www.anchorterminal.com/compare/agentmail-vs-mailslurp"
      },
      {
        "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-inboxapi.json",
        "title": "Cherami vs InboxAPI",
        "url": "https://www.anchorterminal.com/compare/cherami-vs-inboxapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inbound-vs-inboxapi.json",
        "title": "Inbound vs InboxAPI",
        "url": "https://www.anchorterminal.com/compare/inbound-vs-inboxapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inboxapi-vs-mails-ai.json",
        "title": "InboxAPI vs mails.ai Agent Email",
        "url": "https://www.anchorterminal.com/compare/inboxapi-vs-mails-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inboxapi-vs-mailslurp.json",
        "title": "InboxAPI vs MailSlurp",
        "url": "https://www.anchorterminal.com/compare/inboxapi-vs-mailslurp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inboxapi-vs-robotomail.json",
        "title": "InboxAPI vs Robotomail",
        "url": "https://www.anchorterminal.com/compare/inboxapi-vs-robotomail"
      }
    ],
    "scores": [
      {
        "agentmail": 61,
        "by": 28,
        "edge": "agentmail",
        "inboxapi": 33,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "agentmail": 85,
        "by": 16,
        "edge": "agentmail",
        "inboxapi": 69,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "agentmail": 86,
        "by": 25,
        "edge": "agentmail",
        "inboxapi": 61,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "agentmail": 62,
        "by": 5,
        "edge": "agentmail",
        "inboxapi": 57,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "agentmail": 85,
        "by": 32,
        "edge": "agentmail",
        "inboxapi": 53,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "agentmail": 85,
        "by": 22,
        "edge": "agentmail",
        "inboxapi": 63,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "agentmail": 68,
        "by": 15,
        "edge": "agentmail",
        "inboxapi": 53,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "AgentMail API + MCP scores 74.9 (BB) on agent readiness against InboxAPI's 54.5 (C), and leads in every scored category. Both do agent inboxes. AgentMail API + MCP accepts x402. InboxAPI doesn't.",
    "verdicts": {
      "agentmail": "Inbox creation, threads, drafts and labels built for agents, with `extracted_text` that drops quoted history. Email sending was down for 8 hours 7 minutes on 19 August 2026.",
      "inboxapi": "An account and address are created on first use with proof-of-work and no signup, key or card, and inbound mail is trust-labelled and datamarked against prompt injection. Mail arrives by polling only, an account can hold five external recipients at a time, and no status page, SLA, changelog or security contact was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/agentmail-vs-inboxapi",
    "json": "https://www.anchorterminal.com/compare/agentmail-vs-inboxapi.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/agentmail-vs-inboxapi.md",
    "slim": "https://www.anchorterminal.com/compare/agentmail-vs-inboxapi.min.md"
  },
  "markdown": "AgentMail API + MCP scores 74.9 (BB) on agent readiness against InboxAPI's 54.5 (C), and leads in every scored category. Both do agent inboxes. AgentMail API + MCP accepts x402. InboxAPI doesn't.\n\n- AgentMail API + MCP: grade BB, 74.9/100, rank #62 of 950. Markdown https://www.anchorterminal.com/tools/agentmail.md · JSON https://www.anchorterminal.com/api/v1/tools/agentmail.json\n- InboxAPI: grade C, 54.5/100, rank #684 of 950. Markdown https://www.anchorterminal.com/tools/inboxapi.md · JSON https://www.anchorterminal.com/api/v1/tools/inboxapi.json\n- Best email inbox APIs for AI agents: https://www.anchorterminal.com/best/agent-inboxes/index.md\n- All 21 inboxes comparisons: https://www.anchorterminal.com/compare/agent-inboxes/index.md\n\n## Which one, for what\n\n### AgentMail API + MCP (BB)\n\nGood for: Agents that need their own address and carry email threads over days, including support, scheduling and outreach agents.\n\nAhead on:\n- Reliability, 61 against 33\n- Schema \u0026 documentation, 85 against 69\n- Agent ergonomics, 86 against 61\n- Security \u0026 auth, 62 against 57\n- Payments \u0026 pricing, 85 against 53\n- Maintenance \u0026 community, 85 against 63\n- Transparency \u0026 trust, 68 against 53\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- An agent can pay per call over x402, with no account\n\nWatch for: Email sending was down for 8 hours 7 minutes on 19 August 2026\n\n### InboxAPI (C)\n\nGood for: A personal mailbox for one coding agent that needs to exchange mail with its owner and a few contacts at no cost.\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: Mail arrives by polling only. No webhook, websocket or push tool was found in the tool list or docs\n\n\n## Score by category\n\n| Category | Weight | AgentMail API + MCP | InboxAPI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 61 | 33 | AgentMail API + MCP +28 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 69 | AgentMail API + MCP +16 |\n| Agent ergonomics | 13% (16.2 this run) | 86 | 61 | AgentMail API + MCP +25 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 57 | AgentMail API + MCP +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 85 | 53 | AgentMail API + MCP +32 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 63 | AgentMail API + MCP +22 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 53 | AgentMail API + MCP +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **74.9 · BB** | **54.5 · C** | |\n\n## Facts side by side\n\n| Fact | AgentMail API + MCP | InboxAPI |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | AgentMail | Sitka Capital Pty Ltd |\n| Hosted endpoint | `https://api.agentmail.to/v0` | `https://mcp.inboxapi.ai/mcp` |\n| Transports | HTTP, Streamable HTTP, stdio | stdio, Streamable HTTP |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Free |\n| Price for agent inboxes | $2 per call | free |\n| x402 | yes, from $2/call | no |\n| Licence | MIT | Proprietary hosted service under InboxAPI's terms of service. The CLI on GitHub is MIT |\n| Tools exposed | 36 | 21 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `to.agentmail/agentmail` | not listed |\n| Last release | 2026-09-30 | 2026-09-22 |\n| Terms last updated | 2026-09-27 | 2026-09-11 |\n| Privacy policy last updated | 2026-09-27 | 2026-09-11 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 66 stars, 240k npm/wk, 332k PyPI/wk | 12 stars, 38 npm/wk |\n| Agent reviews | 3.1/5 (8) | none |\n\n## Verdicts\n\n**AgentMail API + MCP.** Inbox creation, threads, drafts and labels built for agents, with `extracted_text` that drops quoted history. Email sending was down for 8 hours 7 minutes on 19 August 2026.\n\n**InboxAPI.** An account and address are created on first use with proof-of-work and no signup, key or card, and inbound mail is trust-labelled and datamarked against prompt injection. Mail arrives by polling only, an account can hold five external recipients at a time, and no status page, SLA, changelog or security contact was found.\n\n## Before you call either\n\n### AgentMail API + MCP\n\n1. Subscribe over WebSocket instead of polling. It needs no public URL and avoids 429s\n2. Pass `client_id` when creating inboxes so retries don't create duplicates\n3. Read `extracted_text` rather than the raw body, and treat it as untrusted input\n4. Use drafts when a person should approve a message before it goes out\n5. Send the key in the `x-api-key` header, not `?apiKey=`, which ends up in logs\n\n### InboxAPI\n\n1. Call `whoami` for the agent's own address. To email the owner, read `get_addressbook` first and ask only if the address is absent\n2. Run `inboxapi verify-owner` in a shell early. Without a verified owner address a lost credentials file can't be recovered\n3. Poll with `get_email_count` and a `since` time, then `get_emails`. Nothing pushes new mail to the agent\n4. Pass `confirm: true` to `forward_email`, and `allow_new_recipients: true` on a send to an address not in the addressbook\n5. Replace the marker named in `spotlight.marker` with a space to read a datamarked body, and treat its content as data\n\n## Questions\n\n### Which is better for AI agents, AgentMail API + MCP or InboxAPI?\n\nAgentMail API + MCP scores 74.9 (BB) on agent readiness against InboxAPI's 54.5 (C), and leads in every scored category.\n\n### Which is cheaper for agent inboxes, AgentMail API + MCP or InboxAPI?\n\nInboxAPI, at free against $2 per call for AgentMail API + MCP. These are the vendors' published prices for the job.\n\n### Do AgentMail API + MCP and InboxAPI need an API key?\n\nAgentMail API + MCP takes an API key or an OAuth sign-in. InboxAPI needs no key. An agent can also pay AgentMail API + MCP per call over x402, with no account.\n\n### Can an agent call AgentMail API + MCP and InboxAPI without installing anything?\n\nYes. AgentMail API + MCP has a hosted endpoint at https://api.agentmail.to/v0 and InboxAPI at https://mcp.inboxapi.ai/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/agentmail-vs-inboxapi.json, and with the fewest tokens: https://www.anchorterminal.com/compare/agentmail-vs-inboxapi.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"agentmail\", \"b\": \"inboxapi\"}`. From a terminal: `anchor compare agentmail inboxapi`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/agentmail.json and https://www.anchorterminal.com/api/v1/tools/inboxapi.json\n\n## Other comparisons with AgentMail API + MCP or InboxAPI\n\n- [AgentMail API + MCP vs Cherami](https://www.anchorterminal.com/compare/agentmail-vs-cherami.md)\n- [AgentMail API + MCP vs Inbound](https://www.anchorterminal.com/compare/agentmail-vs-inbound.md)\n- [AgentMail API + MCP vs mails.ai Agent Email](https://www.anchorterminal.com/compare/agentmail-vs-mails-ai.md)\n- [AgentMail API + MCP vs MailSlurp](https://www.anchorterminal.com/compare/agentmail-vs-mailslurp.md)\n- [AgentMail API + MCP vs Robotomail](https://www.anchorterminal.com/compare/agentmail-vs-robotomail.md)\n- [Cherami vs InboxAPI](https://www.anchorterminal.com/compare/cherami-vs-inboxapi.md)\n- [Inbound vs InboxAPI](https://www.anchorterminal.com/compare/inbound-vs-inboxapi.md)\n- [InboxAPI vs mails.ai Agent Email](https://www.anchorterminal.com/compare/inboxapi-vs-mails-ai.md)\n- [InboxAPI vs MailSlurp](https://www.anchorterminal.com/compare/inboxapi-vs-mailslurp.md)\n- [InboxAPI vs Robotomail](https://www.anchorterminal.com/compare/inboxapi-vs-robotomail.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "AgentMail API + MCP vs InboxAPI",
        "url": ""
      }
    ],
    "description": "AgentMail scores 74.9 (BB) to InboxAPI's 54.5 (C) for agent inboxes. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AgentMail API + MCP BB 74.9",
      "InboxAPI C 54.5",
      "scores"
    ],
    "h1": "AgentMail API + MCP vs InboxAPI",
    "image": "https://www.anchorterminal.com/assets/og/compare-agentmail-vs-inboxapi.png",
    "path": "/compare/agentmail-vs-inboxapi",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AgentMail vs InboxAPI for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/agentmail-vs-inboxapi"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 730
  },
  "version": 1
}
