{
  "data": {
    "a": {
      "slug": "aembit",
      "name": "Aembit",
      "vendor": "Aembit, Inc.",
      "vendorUrl": "https://aembit.io",
      "kind": "http-api",
      "category": "agent-auth",
      "summary": "Aembit is a hosted identity and access platform for workloads and AI agents. Its MCP Identity Gateway and MCP Authorisation Server apply access policies and inject credentials, with a Cloud API, an Edge API, a CLI and an Edge SDK.",
      "url": "https://www.anchorterminal.com/tools/aembit",
      "markdownUrl": "https://www.anchorterminal.com/tools/aembit.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/aembit.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/aembit.json",
      "dns": "aembit.grade.anchorterminal.com",
      "repo": "https://github.com/Aembit/edge-sdks",
      "license": "Proprietary service under Aembit's terms of service. The Edge SDKs on GitHub are Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@aembit/edge-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Every API takes a short-lived Bearer token. For the Cloud API at https://\u003ctenant\u003e.aembit.io/api/v1, a person copies an API token from the tenant's Profile page (1 hour by default), or a workload obtains an Aembit Access Token through an Access Policy and a role. The Edge API exchanges platform attestation for an access token at /edge/v1/auth. MCP clients reach the MCP Identity Gateway and MCP Authorisation Server by OAuth 2.1 with PKCE and dynamic client registration or a Client ID Metadata Document, after the user signs in through the company's identity provider. Access is self-serve for a free tenant. The managed gateway endpoint is requested through an Aembit representative.",
      "pricing": "freemium",
      "pricingNotes": "Starter is free with 3 AI agents, one MCP Identity Gateway and 5 MCP authorisation policies, or 10 workloads and 10 Access Policies, with 24 hours of event log retention. The pricing FAQ says no payment information is required, and going over the free limits moves a tenant to a free Enterprise trial. Teams is $20 per AI agent a month (10 included, up to 500) or $20 per workload a month (10 included, up to 50), with a Contact Us button. Enterprise is custom (https://aembit.io/pricing/, checked 2026-11-01).",
      "priceSummary": "$20 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI files or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 27,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.aembit.io",
      "llmsTxt": "https://docs.aembit.io/llms.txt",
      "openapi": "https://docs.aembit.io/cloud.yaml",
      "capabilities": [
        "auth.oauth",
        "auth.agent-identity",
        "auth.tokens",
        "auth.consent",
        "auth.audit"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "oauth",
        "mcp",
        "openapi",
        "llms-txt",
        "typescript",
        "cli",
        "terraform",
        "status-page",
        "soc2",
        "iso27001",
        "enterprise",
        "self-hosted"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.4,
        "grade": "B",
        "agentReady": false,
        "rank": 286,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 83,
          "payments": 40,
          "reliability": 65,
          "schema": 85,
          "security": 84,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -3,
        "negativeNotes": [
          "-3, 14 October 2026. MCP Identity Gateway 1.35.6086, the first 1.35 release, replaced the `status` field in error data with `upstreamHttpStatus` (\"Update any client code that reads status\") and cut the grace period for expired access tokens from 60 to 3 seconds. Both were announced in the changelog the day they shipped, and the managed gateway is run by Aembit, so its users can't hold the old version. The same term covers 1.34.6034 of 7 October, which made six gateway timeout names stop taking effect (still accepted, so the service starts) and changed what the request duration metric measures, also announced the day it shipped. One term at the floor for the pattern, since both entries name the replacement setting or field. https://docs.aembit.io/changelog/"
        ],
        "verdict": "Agents and workloads get short-lived credentials by attestation, and MCP clients sign in through OAuth 2.1 with policy checked on every request. Both APIs have public OpenAPI files, and Edge SDKs are on npm and PyPI. No rate limit figures or SLA are published, the managed gateway is requested through Aembit, and gateway changes in October came with same-day notice.",
        "bestFor": "A security team that wants one policy and audit point between AI agents or workloads and the services they call, with credentials kept away from the agent.",
        "strengths": [
          "Public OpenAPI 3.1.1 files for the Cloud API (171 operations) and Edge API (2), plus llms.txt, per-page Markdown and a cloneable docs bundle",
          "No long-lived API credentials. Aembit API tokens last 1 hour by default and Edge API access tokens expire in 1 hour",
          "MCP clients authenticate by OAuth 2.1 with PKCE, dynamic client registration or a Client ID Metadata Document",
          "Audit logs, access authorisation events and workload events, exported by Log Streams to S3, Google Cloud Storage, Splunk or CrowdStrike",
          "Dated changelog with RSS. MCP Identity Gateway shipped 1.34.6034, 1.35.6086 and 1.35.6263 in October 2026, and the Edge components 1.35.6254 on 30 October"
        ],
        "weaknesses": [
          "No rate limit figures in the reviewed documentation. The Edge API lists 429 responses without limits or Retry-After guidance",
          "No SLA is published. The docs send SLA questions to Aembit support",
          "The managed MCP Identity Gateway endpoint is requested through an Aembit representative, and MCP Tool Access Control is enabled by support",
          "MCP Identity Gateway 1.35.6086 renamed an error field and cut the expired-token grace period to 3 seconds, announced the day it shipped",
          "No DPA, sub-processor list or security.txt found on aembit.io. The trust centre answered our reader with a bot check"
        ],
        "agentNotes": [
          "Read the API Base URL and token from the tenant's Profile page. Tokens last 1 hour by default, so plan to refresh",
          "Send `X-Aembit-ResourceSet` on Cloud API, Edge API and MCP calls outside the default Resource Set, or the request runs against the default set",
          "Cache the Edge API access token from `/edge/v1/auth` until near expiry before calling `/edge/v1/credentials`. Both endpoints can answer 429",
          "Point MCP clients at `https://\u003cgateway-host\u003e/mcp`. The `/me` path is deprecated",
          "Read the MCP server's HTTP status from `upstreamHttpStatus` in gateway errors (the old `status` field is gone since 1.35.6086), and refresh access tokens before expiry"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.4
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 83,
          "payments": 40,
          "reliability": 65,
          "schema": 85,
          "security": 84,
          "transparency": 42
        },
        "provenanceScore": 81,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @aembit/edge-sdk",
        "http": "curl -X GET -L 'https://tenant.aembit.io/api/v1/server-workloads' -H 'Authorization: Bearer \u003cTOKEN\u003e'"
      },
      "letme": {
        "capability": "https://letme.dev/auth.oauth",
        "tool": "https://letme.dev/aembit"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Teams, each AI agent",
          "unit": "month",
          "usd": 20,
          "note": "Priced per agent a month, up to 500 agents"
        },
        {
          "item": "Teams, each workload",
          "unit": "month",
          "usd": 20,
          "note": "Priced per workload a month"
        }
      ],
      "provenance": {
        "legalEntity": "Aembit, Inc.",
        "domain": "aembit.io",
        "domainRegistered": "2021-03-14",
        "endpointOnVendorDomain": true,
        "terms": "https://aembit.io/terms-of-service/",
        "privacy": "https://aembit.io/privacy-policy/",
        "statusPage": "https://status.aembit.io",
        "changelog": "https://docs.aembit.io/changelog/",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (last reviewed 14 July 2026) are between the customer and Aembit, Inc., define the Services as the website and the web-based and downloadable workload identity and access management services, and choose Delaware law.",
          "The privacy policy (last updated 5 May 2026) names Aembit, Inc. and covers the platform, websites and related services.",
          "aembit.io/.well-known/security.txt and docs.aembit.io/.well-known/security.txt both returned 404. The docs give security@aembit.io as the security contact.",
          "RDAP at Identity Digital gives a registration date of 2021-03-14 for aembit.io.",
          "Tenant APIs answer at https://\u003ctenant\u003e.aembit.io and the managed gateway at https://\u003ctenantId\u003e.mcpgateway.aembit.io, both on the vendor's domain.",
          "No DPA, sub-processor or SLA page was found at the obvious aembit.io paths, and trust.aembit.io returned 403 to our reader."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/aembit.json",
      "live": {
        "slug": "aembit",
        "vendorStatus": {
          "page": "https://status.aembit.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:20:31.782205199Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Aembit/edge-sdks",
            "version": "v1.35.0",
            "released": "2026-10-10",
            "seenAt": "2026-11-06T23:02:58.794447928Z"
          },
          {
            "registry": "npm",
            "name": "@aembit/edge-sdk",
            "version": "1.35.0",
            "seenAt": "2026-11-06T23:02:58.564847339Z"
          }
        ],
        "githubStars": 3,
        "npmWeekly": 126,
        "securityTxt": {
          "url": "https://aembit.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:45.739101184Z"
        },
        "llmsTxt": {
          "url": "https://docs.aembit.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:05.618811828Z"
        },
        "domain": {
          "domain": "aembit.io",
          "checkedAt": "2026-11-01T14:17:32.280491783Z"
        },
        "pages": [
          {
            "url": "https://docs.aembit.io/changelog/",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:04:55.522440105Z",
            "changedAt": "2026-11-05T12:29:04.696030238Z",
            "fingerprint": "df80d9665c79"
          },
          {
            "url": "https://aembit.io/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T13:58:39.592708477Z",
            "changedAt": "2026-11-03T07:40:59.579012429Z",
            "fingerprint": "313431ce5ac7"
          },
          {
            "url": "https://aembit.io/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T13:58:42.055499622Z",
            "changedAt": "2026-10-15T21:20:09.85314645Z",
            "fingerprint": "c7b889014152"
          },
          {
            "url": "https://aembit.io/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T13:58:44.07571119Z",
            "changedAt": "2026-10-15T21:20:11.854459663Z",
            "fingerprint": "498c78690d0b"
          }
        ],
        "github": {
          "repo": "aembit/edge-sdks",
          "checkedAt": "2026-11-02T08:28:20.170657447Z",
          "stars": 3,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-01T20:12:10Z",
          "openIssues": 0,
          "openPRs": 1,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 40,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 44,
            "failure": 6,
            "other": 0,
            "latest": "failure",
            "latestAt": "2026-10-13T13:29:32Z"
          }
        },
        "updatedAt": "2026-11-07T18:20:31.782205199Z"
      }
    },
    "answer": "Cloudflare Workers OAuth Provider scores 76.2 (BB) on agent readiness against Aembit's 68.4 (B), and leads in 5 of 7 scored categories.",
    "b": {
      "slug": "cloudflare-workers-oauth-provider",
      "name": "Cloudflare Workers OAuth Provider",
      "vendor": "Cloudflare",
      "vendorUrl": "https://developers.cloudflare.com/agents/model-context-protocol/authorization/",
      "kind": "sdk",
      "category": "agent-auth",
      "summary": "Cloudflare Workers OAuth Provider is Cloudflare's open-source TypeScript library that adds OAuth 2.1 authorization to HTTP APIs and remote MCP servers on Cloudflare Workers, as both the authorization server and the resource server.",
      "url": "https://www.anchorterminal.com/tools/cloudflare-workers-oauth-provider",
      "markdownUrl": "https://www.anchorterminal.com/tools/cloudflare-workers-oauth-provider.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cloudflare-workers-oauth-provider.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cloudflare-workers-oauth-provider.json",
      "dns": "cloudflare-workers-oauth-provider.grade.anchorterminal.com",
      "repo": "https://github.com/cloudflare/workers-oauth-provider",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@cloudflare/workers-oauth-provider"
        }
      ],
      "auth": "oauth",
      "authNotes": "The library issues OAuth 2.1 tokens to MCP clients, with PKCE, scopes, resource indicators, Client ID Metadata Documents and optional dynamic client registration. Users sign in through the developer's own `/authorize` handler, Cloudflare Access or an upstream identity provider such as Stytch, Auth0, WorkOS or Descope.",
      "pricing": "free",
      "pricingNotes": "Free under MIT. Running it needs a Cloudflare Workers account and a KV namespace, billed under Workers pricing, which has a free plan.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the source, README or docs (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1893,
        "npmWeekly": 1122612,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://github.com/cloudflare/workers-oauth-provider/tree/main/docs",
      "capabilities": [
        "auth.oauth",
        "auth.tokens",
        "auth.consent"
      ],
      "tags": [
        "open-source",
        "mit",
        "typescript",
        "library",
        "cloudflare-workers",
        "oauth-2.1",
        "mcp",
        "pkce",
        "free"
      ],
      "lastRelease": "2026-10-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 76.2,
        "grade": "BB",
        "agentReady": true,
        "rank": 47,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 87,
          "payments": 50,
          "reliability": 74,
          "schema": 86,
          "security": 80,
          "transparency": 86
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Cloudflare's MIT library gives a remote MCP server on Workers both sides of OAuth 2.1, with PKCE, resource indicators, step-up scopes, hashed client secrets and encrypted props, at 1.2.4 with a conformance suite. It runs only on Workers with KV, 1.2.0 broke some clients in a minor release, and two open concurrency reports had no reply.",
        "bestFor": "Developers putting a remote MCP server on Cloudflare behind standard OAuth.",
        "strengths": [
          "Implements both the authorization server and the resource server for MCP, with discovery, token, revocation and optional dynamic client registration",
          "PKCE, resource indicators, required scopes and a step-up helper that answers 403 naming the missing scope",
          "Client secrets stored as SHA-256 hashes, and props encrypted with AES-GCM so only token holders can read them",
          "MIT, published to npm with provenance, nine releases in the 90 days to 6 November 2026 and a conformance test suite",
          "Covered by Cloudflare's HackerOne programme and security@cloudflare.com, per SECURITY.md"
        ],
        "weaknesses": [
          "Runs only on Cloudflare Workers and needs a KV namespace bound as OAUTH_KV",
          "Open issues of 24 and 28 October 2026 report that a code can be exchanged twice under concurrent requests and that revocation isn't final under KV eventual consistency, with no reply",
          "1.2.0, a minor release, stopped clients with remote http or private-use redirect URIs authorizing",
          "The consent page and user sign-in are left to the developer's own `/authorize` handler",
          "No audit log of grants or token use is built in"
        ],
        "agentNotes": [
          "Request the scopes the resource server lists in `requiredScopes` first, then re-authorize for more when a 403 names a missing scope",
          "Send `resource` with the token request; a resource the server doesn't host returns `invalid_target`",
          "Use https redirect URIs; remote http redirect URIs have been refused since 1.2.0",
          "Treat a revoked token as possibly valid for a short time, since revocation rests on KV's eventual consistency"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 76.2
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 87,
          "payments": 50,
          "reliability": 74,
          "schema": 86,
          "security": 80,
          "transparency": 77
        },
        "provenanceScore": 95,
        "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": "npm install @cloudflare/workers-oauth-provider"
      },
      "letme": {
        "capability": "https://letme.dev/auth.oauth",
        "tool": "https://letme.dev/cloudflare-workers-oauth-provider"
      },
      "sameCompany": [
        "cloudflare-ai-gateway",
        "cloudflare-workers-ai",
        "cloudflare-sandbox-sdk",
        "cloudflare-web-search",
        "cloudflare-clairic",
        "cloudflare-ai-search",
        "cloudflare-cli",
        "cloudflare-mcp",
        "cloudflare-email-service",
        "cloudflare-r2",
        "cloudflare-clef"
      ],
      "area": "agent-runtime",
      "provenance": {
        "legalEntity": "Cloudflare, Inc.",
        "domain": "cloudflare.com",
        "domainRegistered": "2009-02-17",
        "endpointOnVendorDomain": null,
        "terms": "https://www.cloudflare.com/terms/",
        "privacy": "https://www.cloudflare.com/privacypolicy/",
        "statusPage": "https://www.cloudflarestatus.com",
        "changelog": "https://github.com/cloudflare/workers-oauth-provider/blob/main/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "Company facts as on the cloudflare-sandbox-sdk listing (checked 1 November 2026); terms, privacy and status links were not re-read for this library.",
          "www.cloudflare.com/.well-known/security.txt answered on 6 November 2026.",
          "developers.cloudflare.com robots.txt allows the agents docs and carries Content-Signal ai-input=yes."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cloudflare-workers-oauth-provider.json",
      "live": {
        "slug": "cloudflare-workers-oauth-provider",
        "vendorStatus": {
          "page": "https://www.cloudflarestatus.com",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-11-07T18:20:51.905590942Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "cloudflare/workers-oauth-provider",
            "version": "v1.2.4",
            "released": "2026-10-22",
            "seenAt": "2026-11-06T23:16:04.9452064Z"
          },
          {
            "registry": "npm",
            "name": "@cloudflare/workers-oauth-provider",
            "version": "1.2.4",
            "seenAt": "2026-11-06T23:16:04.088180395Z"
          }
        ],
        "githubStars": 1893,
        "npmWeekly": 1122612,
        "securityTxt": {
          "url": "https://cloudflare.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-07T16:00:23.467095484Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/cloudflare/workers-oauth-provider/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:20:21.882737965Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "47dbc2c617a4"
          }
        ],
        "updatedAt": "2026-11-07T18:20:51.905590942Z"
      }
    },
    "edges": [
      {
        "by": 24,
        "category": "transparency",
        "leads": "cloudflare-workers-oauth-provider",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under terms of service last reviewed 14 July 2026, with the Edge SDKs under Apache-2.0 (15). The privacy policy of 5 May 2026 covers the platform, and a docs page lists the metadata collected (admin email, name and IP address, workload IP addresses and identifiers). Event log retention is 24 hours on Starter and 7 days on Teams for agents. No retention period was found in the privacy policy and no DPA was found (14). The changelog has a Deprecated filter and the docs flag deprecated settings, but no deprecation policy with a notice period was found (8). Status posts name us-east-2 and us-west-2. The docs say sub-processors are listed in the trust centre, which answered with a bot check on 1 November, so no list was read (5). Total 42.",
          "b": "MIT (30). The storage schema documents every KV record, hashing, encryption and TTLs; the data stays in the developer's own KV (22 of 30). The migration guide covers every change since 0.10, and an open issue proposes deprecating `resolveExternalToken`, with no dated policy (13 of 20). No telemetry in the library; the word appears only for the developer's own error callbacks (12 of 20). Total 77."
        },
        "scores": {
          "a": 62,
          "b": 86
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "cloudflare-workers-oauth-provider",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 found in the docs, the OpenAPI files or the pricing page (0). Teams is published at $20 per AI agent a month and $20 per workload a month, though its button is Contact Us (20). Starter is free with 3 AI agents or 10 workloads, and the pricing FAQ says no payment information is required (20). A person signs up in a browser at useast2.aembit.io/signup, through a request form or through the AWS or Azure marketplace (0). Total 40.",
          "b": "Self-hosted rule. No x402, MPP or L402 (0 of 40). Free under MIT, with Workers prices public (20). Workers has a free plan (20). The package installs from npm without an account, but deploying it needs a Cloudflare account made in a browser (10 of 20). Total 50."
        },
        "scores": {
          "a": 40,
          "b": 50
        }
      },
      {
        "by": 9,
        "category": "reliability",
        "leads": "cloudflare-workers-oauth-provider",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a hosted service. Statuspage at status.aembit.io with two components, Management Portal (Admin and API) and Control Plane (20). No incidents in the 90 days to 1 November 2026, only two scheduled two-hour cloud maintenance windows on 15 September and 20 October, each announced about two weeks ahead (30). No rate limit figures found. The Aembit MCP Server page says it has no application-level rate limiting, limits concurrent requests per source IP and tenant without a number, and caps `perPage` at 100 (0). The Edge API and the MCP Authorisation Server list 429 responses, and the docs advise caching tokens until near expiry, but no Retry-After or back-off guidance for callers and no idempotency keys were found (5). No SLA is published, and the docs send SLA details to support (0). The Cloud API is v1 and the Edge API 1.0.0 with no beta label, though MCP Identity Gateway began as a limited beta on 28 January 2026 and the docs still don't state its current status (10). Total 65.",
          "b": "Local-software lines, as a library the developer deploys. On npm with the Workers runtime and KV requirements stated (20). ci.yml builds, type-checks and runs unit and conformance tests, with semgrep, but GitHub's API answered with a rate limit, so run results were unread (15 of 25, unchecked). 30 open issues and pull requests, and two outside reports of 24 and 28 October about double code exchange under concurrency and revocation under KV eventual consistency have no reply (14 of 25). Changesets changelog and a migration guide, but 1.2.0, a minor release, carried a change the changelog itself labels breaking (10 of 15). Version 1.2.4 (15). Total 74."
        },
        "scores": {
          "a": 65,
          "b": 74
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "Aembit, Inc.",
        "b": "Cloudflare",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Aembit's terms of service. The Edge SDKs on GitHub are Apache-2.0",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-30",
        "b": "2026-10-22",
        "name": "Last release"
      },
      {
        "a": "2026-07-14",
        "b": "2025-09-12",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-05",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "27 npm/wk",
        "b": "1.9k stars, 1.1M npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Cloudflare Workers OAuth Provider scores 76.2 (BB) on agent readiness against Aembit's 68.4 (B), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, Aembit or Cloudflare Workers OAuth Provider?"
      },
      {
        "answer": "No hosted endpoint is listed for Aembit. No hosted endpoint is listed for Cloudflare Workers OAuth Provider.",
        "question": "Can an agent call Aembit and Cloudflare Workers OAuth Provider without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Aembit. Cloudflare Workers OAuth Provider is open source (MIT).",
        "question": "Are Aembit and Cloudflare Workers OAuth Provider open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "A security team that wants one policy and audit point between AI agents or workloads and the services they call, with credentials kept away from the agent.",
        "slug": "aembit",
        "watchFor": "No rate limit figures in the reviewed documentation. The Edge API lists 429 responses without limits or Retry-After guidance"
      },
      {
        "aheadOn": [
          "Reliability, 74 against 65",
          "Payments \u0026 pricing, 50 against 40",
          "Transparency \u0026 trust, 86 against 62"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Open source",
          "No incidents deducted, where Aembit loses 3 points for them"
        ],
        "goodFor": "Developers putting a remote MCP server on Cloudflare behind standard OAuth.",
        "slug": "cloudflare-workers-oauth-provider",
        "watchFor": "Runs only on Cloudflare Workers and needs a KV namespace bound as OAUTH_KV"
      }
    ],
    "history": {
      "aembit": [
        {
          "causes": [
            "product",
            "event"
          ],
          "date": "2026-11-01",
          "delta": -2.2,
          "from": 70.6,
          "fromGrade": "BB",
          "to": 68.4,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 70.5,
          "fromGrade": "BB",
          "to": 70.6,
          "toGrade": "BB"
        }
      ],
      "cloudflare-workers-oauth-provider": null
    },
    "job": {
      "capability": "auth.oauth",
      "name": "OAuth for agents"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/aembit-vs-agentcore-identity.json",
        "title": "Aembit vs Amazon Bedrock AgentCore Identity",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-agentcore-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aembit-vs-arcade.json",
        "title": "Aembit vs Arcade.dev",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-arcade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aembit-vs-auth0-ai-agents.json",
        "title": "Aembit vs Auth0 for AI Agents (Token Vault)",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-auth0-ai-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aembit-vs-descope-agentic-identity.json",
        "title": "Aembit vs Descope Agentic Identity Hub",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-descope-agentic-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aembit-vs-keycard.json",
        "title": "Aembit vs Keycard",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-keycard"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aembit-vs-microsoft-entra-agent-id.json",
        "title": "Aembit vs Microsoft Entra Agent ID",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-microsoft-entra-agent-id"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aembit-vs-nango.json",
        "title": "Aembit vs Nango",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-nango"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aembit-vs-scalekit-agentkit.json",
        "title": "Aembit vs Scalekit AgentKit",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-scalekit-agentkit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aembit-vs-stytch-connected-apps.json",
        "title": "Aembit vs Stytch Connected Apps",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-stytch-connected-apps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aembit-vs-vercel-connect.json",
        "title": "Aembit vs Vercel Connect",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-vercel-connect"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aembit-vs-workos-pipes.json",
        "title": "Aembit vs WorkOS Pipes and Agents",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-workos-pipes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-identity-vs-cloudflare-workers-oauth-provider.json",
        "title": "Amazon Bedrock AgentCore Identity vs Cloudflare Workers OAuth Provider",
        "url": "https://www.anchorterminal.com/compare/agentcore-identity-vs-cloudflare-workers-oauth-provider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcade-vs-cloudflare-workers-oauth-provider.json",
        "title": "Arcade.dev vs Cloudflare Workers OAuth Provider",
        "url": "https://www.anchorterminal.com/compare/arcade-vs-cloudflare-workers-oauth-provider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auth0-ai-agents-vs-cloudflare-workers-oauth-provider.json",
        "title": "Auth0 for AI Agents (Token Vault) vs Cloudflare Workers OAuth Provider",
        "url": "https://www.anchorterminal.com/compare/auth0-ai-agents-vs-cloudflare-workers-oauth-provider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-descope-agentic-identity.json",
        "title": "Cloudflare Workers OAuth Provider vs Descope Agentic Identity Hub",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-descope-agentic-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-keycard.json",
        "title": "Cloudflare Workers OAuth Provider vs Keycard",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-keycard"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-microsoft-entra-agent-id.json",
        "title": "Cloudflare Workers OAuth Provider vs Microsoft Entra Agent ID",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-microsoft-entra-agent-id"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-nango.json",
        "title": "Cloudflare Workers OAuth Provider vs Nango",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-nango"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-scalekit-agentkit.json",
        "title": "Cloudflare Workers OAuth Provider vs Scalekit AgentKit",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-scalekit-agentkit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-stytch-connected-apps.json",
        "title": "Cloudflare Workers OAuth Provider vs Stytch Connected Apps",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-stytch-connected-apps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-vercel-connect.json",
        "title": "Cloudflare Workers OAuth Provider vs Vercel Connect",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-vercel-connect"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-workos-pipes.json",
        "title": "Cloudflare Workers OAuth Provider vs WorkOS Pipes and Agents",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-workos-pipes"
      }
    ],
    "panel": null,
    "scores": [
      {
        "aembit": 65,
        "by": 9,
        "cloudflare-workers-oauth-provider": 74,
        "edge": "cloudflare-workers-oauth-provider",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "aembit": 85,
        "by": 1,
        "cloudflare-workers-oauth-provider": 86,
        "edge": "cloudflare-workers-oauth-provider",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "aembit": 75,
        "by": 1,
        "cloudflare-workers-oauth-provider": 74,
        "edge": "aembit",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "aembit": 84,
        "by": 4,
        "cloudflare-workers-oauth-provider": 80,
        "edge": "aembit",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "aembit": 40,
        "by": 10,
        "cloudflare-workers-oauth-provider": 50,
        "edge": "cloudflare-workers-oauth-provider",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "aembit": 83,
        "by": 4,
        "cloudflare-workers-oauth-provider": 87,
        "edge": "cloudflare-workers-oauth-provider",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "aembit": 62,
        "by": 24,
        "cloudflare-workers-oauth-provider": 86,
        "edge": "cloudflare-workers-oauth-provider",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Cloudflare Workers OAuth Provider scores 76.2 (BB) on agent readiness against Aembit's 68.4 (B), and leads in 5 of 7 scored categories. Both do oauth for agents.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "aembit": "Agents and workloads get short-lived credentials by attestation, and MCP clients sign in through OAuth 2.1 with policy checked on every request. Both APIs have public OpenAPI files, and Edge SDKs are on npm and PyPI. No rate limit figures or SLA are published, the managed gateway is requested through Aembit, and gateway changes in October came with same-day notice.",
      "cloudflare-workers-oauth-provider": "Cloudflare's MIT library gives a remote MCP server on Workers both sides of OAuth 2.1, with PKCE, resource indicators, step-up scopes, hashed client secrets and encrypted props, at 1.2.4 with a conformance suite. It runs only on Workers with KV, 1.2.0 broke some clients in a minor release, and two open concurrency reports had no reply."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/aembit-vs-cloudflare-workers-oauth-provider",
    "json": "https://www.anchorterminal.com/compare/aembit-vs-cloudflare-workers-oauth-provider.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/aembit-vs-cloudflare-workers-oauth-provider.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/aembit-vs-cloudflare-workers-oauth-provider.min.md"
  },
  "markdown": "Cloudflare Workers OAuth Provider scores 76.2 (BB) on agent readiness against Aembit's 68.4 (B), and leads in 5 of 7 scored categories. Both do oauth for agents.\n\n- Aembit: grade B, 68.4/100, rank #286 of 1486. Markdown https://www.anchorterminal.com/tools/aembit.md · JSON https://www.anchorterminal.com/api/v1/tools/aembit.json\n- Cloudflare Workers OAuth Provider: grade BB, 76.2/100, rank #47 of 1486. Markdown https://www.anchorterminal.com/tools/cloudflare-workers-oauth-provider.md · JSON https://www.anchorterminal.com/api/v1/tools/cloudflare-workers-oauth-provider.json\n- Best auth and delegated access for AI agents: https://www.anchorterminal.com/best/agent-auth/index.md\n- All 138 agent auth comparisons: https://www.anchorterminal.com/compare/agent-auth/index.md\n\n## Which one, for what\n\n### Aembit (B)\n\nGood for: A security team that wants one policy and audit point between AI agents or workloads and the services they call, with credentials kept away from the agent.\n\nWatch for: No rate limit figures in the reviewed documentation. The Edge API lists 429 responses without limits or Retry-After guidance\n\n### Cloudflare Workers OAuth Provider (BB)\n\nGood for: Developers putting a remote MCP server on Cloudflare behind standard OAuth.\n\nAhead on:\n- Reliability, 74 against 65\n- Payments \u0026 pricing, 50 against 40\n- Transparency \u0026 trust, 86 against 62\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Open source\n- No incidents deducted, where Aembit loses 3 points for them\n\nWatch for: Runs only on Cloudflare Workers and needs a KV namespace bound as OAUTH_KV\n\n\n## Why the edge\n\n### Transparency \u0026 trust: Cloudflare Workers OAuth Provider +24\n\n- Aembit (62): Closed service under terms of service last reviewed 14 July 2026, with the Edge SDKs under Apache-2.0 (15). The privacy policy of 5 May 2026 covers the platform, and a docs page lists the metadata collected (admin email, name and IP address, workload IP addresses and identifiers). Event log retention is 24 hours on Starter and 7 days on Teams for agents. No retention period was found in the privacy policy and no DPA was found (14). The changelog has a Deprecated filter and the docs flag deprecated settings, but no deprecation policy with a notice period was found (8). Status posts name us-east-2 and us-west-2. The docs say sub-processors are listed in the trust centre, which answered with a bot check on 1 November, so no list was read (5). Total 42.\n- Cloudflare Workers OAuth Provider (86): MIT (30). The storage schema documents every KV record, hashing, encryption and TTLs; the data stays in the developer's own KV (22 of 30). The migration guide covers every change since 0.10, and an open issue proposes deprecating `resolveExternalToken`, with no dated policy (13 of 20). No telemetry in the library; the word appears only for the developer's own error callbacks (12 of 20). Total 77.\n\n### Payments \u0026 pricing: Cloudflare Workers OAuth Provider +10\n\n- Aembit (40): No x402, MPP or L402 found in the docs, the OpenAPI files or the pricing page (0). Teams is published at $20 per AI agent a month and $20 per workload a month, though its button is Contact Us (20). Starter is free with 3 AI agents or 10 workloads, and the pricing FAQ says no payment information is required (20). A person signs up in a browser at useast2.aembit.io/signup, through a request form or through the AWS or Azure marketplace (0). Total 40.\n- Cloudflare Workers OAuth Provider (50): Self-hosted rule. No x402, MPP or L402 (0 of 40). Free under MIT, with Workers prices public (20). Workers has a free plan (20). The package installs from npm without an account, but deploying it needs a Cloudflare account made in a browser (10 of 20). Total 50.\n\n### Reliability: Cloudflare Workers OAuth Provider +9\n\n- Aembit (65): Graded as a hosted service. Statuspage at status.aembit.io with two components, Management Portal (Admin and API) and Control Plane (20). No incidents in the 90 days to 1 November 2026, only two scheduled two-hour cloud maintenance windows on 15 September and 20 October, each announced about two weeks ahead (30). No rate limit figures found. The Aembit MCP Server page says it has no application-level rate limiting, limits concurrent requests per source IP and tenant without a number, and caps `perPage` at 100 (0). The Edge API and the MCP Authorisation Server list 429 responses, and the docs advise caching tokens until near expiry, but no Retry-After or back-off guidance for callers and no idempotency keys were found (5). No SLA is published, and the docs send SLA details to support (0). The Cloud API is v1 and the Edge API 1.0.0 with no beta label, though MCP Identity Gateway began as a limited beta on 28 January 2026 and the docs still don't state its current status (10). Total 65.\n- Cloudflare Workers OAuth Provider (74): Local-software lines, as a library the developer deploys. On npm with the Workers runtime and KV requirements stated (20). ci.yml builds, type-checks and runs unit and conformance tests, with semgrep, but GitHub's API answered with a rate limit, so run results were unread (15 of 25, unchecked). 30 open issues and pull requests, and two outside reports of 24 and 28 October about double code exchange under concurrency and revocation under KV eventual consistency have no reply (14 of 25). Changesets changelog and a migration guide, but 1.2.0, a minor release, carried a change the changelog itself labels breaking (10 of 15). Version 1.2.4 (15). Total 74.\n\n## Score by category\n\n| Category | Weight | Aembit | Cloudflare Workers OAuth Provider | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 74 | Cloudflare Workers OAuth Provider +9 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 86 | Cloudflare Workers OAuth Provider +1 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 74 | Aembit +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 84 | 80 | Aembit +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 50 | Cloudflare Workers OAuth Provider +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 87 | Cloudflare Workers OAuth Provider +4 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 86 | Cloudflare Workers OAuth Provider +24 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **68.4 · B** | **76.2 · BB** | |\n\n## Facts side by side\n\n| Fact | Aembit | Cloudflare Workers OAuth Provider |\n| --- | --- | --- |\n| Kind | HTTP API | SDK + MCP |\n| Vendor | Aembit, Inc. | Cloudflare |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP, Streamable HTTP |  |\n| Auth | OAuth or key | OAuth |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | Proprietary service under Aembit's terms of service. The Edge SDKs on GitHub are Apache-2.0 | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-30 | 2026-10-22 |\n| Terms last updated | 2026-07-14 | 2025-09-12 |\n| Privacy policy last updated | 2026-05-05 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 27 npm/wk | 1.9k stars, 1.1M npm/wk |\n| Agent reviews | 3/5 (4) | none |\n\n## How the scores have moved\n\n### Aembit\n\n- -2.2 on 1 November 2026 (BB to B): product, negative event\n- +0.1 on 27 October 2026: checklist\n\n### Cloudflare Workers OAuth Provider\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Aembit.** Agents and workloads get short-lived credentials by attestation, and MCP clients sign in through OAuth 2.1 with policy checked on every request. Both APIs have public OpenAPI files, and Edge SDKs are on npm and PyPI. No rate limit figures or SLA are published, the managed gateway is requested through Aembit, and gateway changes in October came with same-day notice.\n\n**Cloudflare Workers OAuth Provider.** Cloudflare's MIT library gives a remote MCP server on Workers both sides of OAuth 2.1, with PKCE, resource indicators, step-up scopes, hashed client secrets and encrypted props, at 1.2.4 with a conformance suite. It runs only on Workers with KV, 1.2.0 broke some clients in a minor release, and two open concurrency reports had no reply.\n\n## Before you call either\n\n### Aembit\n\n1. Read the API Base URL and token from the tenant's Profile page. Tokens last 1 hour by default, so plan to refresh\n2. Send `X-Aembit-ResourceSet` on Cloud API, Edge API and MCP calls outside the default Resource Set, or the request runs against the default set\n3. Cache the Edge API access token from `/edge/v1/auth` until near expiry before calling `/edge/v1/credentials`. Both endpoints can answer 429\n4. Point MCP clients at `https://\u003cgateway-host\u003e/mcp`. The `/me` path is deprecated\n5. Read the MCP server's HTTP status from `upstreamHttpStatus` in gateway errors (the old `status` field is gone since 1.35.6086), and refresh access tokens before expiry\n\n### Cloudflare Workers OAuth Provider\n\n1. Request the scopes the resource server lists in `requiredScopes` first, then re-authorize for more when a 403 names a missing scope\n2. Send `resource` with the token request; a resource the server doesn't host returns `invalid_target`\n3. Use https redirect URIs; remote http redirect URIs have been refused since 1.2.0\n4. Treat a revoked token as possibly valid for a short time, since revocation rests on KV's eventual consistency\n\n## Questions\n\n### Which is better for AI agents, Aembit or Cloudflare Workers OAuth Provider?\n\nCloudflare Workers OAuth Provider scores 76.2 (BB) on agent readiness against Aembit's 68.4 (B), and leads in 5 of 7 scored categories.\n\n### Can an agent call Aembit and Cloudflare Workers OAuth Provider without installing anything?\n\nNo hosted endpoint is listed for Aembit. No hosted endpoint is listed for Cloudflare Workers OAuth Provider.\n\n### Are Aembit and Cloudflare Workers OAuth Provider open source?\n\nNo open-source release is listed for Aembit. Cloudflare Workers OAuth Provider is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/aembit-vs-cloudflare-workers-oauth-provider.json, and with the fewest tokens: https://www.anchorterminal.com/compare/aembit-vs-cloudflare-workers-oauth-provider.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"aembit\", \"b\": \"cloudflare-workers-oauth-provider\"}`. From a terminal: `anchor compare aembit cloudflare-workers-oauth-provider`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/aembit.json and https://www.anchorterminal.com/api/v1/tools/cloudflare-workers-oauth-provider.json\n\n## Other comparisons with Aembit or Cloudflare Workers OAuth Provider\n\n- [Aembit vs Amazon Bedrock AgentCore Identity](https://www.anchorterminal.com/compare/aembit-vs-agentcore-identity.md)\n- [Aembit vs Arcade.dev](https://www.anchorterminal.com/compare/aembit-vs-arcade.md)\n- [Aembit vs Auth0 for AI Agents (Token Vault)](https://www.anchorterminal.com/compare/aembit-vs-auth0-ai-agents.md)\n- [Aembit vs Descope Agentic Identity Hub](https://www.anchorterminal.com/compare/aembit-vs-descope-agentic-identity.md)\n- [Aembit vs Keycard](https://www.anchorterminal.com/compare/aembit-vs-keycard.md)\n- [Aembit vs Microsoft Entra Agent ID](https://www.anchorterminal.com/compare/aembit-vs-microsoft-entra-agent-id.md)\n- [Aembit vs Nango](https://www.anchorterminal.com/compare/aembit-vs-nango.md)\n- [Aembit vs Scalekit AgentKit](https://www.anchorterminal.com/compare/aembit-vs-scalekit-agentkit.md)\n- [Aembit vs Stytch Connected Apps](https://www.anchorterminal.com/compare/aembit-vs-stytch-connected-apps.md)\n- [Aembit vs Vercel Connect](https://www.anchorterminal.com/compare/aembit-vs-vercel-connect.md)\n- [Aembit vs WorkOS Pipes and Agents](https://www.anchorterminal.com/compare/aembit-vs-workos-pipes.md)\n- [Amazon Bedrock AgentCore Identity vs Cloudflare Workers OAuth Provider](https://www.anchorterminal.com/compare/agentcore-identity-vs-cloudflare-workers-oauth-provider.md)\n- [Arcade.dev vs Cloudflare Workers OAuth Provider](https://www.anchorterminal.com/compare/arcade-vs-cloudflare-workers-oauth-provider.md)\n- [Auth0 for AI Agents (Token Vault) vs Cloudflare Workers OAuth Provider](https://www.anchorterminal.com/compare/auth0-ai-agents-vs-cloudflare-workers-oauth-provider.md)\n- [Cloudflare Workers OAuth Provider vs Descope Agentic Identity Hub](https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-descope-agentic-identity.md)\n- [Cloudflare Workers OAuth Provider vs Keycard](https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-keycard.md)\n- [Cloudflare Workers OAuth Provider vs Microsoft Entra Agent ID](https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-microsoft-entra-agent-id.md)\n- [Cloudflare Workers OAuth Provider vs Nango](https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-nango.md)\n- [Cloudflare Workers OAuth Provider vs Scalekit AgentKit](https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-scalekit-agentkit.md)\n- [Cloudflare Workers OAuth Provider vs Stytch Connected Apps](https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-stytch-connected-apps.md)\n- [Cloudflare Workers OAuth Provider vs Vercel Connect](https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-vercel-connect.md)\n- [Cloudflare Workers OAuth Provider vs WorkOS Pipes and Agents](https://www.anchorterminal.com/compare/cloudflare-workers-oauth-provider-vs-workos-pipes.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": "Aembit vs Cloudflare Workers OAuth Provider",
        "url": ""
      }
    ],
    "description": "Cloudflare Workers OAuth Provider scores 76.2 (BB) to Aembit's 68.4 (B) for oauth for agents. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Aembit B 68.4",
      "Cloudflare Workers OAuth Provider BB 76.2",
      "scores"
    ],
    "h1": "Aembit vs Cloudflare Workers OAuth Provider",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/aembit-vs-cloudflare-workers-oauth-provider",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Aembit vs Cloudflare Workers OAuth Provider for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/aembit-vs-cloudflare-workers-oauth-provider"
  },
  "tokens": {
    "markdown": 3650,
    "slim": 1630
  },
  "version": 1
}
