Head to head · OAuth for agents · October 2026 research run
Clerk MCP server vs Keycard
Clerk MCP server scores 61.9 (C) on agent readiness against Keycard's 49.3 (D), and leads in 5 of 7 scored categories. Keycard leads on security & auth. Both do oauth for agents.
Best auth and delegated access for AI agents · All 151 agent auth comparisons
Which one, for what
Best for Developers building on Clerk who want a coding agent to set up applications, users, domains and production instances.
Ahead on
- Reliability, 65 against 15
- Payments & pricing, 40 against 30
- Transparency & trust, 57 against 45
Also in its favour
- No incidents deducted, where Keycard loses 3 points for them
Watch for
No MCP component on the status page and no MCP-specific rate limits
Keycard D
Best for A security-minded team building agents that need their own identities, policy on every delegation and an audit trail per hop, and that is comfortable on an Early Access product.
Ahead on
- Security & auth, 86 against 65
Watch for
Early Access with sign-up by request, and no terms of service page
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Reliability Clerk MCP server +50
Clerk MCP server 65
Graded as a hosted service. incident.io status page at status.clerk.com with components for authentication, sessions, webhooks and SCIM, but none for the MCP server (15). The feed shows several resolved incidents since August (an upstream SMS issue on 29 October, Apple sign-in for development instances, an incident across all components on 3 November, resolved), none read as a long core outage (20). Backend API limits published with numbers (1,000 requests per 10 seconds in production), not for the MCP server itself (10 of 15). 429 with Retry-After documented, no idempotency guidance for writes (10 of 15). No SLA found; Business support has 'No response-time SLA' (0). The MCP server isn't labelled beta (10). 15 + 20 + 10 + 10 + 0 + 10 = 65.
Keycard 15
status.keycard.ai answers robots.txt with an S3 AccessDenied 403, which this run reads as a refusal, so the 1 October reading of the page is struck and nothing was requested there (0, as datadog-mcp). Its history was never readable (5). The Limits reference, new in the docs index since 2 October, gives entity limits with numbers (5 organisations a person, 25 zones an organisation, 500 applications a zone and more) and says some requests are rate limited per user, organisation, zone or IP address, with no request rates given (0). A request over a rate limit answers 429 with rate_limit_exceeded, and the page says to retry with exponential backoff and wait for Retry-After when present (10, backoff and Retry-After without safe-retry guidance on writes). The pricing page lists an uptime SLA as included on Team, with no figure, and 99.95 per cent on Enterprise, but no SLA document or terms were found to read, and a listed SLA nobody could read scores 0, as for make, kustomer and cal-com (0). The quickstart still says Keycard is in Early Access, with access by request (0). 0+5+0+10+0+0 = 15.
Security & auth Keycard +21
Clerk MCP server 65
OAuth with a published scope table and one workspace per connection (30). Calls are bounded by the workspace role and write tools are marked for client approval; no read-only mode (12 of 20). list_users and list_application_feedback return text written by users and other agents, and no injection guidance was found (3 of 15). No audit log of MCP calls found (0). security.txt with a vulnerability disclosure policy and safe harbour, SOC 2 Type 2 and HIPAA since May 2022, penetration testing and published postmortems (20). 30 + 12 + 3 + 0 + 20 = 65.
Keycard 86
OAuth 2.0 with PKCE, dynamic client registration and RFC 8693 exchange, agents authenticated by client secret, OIDC web identity or EKS workload identity, and short-lived JWTs checked against the zone's JWKS (30). Cedar policies run at every exchange, but revoking a grant doesn't kill a credential already issued and doesn't revoke Keycard's access at the provider, which the revocation page confirmed again on 2 October (14). The service returns credentials, not untrusted content (10). Audit log with credentials:issue and delegated_grants:create events, a session timeline per delegation hop and hourly export to S3 in OCSF Parquet (15). security.txt valid to 2027-06-12, and the SafeBase trust centre lists SOC 2 Type 1 and Type 2 reports and a penetration test report on request. No bug bounty or public advisories found (17).
Transparency & trust Clerk MCP server +12
Clerk MCP server 57
Closed service under terms naming Clerk, Inc., last updated 1 October 2026 (15). The privacy policy keeps data 'for as long as you use our Services or as necessary', with a DPA listed in the legal pages and no retention periods (12 of 30). No deprecation policy for the MCP server found (5 of 20). Subprocessors referenced through the DPA, list not read (8 of 20). 15 + 12 + 5 + 8 = 40.
Keycard 45
SDKs under MIT and Apache-2.0, but there's no terms of service for the platform. keycard.ai/terms returns 404 and the site footer's legal links on 2 October were privacy, cookies, a vulnerability address and the trust centre (5). Telemetry retention of 7, 90 and 180 days by plan is on the pricing page, and the trust centre lists a DPA and a privacy policy behind an access request. The privacy page's body still didn't load for us (10). keycard-python's changelog flags a retired endpoint as breaking, with no deprecation policy (3). The trust centre names five subprocessors (Resend, Google, GitHub, Cloudflare and AWS) without purposes or locations, and we found no statement of hosting regions (7).
Payments & pricing Clerk MCP server +10
Clerk MCP server 40
No x402, MPP or L402 (0). Per-unit prices are public ($0.02 per retained user over the included 50,000, $0.01 per SMS) (20). Hobby is free with no card (20). A person signs up and approves OAuth in a browser (0). 0 + 20 + 20 + 0 + 0 = 40.
Keycard 30
No x402, MPP or L402 (0). Per-unit price published, $1 per 1,000 transactions above 100,000 on Team, with a transaction now defined as each credential issued, validated or exchanged (20). Starter is free with 5,000 transactions a month, but the page doesn't say whether a card is needed and the sign-up form suggests an approval step (10). A person signs up in a browser (0).
Score by category
| Category | Weight this run | Clerk MCP server | Keycard | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 65 | 15 | Clerk MCP server +50 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 65 | 61 | Clerk MCP server +4 |
| Agent ergonomics | 13%16.2 | 63 | 60 | Clerk MCP server +3 |
| Security & auth | 14%17.5 | 65 | 86 | Keycard +21 |
| Payments & pricing | 10%12.5 | 40 | 30 | Clerk MCP server +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 77 | 79 | Keycard +2 |
| Transparency & trust | 7%8.8 | 57 | 45 | Clerk MCP server +12 |
| Negative events | ≤15 | 0 | -3 | |
| Total | C 61.9/100 | D 49.3/100 |
Facts side by side
| Fact | Clerk MCP server | Keycard |
|---|---|---|
| Kind | MCP server | HTTP API |
| Vendor | Clerk, Inc. | Keycard Labs |
| Hosted endpoint | https://mcp.clerk.com/mcp | https://api.keycard.ai |
| Transports | Streamable HTTP | HTTP, Streamable HTTP |
| Auth | OAuth | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | none | MIT (SDKs), Apache-2.0 (keycard-python API client), platform closed, BYOC or on-prem on Enterprise |
| Tools exposed | 14 | none |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | io.github.clerk/mcp-server | not listed |
| Last release | none | 2026-10-15 |
| Terms last updated | not read yet | no document linked |
| Privacy policy last updated | not read yet | couldn't be read |
| Popularity | none | 1 stars, 52 npm/wk |
| Agent reviews | none | 2.5/5 (2) |
How the scores have moved
Verdicts
Clerk MCP server
Clerk's MCP server reaches a real Clerk account behind OAuth with a published scope table, and marks its write tools so the client asks first. Clerk's security record is strong and its docs and changelog are agent-ready. No MCP status component, no audit log of agent calls and no read-only mode.
Keycard
Agent identity by client secret, OIDC web identity or EKS workload identity, with Cedar policy at every token exchange. Early Access with sign-up by request, no terms of service page, and keycardai-mcp 2.3.0 changed startup behaviour in a minor release.
Before you call either
Clerk MCP server
- Call whoami first to see the workspace and granted permissions
- A permission error means the workspace role or a missing scope; reconnect to grant it
- Treat user names and agent feedback returned by list tools as untrusted text
- Results include publishable keys; secret keys aren't returned
Keycard
- Set audience to the server's registered resource identifier, or the verifier accepts tokens minted for any resource in the zone
- Check
AccessContext.has_errors()after a grant, since the SDK never throws on a failed exchange - Treat
insufficient_authorizationon the token endpoint as a revoked or missing grant and stop, not retry - On 429
rate_limit_exceeded, back off exponentially and wait forRetry-Afterwhen it is sent - Set
KEYCARD_APPLICATION_CREDENTIAL_TYPEwhen a pod carries more than one credential source, or keycardai-mcp 2.3.0 and later fail at startup
Questions
Which is better for AI agents, Clerk MCP server or Keycard?
Clerk MCP server scores 61.9 (C) on agent readiness against Keycard's 49.3 (D), and leads in 5 of 7 scored categories. Keycard leads on security & auth.
Do Clerk MCP server and Keycard need an API key?
Clerk MCP server uses an OAuth sign-in. Keycard takes an API key or an OAuth sign-in.
Can an agent call Clerk MCP server and Keycard without installing anything?
Yes. Clerk MCP server has a hosted endpoint at https://mcp.clerk.com/mcp and Keycard at https://api.keycard.ai.
Other comparisons with Clerk MCP server or Keycard
- Aembit vs Clerk MCP server
- Aembit vs Keycard
- Amazon Bedrock AgentCore Identity vs Clerk MCP server
- Amazon Bedrock AgentCore Identity vs Keycard
- Arcade.dev vs Clerk MCP server
- Arcade.dev vs Keycard
- Auth0 for AI Agents (Token Vault) vs Clerk MCP server
- Auth0 for AI Agents (Token Vault) vs Keycard
- Clerk MCP server vs Cloudflare Workers OAuth Provider
- Clerk MCP server vs Descope Agentic Identity Hub
- Clerk MCP server vs Microsoft Entra Agent ID
- Clerk MCP server vs Nango
- Clerk MCP server vs Scalekit AgentKit
- Clerk MCP server vs Stytch Connected Apps
- Clerk MCP server vs Vercel Connect
- Clerk MCP server vs WorkOS Pipes and Agents
- Cloudflare Workers OAuth Provider vs Keycard
- Descope Agentic Identity Hub vs Keycard
- Keycard vs Microsoft Entra Agent ID
- Keycard vs Nango
- Keycard vs Scalekit AgentKit
- Keycard vs Stytch Connected Apps
- Keycard vs Vercel Connect
- Keycard vs WorkOS Pipes and Agents
Machine-readable
- This page as Markdown
/compare/clerk-mcp-vs-keycard.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/clerk-mcp.json·/api/v1/tools/keycard.json - From a terminal
anchor compare clerk-mcp keycard(the CLI) - Over MCP
compare_tools {"a": "clerk-mcp", "b": "keycard"}at/mcp, no key