{
  "data": {
    "a": {
      "slug": "aurinko-email",
      "name": "Aurinko Email API",
      "vendor": "Yoxel, Inc.",
      "vendorUrl": "https://www.aurinko.io",
      "kind": "http-api",
      "category": "mailbox-access",
      "summary": "Unified email REST API from Yoxel, Inc. It reads, searches, drafts and sends mail in a user's own mailbox on Gmail, Office 365, Outlook.com, Exchange, Zoho Mail, iCloud and IMAP, with delta sync, open and reply tracking and webhooks.",
      "url": "https://www.anchorterminal.com/tools/aurinko-email",
      "markdownUrl": "https://www.anchorterminal.com/tools/aurinko-email.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/aurinko-email.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/aurinko-email.json",
      "dns": "aurinko-email.grade.anchorterminal.com",
      "license": "Proprietary service under Yoxel's Terms of Services Agreement",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.aurinko.io",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Self-serve. A developer signs up at app.aurinko.io and gets a client ID and secret for each application. Each mailbox owner connects through Aurinko's OAuth flow at `/v1/auth/authorize`, and the resulting account access token is sent as a Bearer token. Mail scopes are `Mail.Read`, `Mail.ReadWrite`, `Mail.Send` and `Mail.Drafts`. IMAP, iCloud and Exchange accounts connect with a password or app password. Gmail access needs the developer's own Google OAuth app, since Aurinko's default registration excludes Google email, and production Office 365 needs an Azure registration.",
      "pricing": "paid",
      "pricingNotes": "$1.50 an active account a month for Email (non-IMAP) with up to 1 GB of traffic, and $2 for any number of APIs including IMAP with unlimited traffic, per the billing FAQ. A 14-day trial gives full API access, and requests are blocked when it ends without a card on file. No free tier or sandbox beyond the trial (https://docs.aurinko.io/faq/how-does-aurinko-billing-work).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI description or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.aurinko.io/unified-apis/email-api",
      "llmsTxt": "https://docs.aurinko.io/llms.txt",
      "openapi": "https://apirefs.aurinko.io/assets/swagger.json",
      "capabilities": [
        "mailbox.read",
        "mailbox.search",
        "mailbox.send",
        "mailbox.drafts",
        "mailbox.sync",
        "email.threads"
      ],
      "tags": [
        "hosted",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "closed-source",
        "free-trial"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.3,
        "grade": "E",
        "agentReady": false,
        "rank": 1222,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 13,
          "payments": 40,
          "reliability": 40,
          "schema": 67,
          "security": 42,
          "transparency": 45
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "One REST interface covers message search with 17 query operators, drafts, sending, folders and delta sync across seven mailbox types, at $1.50 an active account a month and with send-only and read-only scopes. No status page, SLA, changelog, idempotency key on send or official SDK was found, and SOC 2 is not yet held.",
        "bestFor": "A product that connects many users' Gmail and Microsoft mailboxes and wants one schema, delta sync, tracking and webhooks at a low price per account.",
        "strengths": [
          "Public OpenAPI 3.0 description at `apirefs.aurinko.io/assets/swagger.json`, with 43 email operations, 34 of them carrying a cURL sample",
          "Four mail scopes. `Mail.Read` allows no writes, `Mail.Send` allows sending with no read access, and `Mail.ReadWrite` excludes send",
          "The `q` parameter takes 17 search operators, with a table in the docs saying where IMAP and Exchange support is partial",
          "Prices published per active account a month ($1.50 for email, $2 for all APIs with IMAP), with a 14-day trial",
          "Docs state that message contents are passed through and never stored, with only IDs and thread relations cached for sync"
        ],
        "weaknesses": [
          "No status page, incident history or SLA found, and the terms supply the service as is",
          "No idempotency key on `POST /v1/email/messages`, so a retried send can deliver twice",
          "No changelog, deprecation policy or official SDK found in the docs or on the site",
          "The application's client ID and secret, sent as Basic auth, reach every connected mailbox, and IMAP accounts hand Aurinko a mailbox password",
          "The terms of 11 August 2022 forbid robots and data extraction methods in connection with the Services. This matters before any probe is run"
        ],
        "agentNotes": [
          "Use `https://api.aurinko.io/v1`. Several cURL examples in the docs print `https:/api.aurinko.io` with one slash, and one search example names the host `asti.aurinko.io`",
          "Do not retry `POST /v1/email/messages` blindly after a timeout. There is no idempotency key, so check Sent mail with `q=rfc822msgid:` or by subject first",
          "Call `POST /v1/email/sync` until `ready` is true, then page `/v1/email/sync/updated` with `pageToken` until a `nextDeltaToken` appears and store it",
          "Check the `omitted` array on message lists. Full bodies come only from Google and Office 365, and other providers return a snippet",
          "Request `Mail.Read` plus `Mail.Send` for read and send without modify rights. The docs example names `Mail.ReadOnly`, which is not in the scope list"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.3
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 13,
          "payments": 40,
          "reliability": 40,
          "schema": 67,
          "security": 42,
          "transparency": 27
        },
        "provenanceScore": 63,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-09",
            "maintenance": "2026-10-09",
            "payments": "2026-10-09",
            "reliability": "2026-10-09",
            "schema": "2026-10-09",
            "security": "2026-10-09",
            "transparency": "2026-10-09"
          },
          "last": "2026-10-09",
          "lastMoved": "2026-10-28",
          "oldest": "2026-10-09",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -H 'Authorization: Bearer \u003caccess_token\u003e' \\\n  -G https://api.aurinko.io/v1/email/messages \\\n  -d q='from:alexey'"
      },
      "letme": {
        "capability": "https://letme.dev/mailbox.read",
        "tool": "https://letme.dev/aurinko-email"
      },
      "sameCompany": [
        "aurinko-calendar"
      ],
      "area": "communication",
      "unitPrices": [
        {
          "item": "Email API (non-IMAP)",
          "unit": "account-month",
          "usd": 1.5,
          "note": "Per active account, up to 1 GB of traffic a month"
        },
        {
          "item": "Full platform, any number of APIs including IMAP",
          "unit": "account-month",
          "usd": 2,
          "note": "Per active account, unlimited traffic"
        }
      ],
      "provenance": {
        "legalEntity": "Yoxel, Inc.",
        "domain": "aurinko.io",
        "domainRegistered": "2019-05-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.aurinko.io/terms/",
        "privacy": "https://www.aurinko.io/privacy/",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Terms of Services Agreement, last updated 11 August 2022, names Yoxel, Inc., organised under the laws of California, and covers the API and the workspace integrations platform. Disputes go to binding arbitration under JAMS rules in San Francisco, with a 30-day opt-out.",
          "The privacy policy, last updated 11 August 2022, covers the site and the services, API included, and commits to Google's API Services User Data Policy and its Limited Use requirements.",
          "The terms forbid robots, data mining and similar data extraction or gathering methods in connection with the Services. We read a handful of public pages and sent nothing to the API host.",
          "The API answers at api.aurinko.io per the description file, with the portal at app.aurinko.io and the reference at apirefs.aurinko.io, all on the vendor's domain.",
          "www.aurinko.io/.well-known/security.txt returns 404. The security statement gives security@yoxel.com for reports.",
          "No status page or changelog is linked from the home page, the docs index or the description file.",
          "robots.txt on www.aurinko.io has one `User-agent: *` line and no rules. On docs.aurinko.io it allows every path with `Content-Signal: ai-input=yes`. apirefs.aurinko.io answered 404 for robots.txt, read as no rules.",
          "RDAP for aurinko.io gives a registration date of 2019-05-08."
        ],
        "score": 63
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/aurinko-email.json",
      "live": {
        "slug": "aurinko-email",
        "probe": {
          "target": "https://api.aurinko.io",
          "method": "get",
          "lastAt": "2026-11-07T19:21:53.751924385Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 271,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 245,
          "p95ms24h": 337,
          "samples24h": 238,
          "samples30d": 7215,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "securityTxt": {
          "url": "https://aurinko.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:37.446833126Z"
        },
        "llmsTxt": {
          "url": "https://docs.aurinko.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:39.951805502Z"
        },
        "domain": {
          "domain": "aurinko.io",
          "checkedAt": "2026-11-01T14:14:27.348410916Z"
        },
        "updatedAt": "2026-11-07T19:21:53.751924385Z"
      }
    },
    "answer": "email-agent-mcp scores 65.9 (B) on agent readiness against Aurinko Email API's 44.3 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "email-agent-mcp",
      "name": "email-agent-mcp",
      "vendor": "UseJunior",
      "vendorUrl": "https://github.com/UseJunior/email-agent-mcp",
      "kind": "mcp",
      "category": "mailbox-access",
      "summary": "email-agent-mcp is an open-source local MCP server from UseJunior that lets an agent read, search, draft, send and file mail in a person's own Microsoft 365 or Gmail mailbox, with allowlists and delete disabled by default.",
      "url": "https://www.anchorterminal.com/tools/email-agent-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/email-agent-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/email-agent-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/email-agent-mcp.json",
      "dns": "email-agent-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/UseJunior/email-agent-mcp",
      "license": "Apache-2.0",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "email-agent-mcp"
        }
      ],
      "auth": "oauth",
      "authNotes": "Signs in to the person's own mailbox with OAuth: Microsoft delegated scopes through MSAL, or Gmail `gmail.readonly` and `gmail.compose`. Tokens are kept in the OS keychain and local files under `~/.email-agent-mcp/`. For Gmail, a UseJunior-run broker on Vercel holds the OAuth client secret and relays code exchange and token refresh; mail itself goes straight to Google.",
      "pricing": "free",
      "pricingNotes": "Free, Apache-2.0 software run locally with npx. It uses the person's existing Microsoft 365 or Gmail account; there is nothing to buy from UseJunior.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the repository or README (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 27,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 394,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://github.com/UseJunior/email-agent-mcp#readme",
      "registryName": "io.github.UseJunior/email-agent-mcp",
      "capabilities": [
        "mailbox.read",
        "mailbox.search",
        "mailbox.send",
        "mailbox.drafts"
      ],
      "tags": [
        "open-source",
        "local",
        "mcp",
        "mcp-registry",
        "oauth",
        "microsoft-graph",
        "gmail",
        "typescript",
        "approvals",
        "pre-1.0"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.9,
        "grade": "B",
        "agentReady": false,
        "rank": 397,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 84,
          "payments": 60,
          "reliability": 50,
          "schema": 79,
          "security": 67,
          "transparency": 42
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "A local MCP server for a person's own Outlook or Gmail mailbox with careful defaults, a read-only scope profile, send allowlists, gated deletes and annotated tools, released weekly under Apache-2.0. It is pre-1.0 from one maintainer, Gmail lacks label and move support, and Gmail sign-in relies on UseJunior's hosted broker.",
        "bestFor": "A person who wants an agent working in their own Outlook mailbox, or reading and drafting in Gmail, with guardrails.",
        "strengths": [
          "The `observe` profile requests read-only Microsoft scopes and drops every write tool",
          "Send allowlists, delete disabled by default and sanitised errors that strip keys and paths",
          "Tools carry readOnlyHint and destructiveHint annotations and are typed",
          "Apache-2.0, CI with tests and coverage, semgrep and semver tags with GitHub Releases",
          "Listed in the official MCP registry as io.github.UseJunior/email-agent-mcp, current at 0.5.0"
        ],
        "weaknesses": [
          "Pre-1.0, and every commit is by one maintainer",
          "On Gmail, labelling, flagging, marking read and moving return NOT_SUPPORTED",
          "Gmail sign-in and token refresh pass through a UseJunior-hosted broker that holds the client secret",
          "No audit log of what the agent did beyond the mailbox's own history",
          "Changing from `full` to `observe` on an existing mailbox doesn't shrink the OAuth token's scopes"
        ],
        "agentNotes": [
          "Start with `get_mailbox_status`, then `list_emails` or `search_emails` before reading whole threads",
          "Ask the person to set the send allowlist before planning any `send_email` or `reply_to_email`",
          "Prefer `create_draft` and let the person send, unless they asked for sending",
          "Expect NOT_SUPPORTED for label, flag, mark-read and move on Gmail, and don't request `gmail.modify` to work around it",
          "Don't plan deletes; they need an operator environment variable and a caller flag"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.9
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 84,
          "payments": 60,
          "reliability": 50,
          "schema": 79,
          "security": 67,
          "transparency": 62
        },
        "provenanceScore": 22,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npx -y email-agent-mcp",
        "claudeCode": "claude mcp add email-agent-mcp -- npx -y email-agent-mcp",
        "config": {
          "mcpServers": {
            "email-agent-mcp": {
              "args": [
                "-y",
                "email-agent-mcp"
              ],
              "command": "npx",
              "type": "stdio"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/mailbox.read",
        "tool": "https://letme.dev/email-agent-mcp"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "",
        "domain": "usejunior.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/UseJunior/email-agent-mcp/releases",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "Published by UseJunior; the README links usejunior.com, and SECURITY.md asks for reports to the maintainer's usejunior.com address with acknowledgement within 3 business days.",
          "No terms or privacy policy apply to the local server; the Gmail OAuth broker is a UseJunior-hosted service whose own terms weren't found.",
          "The repository's CHANGELOG.md points to GitHub Releases as the canonical changelog.",
          "GitHub's API refused our requests for its rate limit on 6 November 2026, so stars, issues and release pages weren't read; history and tags come from a shallow clone."
        ],
        "score": 22
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/email-agent-mcp.json",
      "live": {
        "slug": "email-agent-mcp",
        "versions": [
          {
            "registry": "github",
            "name": "UseJunior/email-agent-mcp",
            "version": "v0.5.0",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:23:57.05382018Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.UseJunior/email-agent-mcp",
            "version": "0.5.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "email-agent-mcp",
            "version": "0.5.0",
            "seenAt": "2026-11-06T23:23:56.286985184Z"
          }
        ],
        "githubStars": 7,
        "npmWeekly": 394,
        "securityTxt": {
          "url": "https://usejunior.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:16.157898877Z"
        },
        "updatedAt": "2026-11-07T18:16:28.95801333Z"
      }
    },
    "edges": [
      {
        "by": 71,
        "category": "maintenance",
        "leads": "email-agent-mcp",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "No changelog or release notes found, so no API change can be dated. The docs sitemap dates the IMAP connection guide 22 September 2026 and the Email API guide 18 August 2026, counted as partial evidence of activity and not as a release (10). No dated changelog entries (0). Support is by email, with no public forum or issue tracker linked (3). No official SDK named in the docs (0). No public package or repository is linked from the pages read (0).",
          "b": "v0.5.0 was tagged and published on 5 November 2026 (30). Nine npm releases in the 90 days from 8 August, v0.3.0 to v0.5.0 (20). Pull requests up to #234 merged in the history, all by the one maintainer; issue responses couldn't be read through GitHub's API that day (10 of 25). io.github.UseJunior/email-agent-mcp is in the official MCP registry with 0.5.0 marked latest (15). CI, commitlint, semgrep and Codecov workflows (9 of 10). Total 84."
        },
        "scores": {
          "a": 13,
          "b": 84
        }
      },
      {
        "by": 30,
        "category": "ergonomics",
        "leads": "email-agent-mcp",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Graded on the REST API. `bodyType`, `stripQuoted` and `returnIds` shape responses, but message lists take no field selection and no page-size parameter (10). `pageToken` on lists, `q` search with 17 operators, a per-folder list, and delta tokens for updated and deleted mail (15). Errors carry `code`, `message`, `requestId` and the provider's `originalError`, with retry advice per status (14). No idempotency key on send, reply or draft send. Reads and delta sync are safe to repeat, and delete moves a message to Trash (4). Few required parameters, but no official SDK was found (6).",
          "b": "27 tools in the full profile, the 11 to 30 band, plus the `observe` profile as a read-only subset (20 of 25). List and search tools filter and page; we read the tool table, not every parameter (16 of 20). Errors are sanitised and use stable reasons such as NOT_SUPPORTED, failing closed before a Gmail mutation (15 of 20). readOnlyHint and destructiveHint on the tools in source; sends take no idempotency key (16 of 20). One npx command and a setup wizard for OAuth and mailbox choice; TypeScript only (12 of 15). Total 79."
        },
        "scores": {
          "a": 49,
          "b": 79
        }
      },
      {
        "by": 25,
        "category": "security",
        "leads": "email-agent-mcp",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Per-user OAuth with four mail scopes and `DELETE /v1/account/token` to revoke a token and the provider grant. The application's client ID and secret, sent as Basic auth with `X-Aurinko-Account-Id`, reach every connected account. The implicit grant is still supported though not recommended, returning the token in a URL fragment, and IMAP accounts give Aurinko a mailbox or app password (22). `Mail.Read` allows no writes and `Mail.Send` no reads, with no confirmation step for sends or deletes (13). Mail from third parties is returned with no injection guidance (0). No operator audit or request log found in the docs. Portal roles are documented (0). A security statement with a reporting address, security@yoxel.com, and penetration tests claimed. SOC 2 is not yet held, with no bug bounty and no security.txt (7).",
          "b": "OAuth to the person's own provider with the scopes each profile needs, tokens in the OS keychain, and an `observe` profile with Microsoft read scopes only. Gmail uses `gmail.readonly` and `gmail.compose`, and its code exchange and refreshes relay through a UseJunior-hosted broker that holds the client secret and says it stores no refresh tokens (25 of 30). Send allowlists, delete off by default behind an operator variable and a caller flag, inbox rules that block forwarding and deletion, and protected system folders (20). Receive allowlists limit whose mail the agent acts on; no guidance on treating message bodies as untrusted was found (9 of 15). No log of tool calls beyond the mailbox's own history (3 of 15). SECURITY.md with private reporting and acknowledgement within 3 business days, semgrep in CI; no bug bounty or advisories (10 of 20). Total 67."
        },
        "scores": {
          "a": 42,
          "b": 67
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "email-agent-mcp",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Prices per active account a month published without login, $1.50 for email and $2 for all APIs, though the pricing page and the billing FAQ define the tiers differently (20). A 14-day trial, with a card asked for only when it ends (20). Signup is in a browser at app.aurinko.io, and each mailbox needs its owner's consent or password (0).",
          "b": "Free, Apache-2.0 software with nothing to buy, scored 20 + 20 + 20 by the self-hosted rule. No payment protocol (0 of 40). Total 60."
        },
        "scores": {
          "a": 40,
          "b": 60
        }
      },
      {
        "by": 12,
        "category": "schema",
        "leads": "email-agent-mcp",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Public OpenAPI 3.0.0 description with 154 operations, 43 of them for email, read once from the file the reference page loads (25). `llms.txt` and a Markdown copy of every docs page (10). Every email operation has a summary but only 2 of 43 have a description. 61 of 85 parameters are described, and the guide has a table of 17 search operators with provider caveats (9). The scope list and `responseType` are enums, with few required fields marked (8). 34 of 43 email operations carry a cURL sample and the Errors section shows the JSON body, while operations declare little beyond 401 and a default response (10). `/v1` in the path and version 1.0.0, with no changelog found (5).",
          "b": "Tools are defined with typed input schemas that the MCP SDK publishes as JSON Schema (25). README in five languages, AGENTS.md, CLAUDE.md and GEMINI.md; no llms.txt, which a local server doesn't need (5 of 10). The README's tool table marks each tool read, write or destructive and states provider limits, such as Gmail deletes removing drafts only (15 of 20). Typed inputs with options such as `list_style` (12 of 15). Setup examples per client and documented error behaviour, such as NOT_SUPPORTED on Gmail and sanitised errors (10 of 15). Semver tags and GitHub Releases (12 of 15). Total 79."
        },
        "scores": {
          "a": 67,
          "b": 79
        }
      },
      {
        "by": 10,
        "category": "reliability",
        "leads": "email-agent-mcp",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a hosted API. No status page is linked from the home page, the docs index or the description file (0). With no readable incident history the record scores 5. The description file gives a limit of 250 requests a second (15). It advises exponential backoff on 429 and 5xx and a retry on 408, and declares a `Retry-After` header only on the 408 of the get-message call. Sending takes no idempotency key (10). No SLA found, and the terms supply the service as is (0). The API is at `/v1` with no beta label (10).",
          "b": "Graded with the lines for local packages and stdio MCP servers. Installs from the official npm package `email-agent-mcp` with npx, CI runs on Node 20 (20). A CI workflow with Vitest tests, Codecov and a spec-coverage gate; the run results weren't readable through GitHub's API that day, so partial (20 of 25). Open crash and regression issues couldn't be read because GitHub's API refused our requests for its rate limit (0, unchecked). Semver tags from v0.1.7 to v0.5.0 and auto-categorised GitHub Releases as the changelog, with no breaking changes marked in what we read (10 of 15). Pre-1.0 (0). Total 50."
        },
        "scores": {
          "a": 40,
          "b": 50
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Yoxel, Inc.",
        "b": "UseJunior",
        "name": "Vendor"
      },
      {
        "a": "https://api.aurinko.io",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Yoxel's Terms of Services Agreement",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "27",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.UseJunior/email-agent-mcp",
        "name": "MCP registry"
      },
      {
        "a": "none",
        "b": "2026-11-05",
        "name": "Last release"
      },
      {
        "a": "2022-08-11",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2022-08-11",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "394 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "email-agent-mcp scores 65.9 (B) on agent readiness against Aurinko Email API's 44.3 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Aurinko Email API or email-agent-mcp?"
      },
      {
        "answer": "Both use an OAuth sign-in.",
        "question": "Do Aurinko Email API and email-agent-mcp need an API key?"
      },
      {
        "answer": "Aurinko Email API has a hosted endpoint at https://api.aurinko.io. email-agent-mcp runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Aurinko Email API and email-agent-mcp without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Aurinko Email API. email-agent-mcp is open source (Apache-2.0).",
        "question": "Are Aurinko Email API and email-agent-mcp open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "A product that connects many users' Gmail and Microsoft mailboxes and wants one schema, delta sync, tracking and webhooks at a low price per account.",
        "slug": "aurinko-email",
        "watchFor": "No status page, incident history or SLA found, and the terms supply the service as is"
      },
      {
        "aheadOn": [
          "Reliability, 50 against 40",
          "Schema \u0026 documentation, 79 against 67",
          "Agent ergonomics, 79 against 49",
          "Security \u0026 auth, 67 against 42",
          "Payments \u0026 pricing, 60 against 40",
          "Maintenance \u0026 community, 84 against 13"
        ],
        "also": [
          "Runs on your own machine",
          "Open source"
        ],
        "goodFor": "A person who wants an agent working in their own Outlook mailbox, or reading and drafting in Gmail, with guardrails.",
        "slug": "email-agent-mcp",
        "watchFor": "Pre-1.0, and every commit is by one maintainer"
      }
    ],
    "history": {
      "aurinko-email": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.2,
          "from": 44.5,
          "fromGrade": "E",
          "to": 44.3,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.3,
          "from": 44.2,
          "fromGrade": "E",
          "to": 44.5,
          "toGrade": "E"
        }
      ],
      "email-agent-mcp": null
    },
    "job": {
      "capability": "mailbox.read",
      "name": "Mailbox access"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-cloudpost.json",
        "title": "Aurinko Email API vs CloudPost",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-cloudpost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine.json",
        "title": "Aurinko Email API vs EmailEngine",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-fastmail.json",
        "title": "Aurinko Email API vs Fastmail API (JMAP)",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-fastmail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-gmail-api.json",
        "title": "Aurinko Email API vs Gmail API",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-gmail-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-himalaya.json",
        "title": "Aurinko Email API vs Himalaya",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-himalaya"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-nylas-email.json",
        "title": "Aurinko Email API vs Nylas Email API",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-nylas-email"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph.json",
        "title": "Aurinko Email API vs Outlook Mail (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-unipile.json",
        "title": "Aurinko Email API vs Unipile",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-unipile"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-zoho-mail.json",
        "title": "Aurinko Email API vs Zoho Mail API",
        "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-zoho-mail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudpost-vs-email-agent-mcp.json",
        "title": "CloudPost vs email-agent-mcp",
        "url": "https://www.anchorterminal.com/compare/cloudpost-vs-email-agent-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-emailengine.json",
        "title": "email-agent-mcp vs EmailEngine",
        "url": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-emailengine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-fastmail.json",
        "title": "email-agent-mcp vs Fastmail API (JMAP)",
        "url": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-fastmail"
      },
      {
        "json": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-gmail-api.json",
        "title": "email-agent-mcp vs Gmail API",
        "url": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-gmail-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-himalaya.json",
        "title": "email-agent-mcp vs Himalaya",
        "url": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-himalaya"
      },
      {
        "json": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-nylas-email.json",
        "title": "email-agent-mcp vs Nylas Email API",
        "url": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-nylas-email"
      },
      {
        "json": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-outlook-mail-graph.json",
        "title": "email-agent-mcp vs Outlook Mail (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-outlook-mail-graph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-unipile.json",
        "title": "email-agent-mcp vs Unipile",
        "url": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-unipile"
      },
      {
        "json": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-zoho-mail.json",
        "title": "email-agent-mcp vs Zoho Mail API",
        "url": "https://www.anchorterminal.com/compare/email-agent-mcp-vs-zoho-mail"
      }
    ],
    "panel": null,
    "scores": [
      {
        "aurinko-email": 40,
        "by": 10,
        "edge": "email-agent-mcp",
        "email-agent-mcp": 50,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "aurinko-email": 67,
        "by": 12,
        "edge": "email-agent-mcp",
        "email-agent-mcp": 79,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "aurinko-email": 49,
        "by": 30,
        "edge": "email-agent-mcp",
        "email-agent-mcp": 79,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "aurinko-email": 42,
        "by": 25,
        "edge": "email-agent-mcp",
        "email-agent-mcp": 67,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "aurinko-email": 40,
        "by": 20,
        "edge": "email-agent-mcp",
        "email-agent-mcp": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "aurinko-email": 13,
        "by": 71,
        "edge": "email-agent-mcp",
        "email-agent-mcp": 84,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "aurinko-email": 45,
        "by": 3,
        "edge": "aurinko-email",
        "email-agent-mcp": 42,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "email-agent-mcp scores 65.9 (B) on agent readiness against Aurinko Email API's 44.3 (E), and leads in 6 of 7 scored categories. Both do mailbox access.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "aurinko-email": "One REST interface covers message search with 17 query operators, drafts, sending, folders and delta sync across seven mailbox types, at $1.50 an active account a month and with send-only and read-only scopes. No status page, SLA, changelog, idempotency key on send or official SDK was found, and SOC 2 is not yet held.",
      "email-agent-mcp": "A local MCP server for a person's own Outlook or Gmail mailbox with careful defaults, a read-only scope profile, send allowlists, gated deletes and annotated tools, released weekly under Apache-2.0. It is pre-1.0 from one maintainer, Gmail lacks label and move support, and Gmail sign-in relies on UseJunior's hosted broker."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/aurinko-email-vs-email-agent-mcp",
    "json": "https://www.anchorterminal.com/compare/aurinko-email-vs-email-agent-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/aurinko-email-vs-email-agent-mcp.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/aurinko-email-vs-email-agent-mcp.min.md"
  },
  "markdown": "email-agent-mcp scores 65.9 (B) on agent readiness against Aurinko Email API's 44.3 (E), and leads in 6 of 7 scored categories. Both do mailbox access.\n\n- Aurinko Email API: grade E, 44.3/100, rank #1222 of 1510. Markdown https://www.anchorterminal.com/tools/aurinko-email.md · JSON https://www.anchorterminal.com/api/v1/tools/aurinko-email.json\n- email-agent-mcp: grade B, 65.9/100, rank #397 of 1510. Markdown https://www.anchorterminal.com/tools/email-agent-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/email-agent-mcp.json\n- Best mailbox access APIs for AI agents: https://www.anchorterminal.com/best/mailbox-access/index.md\n- All 55 mailboxes comparisons: https://www.anchorterminal.com/compare/mailbox-access/index.md\n\n## Which one, for what\n\n### Aurinko Email API (E)\n\nGood for: A product that connects many users' Gmail and Microsoft mailboxes and wants one schema, delta sync, tracking and webhooks at a low price per account.\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No status page, incident history or SLA found, and the terms supply the service as is\n\n### email-agent-mcp (B)\n\nGood for: A person who wants an agent working in their own Outlook mailbox, or reading and drafting in Gmail, with guardrails.\n\nAhead on:\n- Reliability, 50 against 40\n- Schema \u0026 documentation, 79 against 67\n- Agent ergonomics, 79 against 49\n- Security \u0026 auth, 67 against 42\n- Payments \u0026 pricing, 60 against 40\n- Maintenance \u0026 community, 84 against 13\n\nAlso in its favour:\n- Runs on your own machine\n- Open source\n\nWatch for: Pre-1.0, and every commit is by one maintainer\n\n\n## Why the edge\n\n### Maintenance \u0026 community: email-agent-mcp +71\n\n- Aurinko Email API (13): No changelog or release notes found, so no API change can be dated. The docs sitemap dates the IMAP connection guide 22 September 2026 and the Email API guide 18 August 2026, counted as partial evidence of activity and not as a release (10). No dated changelog entries (0). Support is by email, with no public forum or issue tracker linked (3). No official SDK named in the docs (0). No public package or repository is linked from the pages read (0).\n- email-agent-mcp (84): v0.5.0 was tagged and published on 5 November 2026 (30). Nine npm releases in the 90 days from 8 August, v0.3.0 to v0.5.0 (20). Pull requests up to #234 merged in the history, all by the one maintainer; issue responses couldn't be read through GitHub's API that day (10 of 25). io.github.UseJunior/email-agent-mcp is in the official MCP registry with 0.5.0 marked latest (15). CI, commitlint, semgrep and Codecov workflows (9 of 10). Total 84.\n\n### Agent ergonomics: email-agent-mcp +30\n\n- Aurinko Email API (49): Graded on the REST API. `bodyType`, `stripQuoted` and `returnIds` shape responses, but message lists take no field selection and no page-size parameter (10). `pageToken` on lists, `q` search with 17 operators, a per-folder list, and delta tokens for updated and deleted mail (15). Errors carry `code`, `message`, `requestId` and the provider's `originalError`, with retry advice per status (14). No idempotency key on send, reply or draft send. Reads and delta sync are safe to repeat, and delete moves a message to Trash (4). Few required parameters, but no official SDK was found (6).\n- email-agent-mcp (79): 27 tools in the full profile, the 11 to 30 band, plus the `observe` profile as a read-only subset (20 of 25). List and search tools filter and page; we read the tool table, not every parameter (16 of 20). Errors are sanitised and use stable reasons such as NOT_SUPPORTED, failing closed before a Gmail mutation (15 of 20). readOnlyHint and destructiveHint on the tools in source; sends take no idempotency key (16 of 20). One npx command and a setup wizard for OAuth and mailbox choice; TypeScript only (12 of 15). Total 79.\n\n### Security \u0026 auth: email-agent-mcp +25\n\n- Aurinko Email API (42): Per-user OAuth with four mail scopes and `DELETE /v1/account/token` to revoke a token and the provider grant. The application's client ID and secret, sent as Basic auth with `X-Aurinko-Account-Id`, reach every connected account. The implicit grant is still supported though not recommended, returning the token in a URL fragment, and IMAP accounts give Aurinko a mailbox or app password (22). `Mail.Read` allows no writes and `Mail.Send` no reads, with no confirmation step for sends or deletes (13). Mail from third parties is returned with no injection guidance (0). No operator audit or request log found in the docs. Portal roles are documented (0). A security statement with a reporting address, security@yoxel.com, and penetration tests claimed. SOC 2 is not yet held, with no bug bounty and no security.txt (7).\n- email-agent-mcp (67): OAuth to the person's own provider with the scopes each profile needs, tokens in the OS keychain, and an `observe` profile with Microsoft read scopes only. Gmail uses `gmail.readonly` and `gmail.compose`, and its code exchange and refreshes relay through a UseJunior-hosted broker that holds the client secret and says it stores no refresh tokens (25 of 30). Send allowlists, delete off by default behind an operator variable and a caller flag, inbox rules that block forwarding and deletion, and protected system folders (20). Receive allowlists limit whose mail the agent acts on; no guidance on treating message bodies as untrusted was found (9 of 15). No log of tool calls beyond the mailbox's own history (3 of 15). SECURITY.md with private reporting and acknowledgement within 3 business days, semgrep in CI; no bug bounty or advisories (10 of 20). Total 67.\n\n### Payments \u0026 pricing: email-agent-mcp +20\n\n- Aurinko Email API (40): No x402, MPP or L402 (0). Prices per active account a month published without login, $1.50 for email and $2 for all APIs, though the pricing page and the billing FAQ define the tiers differently (20). A 14-day trial, with a card asked for only when it ends (20). Signup is in a browser at app.aurinko.io, and each mailbox needs its owner's consent or password (0).\n- email-agent-mcp (60): Free, Apache-2.0 software with nothing to buy, scored 20 + 20 + 20 by the self-hosted rule. No payment protocol (0 of 40). Total 60.\n\n### Schema \u0026 documentation: email-agent-mcp +12\n\n- Aurinko Email API (67): Public OpenAPI 3.0.0 description with 154 operations, 43 of them for email, read once from the file the reference page loads (25). `llms.txt` and a Markdown copy of every docs page (10). Every email operation has a summary but only 2 of 43 have a description. 61 of 85 parameters are described, and the guide has a table of 17 search operators with provider caveats (9). The scope list and `responseType` are enums, with few required fields marked (8). 34 of 43 email operations carry a cURL sample and the Errors section shows the JSON body, while operations declare little beyond 401 and a default response (10). `/v1` in the path and version 1.0.0, with no changelog found (5).\n- email-agent-mcp (79): Tools are defined with typed input schemas that the MCP SDK publishes as JSON Schema (25). README in five languages, AGENTS.md, CLAUDE.md and GEMINI.md; no llms.txt, which a local server doesn't need (5 of 10). The README's tool table marks each tool read, write or destructive and states provider limits, such as Gmail deletes removing drafts only (15 of 20). Typed inputs with options such as `list_style` (12 of 15). Setup examples per client and documented error behaviour, such as NOT_SUPPORTED on Gmail and sanitised errors (10 of 15). Semver tags and GitHub Releases (12 of 15). Total 79.\n\n### Reliability: email-agent-mcp +10\n\n- Aurinko Email API (40): Graded as a hosted API. No status page is linked from the home page, the docs index or the description file (0). With no readable incident history the record scores 5. The description file gives a limit of 250 requests a second (15). It advises exponential backoff on 429 and 5xx and a retry on 408, and declares a `Retry-After` header only on the 408 of the get-message call. Sending takes no idempotency key (10). No SLA found, and the terms supply the service as is (0). The API is at `/v1` with no beta label (10).\n- email-agent-mcp (50): Graded with the lines for local packages and stdio MCP servers. Installs from the official npm package `email-agent-mcp` with npx, CI runs on Node 20 (20). A CI workflow with Vitest tests, Codecov and a spec-coverage gate; the run results weren't readable through GitHub's API that day, so partial (20 of 25). Open crash and regression issues couldn't be read because GitHub's API refused our requests for its rate limit (0, unchecked). Semver tags from v0.1.7 to v0.5.0 and auto-categorised GitHub Releases as the changelog, with no breaking changes marked in what we read (10 of 15). Pre-1.0 (0). Total 50.\n\n## Score by category\n\n| Category | Weight | Aurinko Email API | email-agent-mcp | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 40 | 50 | email-agent-mcp +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 67 | 79 | email-agent-mcp +12 |\n| Agent ergonomics | 13% (16.2 this run) | 49 | 79 | email-agent-mcp +30 |\n| Security \u0026 auth | 14% (17.5 this run) | 42 | 67 | email-agent-mcp +25 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 60 | email-agent-mcp +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 13 | 84 | email-agent-mcp +71 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 42 | Aurinko Email API +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **44.3 · E** | **65.9 · B** | |\n\n## Facts side by side\n\n| Fact | Aurinko Email API | email-agent-mcp |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Yoxel, Inc. | UseJunior |\n| Hosted endpoint | `https://api.aurinko.io` | no (local only) |\n| Transports | HTTP | stdio |\n| Auth | OAuth | OAuth |\n| Pricing | Paid | Free |\n| x402 | no | no |\n| Licence | Proprietary service under Yoxel's Terms of Services Agreement | Apache-2.0 |\n| Tools exposed | none | 27 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | no |\n| MCP registry | not listed | `io.github.UseJunior/email-agent-mcp` |\n| Last release | none | 2026-11-05 |\n| Terms last updated | 2022-08-11 | no document linked |\n| Privacy policy last updated | 2022-08-11 | no document linked |\n| Customer content may train models | not found in the text | not read yet |\n| Terms restrict automated access | yes | not read yet |\n| Terms restrict benchmarking | yes | not read yet |\n| Terms or service can change without notice | not found in the text | not read yet |\n| Arbitration or class-action waiver | yes | not read yet |\n| Popularity | none | 394 npm/wk |\n| Agent reviews | 2.5/5 (4) | none |\n\n## How the scores have moved\n\n### Aurinko Email API\n\n- -0.2 on 28 October 2026: correction\n- +0.3 on 27 October 2026: checklist\n\n### email-agent-mcp\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Aurinko Email API.** One REST interface covers message search with 17 query operators, drafts, sending, folders and delta sync across seven mailbox types, at $1.50 an active account a month and with send-only and read-only scopes. No status page, SLA, changelog, idempotency key on send or official SDK was found, and SOC 2 is not yet held.\n\n**email-agent-mcp.** A local MCP server for a person's own Outlook or Gmail mailbox with careful defaults, a read-only scope profile, send allowlists, gated deletes and annotated tools, released weekly under Apache-2.0. It is pre-1.0 from one maintainer, Gmail lacks label and move support, and Gmail sign-in relies on UseJunior's hosted broker.\n\n## Before you call either\n\n### Aurinko Email API\n\n1. Use `https://api.aurinko.io/v1`. Several cURL examples in the docs print `https:/api.aurinko.io` with one slash, and one search example names the host `asti.aurinko.io`\n2. Do not retry `POST /v1/email/messages` blindly after a timeout. There is no idempotency key, so check Sent mail with `q=rfc822msgid:` or by subject first\n3. Call `POST /v1/email/sync` until `ready` is true, then page `/v1/email/sync/updated` with `pageToken` until a `nextDeltaToken` appears and store it\n4. Check the `omitted` array on message lists. Full bodies come only from Google and Office 365, and other providers return a snippet\n5. Request `Mail.Read` plus `Mail.Send` for read and send without modify rights. The docs example names `Mail.ReadOnly`, which is not in the scope list\n\n### email-agent-mcp\n\n1. Start with `get_mailbox_status`, then `list_emails` or `search_emails` before reading whole threads\n2. Ask the person to set the send allowlist before planning any `send_email` or `reply_to_email`\n3. Prefer `create_draft` and let the person send, unless they asked for sending\n4. Expect NOT_SUPPORTED for label, flag, mark-read and move on Gmail, and don't request `gmail.modify` to work around it\n5. Don't plan deletes; they need an operator environment variable and a caller flag\n\n## Questions\n\n### Which is better for AI agents, Aurinko Email API or email-agent-mcp?\n\nemail-agent-mcp scores 65.9 (B) on agent readiness against Aurinko Email API's 44.3 (E), and leads in 6 of 7 scored categories.\n\n### Do Aurinko Email API and email-agent-mcp need an API key?\n\nBoth use an OAuth sign-in.\n\n### Can an agent call Aurinko Email API and email-agent-mcp without installing anything?\n\nAurinko Email API has a hosted endpoint at https://api.aurinko.io. email-agent-mcp runs on your own machine, with no hosted endpoint listed.\n\n### Are Aurinko Email API and email-agent-mcp open source?\n\nNo open-source release is listed for Aurinko Email API. email-agent-mcp is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/aurinko-email-vs-email-agent-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/aurinko-email-vs-email-agent-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"aurinko-email\", \"b\": \"email-agent-mcp\"}`. From a terminal: `anchor compare aurinko-email email-agent-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/aurinko-email.json and https://www.anchorterminal.com/api/v1/tools/email-agent-mcp.json\n\n## Other comparisons with Aurinko Email API or email-agent-mcp\n\n- [Aurinko Email API vs CloudPost](https://www.anchorterminal.com/compare/aurinko-email-vs-cloudpost.md)\n- [Aurinko Email API vs EmailEngine](https://www.anchorterminal.com/compare/aurinko-email-vs-emailengine.md)\n- [Aurinko Email API vs Fastmail API (JMAP)](https://www.anchorterminal.com/compare/aurinko-email-vs-fastmail.md)\n- [Aurinko Email API vs Gmail API](https://www.anchorterminal.com/compare/aurinko-email-vs-gmail-api.md)\n- [Aurinko Email API vs Himalaya](https://www.anchorterminal.com/compare/aurinko-email-vs-himalaya.md)\n- [Aurinko Email API vs Nylas Email API](https://www.anchorterminal.com/compare/aurinko-email-vs-nylas-email.md)\n- [Aurinko Email API vs Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/aurinko-email-vs-outlook-mail-graph.md)\n- [Aurinko Email API vs Unipile](https://www.anchorterminal.com/compare/aurinko-email-vs-unipile.md)\n- [Aurinko Email API vs Zoho Mail API](https://www.anchorterminal.com/compare/aurinko-email-vs-zoho-mail.md)\n- [CloudPost vs email-agent-mcp](https://www.anchorterminal.com/compare/cloudpost-vs-email-agent-mcp.md)\n- [email-agent-mcp vs EmailEngine](https://www.anchorterminal.com/compare/email-agent-mcp-vs-emailengine.md)\n- [email-agent-mcp vs Fastmail API (JMAP)](https://www.anchorterminal.com/compare/email-agent-mcp-vs-fastmail.md)\n- [email-agent-mcp vs Gmail API](https://www.anchorterminal.com/compare/email-agent-mcp-vs-gmail-api.md)\n- [email-agent-mcp vs Himalaya](https://www.anchorterminal.com/compare/email-agent-mcp-vs-himalaya.md)\n- [email-agent-mcp vs Nylas Email API](https://www.anchorterminal.com/compare/email-agent-mcp-vs-nylas-email.md)\n- [email-agent-mcp vs Outlook Mail (Microsoft Graph)](https://www.anchorterminal.com/compare/email-agent-mcp-vs-outlook-mail-graph.md)\n- [email-agent-mcp vs Unipile](https://www.anchorterminal.com/compare/email-agent-mcp-vs-unipile.md)\n- [email-agent-mcp vs Zoho Mail API](https://www.anchorterminal.com/compare/email-agent-mcp-vs-zoho-mail.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Aurinko Email API vs email-agent-mcp",
        "url": ""
      }
    ],
    "description": "email-agent-mcp scores 65.9 (B) to Aurinko Email's 44.3 (E) for mailbox access. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Aurinko Email API E 44.3",
      "email-agent-mcp B 65.9",
      "scores"
    ],
    "h1": "Aurinko Email API vs email-agent-mcp",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/aurinko-email-vs-email-agent-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Aurinko Email vs email-agent-mcp for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/aurinko-email-vs-email-agent-mcp"
  },
  "tokens": {
    "markdown": 4250,
    "slim": 2530
  },
  "version": 1
}
