{
  "data": {
    "a": {
      "slug": "arcade",
      "name": "Arcade.dev",
      "vendor": "Arcade.dev",
      "vendorUrl": "https://www.arcade.dev",
      "kind": "http-api",
      "category": "agent-auth",
      "summary": "MCP runtime built around per-user authorisation.",
      "url": "https://www.anchorterminal.com/tools/arcade",
      "markdownUrl": "https://www.anchorterminal.com/tools/arcade.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/arcade.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/arcade.json",
      "repo": "https://github.com/ArcadeAI/arcade-mcp",
      "license": "MIT (arcade-mcp framework and SDKs), platform closed",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.arcade.dev",
      "packages": [
        {
          "registry": "npm",
          "name": "@arcadeai/arcadejs"
        },
        {
          "registry": "pypi",
          "name": "arcadepy"
        },
        {
          "registry": "pypi",
          "name": "arcade-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST calls take the project key as `Authorization: Bearer $ARCADE_API_KEY` and name the end user with `user_id`. MCP gateways sign end users in with OAuth, either Arcade Auth (project members only) or a User Source pointing at your own OIDC provider. Clients that can't run OAuth can send the API key plus an `Arcade-User-ID` header instead.",
      "pricing": "freemium",
      "pricingNotes": "Free is $0 with 2,000 auth events and 2,000 tool calls a month, no card, community support. Team is a $25 a month platform fee plus $0.10 per auth event and $0.01 per tool call, with next-business-day email support. Enterprise is custom, with annual bundles, deployment in your VPC or air-gapped, SSO, RBAC and a dedicated forward-deployed engineer (https://www.arcade.dev/pricing). The pricing page doesn't define an auth event.",
      "priceSummary": "$25 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1043,
        "npmWeekly": 124858,
        "pypiWeekly": 70222,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.arcade.dev",
      "llmsTxt": "https://docs.arcade.dev/llms.txt",
      "openapi": "https://api.arcade.dev/v1/swagger",
      "capabilities": [
        "auth.oauth",
        "auth.tokens",
        "auth.consent",
        "auth.audit",
        "agent.tools"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "oauth",
        "python",
        "typescript",
        "enterprise",
        "self-hosted"
      ],
      "lastRelease": "2026-09-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.9,
        "grade": "B",
        "agentReady": false,
        "rank": 248,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 74,
          "payments": 40,
          "reliability": 63,
          "schema": 82,
          "security": 71,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -2,
        "negativeNotes": [
          "2025-12-02, CVE-2025-66454 (GHSA-g2jx-37x6-6438, CVSS 6.5). The HTTP worker in arcade-mcp shipped a hardcoded default worker secret, so anyone could forge a token and list or call every tool on a self-hosted worker set up by the official guide. Fixed in 1.9.1 and disclosed in public, so we deduct 2 of a possible 15 (https://github.com/ArcadeAI/arcade-mcp/security/advisories/GHSA-g2jx-37x6-6438)"
        ],
        "verdict": "Consent flow, token storage and refresh, and tool execution in one service, so the model never holds a provider token. The terms of 15 July 2025 call the service an early version provided as is, with no uptime commitment below Enterprise.",
        "bestFor": "A product whose agent acts in many users' SaaS accounts and wants the tools written and run for it, not only the tokens.",
        "strengths": [
          "Consent flow, token storage and refresh, and tool execution in one service, so the model never holds a provider token",
          "33 built-in auth providers plus generic OAuth 2.0, and hosted MCP gateways that sign users in through your own OIDC provider",
          "OpenAPI 3.0 file with 39 paths, llms.txt and a typed tool error hierarchy with retry hints",
          "Per-call prices in public, $0.01 a tool call and $0.10 an auth event, with 2,000 of each free and no card",
          "Valid security.txt, a SOC 2 Type 2 report and a CVE fixed through a public advisory"
        ],
        "weaknesses": [
          "The terms of 15 July 2025 call the service an early version provided as is, with no uptime commitment below Enterprise",
          "Tool inputs and results are training data for up to 5 years unless the organisation opts out",
          "No published rate limits for the authorise or execute calls, and no 429 in the OpenAPI file",
          "The public changelog's latest entry is 26 July 2026 and arcadepy hasn't been released since 6 November 2025",
          "Hosting in the United States only outside Enterprise"
        ],
        "agentNotes": [
          "Call `POST /v1/tools/authorize` first and send the user the returned URL when the status isn't completed",
          "Pass a stable user ID from your own database as user_id, never a shared value",
          "Read retry_after_ms on an UpstreamRateLimitError and wait that long before calling again",
          "Register your own OAuth app and a custom user verifier before real users sign in, because the default apps only accept members of your Arcade project",
          "Revoke a user's access with `DELETE /v1/admin/user_connections/{id}`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.9
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 74,
          "payments": 40,
          "reliability": 63,
          "schema": 82,
          "security": 71,
          "transparency": 47
        },
        "provenanceScore": 94
      },
      "connect": {
        "install": "npm install @arcadeai/arcadejs",
        "http": "curl -X POST https://api.arcade.dev/v1/tools/authorize -H \"Authorization: Bearer $ARCADE_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"tool_name\":\"Gmail.ListEmails\",\"user_id\":\"user-123\"}'",
        "claudeCode": "claude mcp add --transport http arcade https://api.arcade.dev/mcp/\u003cyour-gateway-slug\u003e",
        "config": {
          "mcpServers": {
            "arcade": {
              "url": "https://api.arcade.dev/mcp/\u003cyour-gateway-slug\u003e"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/auth.oauth",
        "tool": "https://letme.dev/arcade"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Team plan platform fee",
          "unit": "month",
          "usd": 25,
          "note": "Usage billed on top"
        },
        {
          "item": "Tool call on Team",
          "unit": "call",
          "usd": 0.01,
          "note": "After the included allowance. Auth events are $0.10 each"
        }
      ],
      "provenance": {
        "legalEntity": "Arcade AI, Inc.",
        "domain": "arcade.dev",
        "domainRegistered": "2019-03-26",
        "endpointOnVendorDomain": true,
        "terms": "https://www.arcade.dev/terms-of-service",
        "privacy": "https://www.arcade.dev/privacy-policy",
        "statusPage": "https://status.arcade.dev",
        "changelog": "https://docs.arcade.dev/en/references/changelog",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The terms (effective 15 July 2025) name Arcade AI, Inc. and California law."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/arcade.json",
      "live": {
        "slug": "arcade",
        "probe": {
          "target": "https://api.arcade.dev",
          "method": "get",
          "lastAt": "2026-10-09T11:46:21.93655629Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 611,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.91,
          "p50ms24h": 649,
          "p95ms24h": 988,
          "samples24h": 259,
          "samples30d": 2109,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 266
            },
            {
              "date": "2026-10-09",
              "probes": 125,
              "ok": 125
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.arcade.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T11:37:06.426948602Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@arcadeai/arcadejs",
            "version": "2.4.1",
            "seenAt": "2026-10-08T15:59:15.513696677Z"
          },
          {
            "registry": "pypi",
            "name": "arcade-mcp",
            "version": "1.16.2",
            "released": "2026-10-07",
            "seenAt": "2026-10-08T15:59:22.627373168Z"
          },
          {
            "registry": "pypi",
            "name": "arcadepy",
            "version": "1.10.0",
            "released": "2025-11-06",
            "seenAt": "2026-10-08T15:59:19.232775498Z"
          }
        ],
        "githubStars": 1047,
        "npmWeekly": 147705,
        "pypiWeekly": 125741,
        "securityTxt": {
          "url": "https://arcade.dev/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-07-20T00:00:00Z",
          "checkedAt": "2026-10-08T15:38:31.774058954Z"
        },
        "llmsTxt": {
          "url": "https://docs.arcade.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:03.150169651Z"
        },
        "domain": {
          "domain": "arcade.dev",
          "registered": "2019-03-26",
          "source": "https://pubapi.registry.google/rdap/domain/arcade.dev",
          "checkedAt": "2026-10-04T13:09:09.815000281Z"
        },
        "pages": [
          {
            "url": "https://docs.arcade.dev/en/references/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:13.451379301Z",
            "changedAt": "2026-10-08T18:18:13.451379301Z",
            "fingerprint": "600522b8614d"
          },
          {
            "url": "https://www.arcade.dev/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:15.201152672Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0965f63267b5"
          },
          {
            "url": "https://www.arcade.dev/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:17.307243436Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "03308f7a2c1b"
          },
          {
            "url": "https://www.arcade.dev/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:19.284606349Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "afaf24fae3e3"
          }
        ],
        "updatedAt": "2026-10-09T11:46:21.93655629Z"
      }
    },
    "answer": "Vercel Connect scores 68.8 (B) on agent readiness against Arcade.dev's 66.9 (B), and leads in 4 of 7 scored categories.",
    "b": {
      "slug": "vercel-connect",
      "name": "Vercel Connect",
      "vendor": "Vercel Inc.",
      "vendorUrl": "https://vercel.com",
      "kind": "http-api",
      "category": "agent-auth",
      "summary": "Vercel Connect is a credential broker for apps and agents. Code asks it for a short-lived, scoped token for Slack, GitHub, Microsoft, Linear, Snowflake or any OAuth, API-key or MCP service, as the app or for a user.",
      "url": "https://www.anchorterminal.com/tools/vercel-connect",
      "markdownUrl": "https://www.anchorterminal.com/tools/vercel-connect.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vercel-connect.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vercel-connect.json",
      "repo": "https://github.com/vercel/vercel",
      "license": "Proprietary service under Vercel's Terms of Service and the Vercel Connect product terms. The `@vercel/connect` SDK and the Vercel CLI are Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.vercel.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@vercel/connect"
        }
      ],
      "auth": "mixed",
      "authNotes": "Access is self-serve with a Vercel account, on every plan. A deployment calls Connect with its project OIDC token (`VERCEL_OIDC_TOKEN`), which Connect checks against the connector's project links and their environments. Locally, `vercel env pull` writes a development OIDC token that lasts about 12 hours. Outside Vercel, a Vercel access token goes in `vercelToken`, and it can request only the app subject or its own user. Connect then holds the provider side. Vercel registers the OAuth client for managed connectors (Slack, GitHub, Linear, Microsoft, Snowflake, Salesforce), and the customer supplies a client or an API key for the others. End users consent in a browser at a URL from `startAuthorization`.",
      "pricing": "freemium",
      "pricingNotes": "Billed per token request and per trigger. Hobby includes 500 token requests and 1,000 triggers a month at no extra charge, and Vercel's fair use guidelines limit Hobby to non-commercial, personal use. Pro is $3.00 per 1,000 token requests and $0.95 per 1,000 triggers on top of the plan. Enterprise is negotiated. A trigger is counted once per destination, and once per event when no destination is set. The SDK's in-process cache means many provider calls in one invocation cost one token request (https://vercel.com/docs/connect/pricing, checked 2026-10-08).",
      "priceSummary": "$3 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Connect docs, the pricing page or the Connect operations of the OpenAPI document (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 16354,
        "npmWeekly": 738165,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://vercel.com/docs/connect",
      "llmsTxt": "https://vercel.com/llms.txt",
      "openapi": "https://openapi.vercel.sh/",
      "capabilities": [
        "auth.tokens",
        "auth.oauth",
        "auth.consent",
        "auth.audit"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "oauth",
        "oidc",
        "openapi",
        "llms-txt",
        "typescript",
        "cli",
        "webhooks",
        "status-page",
        "soc2",
        "iso27001"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.8,
        "grade": "B",
        "agentReady": false,
        "rank": 195,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 81,
          "payments": 40,
          "reliability": 63,
          "schema": 84,
          "security": 83,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "April 2026. Vercel's security bulletin says an attacker took over an employee's account through a compromised third-party AI tool, reached internal systems and decrypted non-sensitive environment variables of a limited subset of customers. It predates Connect's general availability on 25 August 2026 and is documented with remediation, so 3 of a possible 15 is taken, because Connect now keeps customers' provider refresh tokens on the same platform (https://vercel.com/kb/bulletin/vercel-april-2026-security-incident)."
        ],
        "verdict": "Provider refresh tokens stay with Vercel, and code receives short-lived tokens tied to a project and environment through one call with a public OpenAPI definition. Vercel's SLA excludes its APIs, the status page records 94 minutes of elevated Connect errors on 10 September 2026, and the only SDK is TypeScript.",
        "bestFor": "Teams already deploying on Vercel whose agents need user or app tokens for Slack, GitHub, Microsoft, Linear, Snowflake or an MCP server without storing provider secrets.",
        "strengths": [
          "Refresh tokens stay on Vercel's infrastructure. Code receives only short-lived access tokens, as the app or for a named user",
          "A deployment authenticates with its project OIDC token, checked against per-environment project links, so no provider secret sits in environment variables",
          "Public OpenAPI 3.0.3 document covers 13 Connect paths, including `/v1/connect/token/{connector}` and `/v1/connect/authorize/{connector}`",
          "Token requests, completed authorisations and revocations are logged with `tokenId` and `authorizationId`, and can be sent to a drain on Pro and Enterprise",
          "Rate limits are published with numbers, 200 reads and 50 writes a minute per team"
        ],
        "weaknesses": [
          "Vercel's SLA says it does not apply to the APIs or CLI, so token requests carry no uptime commitment",
          "Elevated Connect errors for 94 minutes on 10 September 2026, marked major, and again on 18 September, per the status page",
          "Event history is kept 12 hours on Hobby and 3 days on Pro. Connector audit logs and 30 days need Enterprise",
          "Revocation depends on the provider. Without a revocation endpoint the provider credential can work until it expires",
          "The SDK is TypeScript only, and the public repository's copy stops at 2.0.2 while npm has 2.4.1"
        ],
        "agentNotes": [
          "Call `getToken` at request time and don't store the result. The SDK caches up to 100 tokens in process and refreshes them 30 seconds before expiry",
          "Pass `scopes` on every request. Since SDK 1.0.0 an omitted `scopes` defaults to `['*']`, the connector's default scopes",
          "Catch `UserAuthorizationRequiredError`, call `startAuthorization` and send the user to the returned URL. Consent needs a person in a browser",
          "Outside Vercel, pass a Vercel access token as `vercelToken`. It can request only the app subject or its own user, not another user",
          "On a 429 wait one minute for the window to reset. Limits are 200 token requests a minute per team"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.8
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 81,
          "payments": 40,
          "reliability": 63,
          "schema": 84,
          "security": 83,
          "transparency": 55
        },
        "provenanceScore": 99
      },
      "connect": {
        "install": "pnpm add @vercel/connect",
        "http": "curl -X POST https://api.vercel.com/v1/connect/token/slack%2Facme-slack \\\n  -H \"Authorization: Bearer $VERCEL_OIDC_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"subject\":{\"type\":\"app\"},\"scopes\":[\"chat:write\"]}'"
      },
      "letme": {
        "capability": "https://letme.dev/auth.tokens",
        "tool": "https://letme.dev/vercel-connect"
      },
      "sameCompany": [
        "vercel-sandbox"
      ],
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Token request (Pro)",
          "unit": "1k-requests",
          "usd": 3,
          "note": "Hobby includes 500 a month. Enterprise negotiated"
        },
        {
          "item": "Trigger, a forwarded provider webhook (Pro)",
          "unit": "1k-requests",
          "usd": 0.95,
          "note": "Counted per destination. Hobby includes 1,000 a month"
        }
      ],
      "provenance": {
        "legalEntity": "Vercel Inc.",
        "domain": "vercel.com",
        "domainRegistered": "1999-10-04",
        "endpointOnVendorDomain": true,
        "terms": "https://vercel.com/legal/terms",
        "privacy": "https://vercel.com/legal/privacy-policy",
        "statusPage": "https://www.vercel-status.com",
        "changelog": "https://vercel.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service (last updated 1 June 2026) name Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, and California law. The DPA calls Vercel Inc. a Delaware corporation.",
          "Connect also has its own product terms at https://vercel.com/docs/connect/legal. The Terms of Service text we read does not mention Connect by name.",
          "The Privacy Notice (effective 1 June 2026) says it does not apply to personal information Vercel processes as a processor for customers, which the DPA covers. The DPA (effective 31 March 2026) applies to Pro and Enterprise plans.",
          "https://vercel.com/.well-known/security.txt points to HackerOne and responsible.disclosure@vercel.com and expires 2027-09-28.",
          "RDAP gives vercel.com a registration date of 1999-10-04, long before Vercel, so the domain was bought later.",
          "The API answers at api.vercel.com and the OpenAPI document at openapi.vercel.sh."
        ],
        "score": 99
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vercel-connect.json",
      "live": {
        "slug": "vercel-connect",
        "probe": {
          "target": "https://api.vercel.com",
          "method": "get",
          "lastAt": "2026-10-09T11:46:44.766209061Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 598,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 570,
          "p95ms24h": 973,
          "samples24h": 44,
          "samples30d": 44,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 44,
              "ok": 44
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.vercel-status.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T11:41:11.405145015Z"
        },
        "updatedAt": "2026-10-09T11:46:44.766209061Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Arcade.dev",
        "b": "Vercel Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.arcade.dev",
        "b": "https://api.vercel.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (arcade-mcp framework and SDKs), platform closed",
        "b": "Proprietary service under Vercel's Terms of Service and the Vercel Connect product terms. The `@vercel/connect` SDK and the Vercel CLI are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-25",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2025-07-15",
        "b": "2026-06-01",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-10",
        "b": "2026-06-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "1k stars, 125k npm/wk, 70k PyPI/wk",
        "b": "16k stars, 738k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Vercel Connect scores 68.8 (B) on agent readiness against Arcade.dev's 66.9 (B), and leads in 4 of 7 scored categories.",
        "question": "Which is better for AI agents, Arcade.dev or Vercel Connect?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Arcade.dev and Vercel Connect need an API key?"
      },
      {
        "answer": "Yes. Arcade.dev has a hosted endpoint at https://api.arcade.dev and Vercel Connect at https://api.vercel.com.",
        "question": "Can an agent call Arcade.dev and Vercel Connect without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "A product whose agent acts in many users' SaaS accounts and wants the tools written and run for it, not only the tokens.",
        "slug": "arcade",
        "watchFor": "The terms of 15 July 2025 call the service an early version provided as is, with no uptime commitment below Enterprise"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 83 against 71",
          "Maintenance \u0026 community, 81 against 74",
          "Transparency \u0026 trust, 77 against 71"
        ],
        "also": null,
        "goodFor": "Teams already deploying on Vercel whose agents need user or app tokens for Slack, GitHub, Microsoft, Linear, Snowflake or an MCP server without storing provider secrets.",
        "slug": "vercel-connect",
        "watchFor": "Vercel's SLA says it does not apply to the APIs or CLI, so token requests carry no uptime commitment"
      }
    ],
    "job": {
      "capability": "auth.oauth",
      "name": "Auth oauth"
    },
    "others": [
      {
        "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-vercel-connect.json",
        "title": "Aembit vs Vercel Connect",
        "url": "https://www.anchorterminal.com/compare/aembit-vs-vercel-connect"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-identity-vs-arcade.json",
        "title": "Amazon Bedrock AgentCore Identity vs Arcade.dev",
        "url": "https://www.anchorterminal.com/compare/agentcore-identity-vs-arcade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-identity-vs-vercel-connect.json",
        "title": "Amazon Bedrock AgentCore Identity vs Vercel Connect",
        "url": "https://www.anchorterminal.com/compare/agentcore-identity-vs-vercel-connect"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcade-vs-auth0-ai-agents.json",
        "title": "Arcade.dev vs Auth0 for AI Agents (Token Vault)",
        "url": "https://www.anchorterminal.com/compare/arcade-vs-auth0-ai-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcade-vs-descope-agentic-identity.json",
        "title": "Arcade.dev vs Descope Agentic Identity Hub",
        "url": "https://www.anchorterminal.com/compare/arcade-vs-descope-agentic-identity"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcade-vs-keycard.json",
        "title": "Arcade.dev vs Keycard",
        "url": "https://www.anchorterminal.com/compare/arcade-vs-keycard"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcade-vs-microsoft-entra-agent-id.json",
        "title": "Arcade.dev vs Microsoft Entra Agent ID",
        "url": "https://www.anchorterminal.com/compare/arcade-vs-microsoft-entra-agent-id"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcade-vs-nango.json",
        "title": "Arcade.dev vs Nango",
        "url": "https://www.anchorterminal.com/compare/arcade-vs-nango"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcade-vs-scalekit-agentkit.json",
        "title": "Arcade.dev vs Scalekit AgentKit",
        "url": "https://www.anchorterminal.com/compare/arcade-vs-scalekit-agentkit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcade-vs-stytch-connected-apps.json",
        "title": "Arcade.dev vs Stytch Connected Apps",
        "url": "https://www.anchorterminal.com/compare/arcade-vs-stytch-connected-apps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcade-vs-workos-pipes.json",
        "title": "Arcade.dev vs WorkOS Pipes and Agents",
        "url": "https://www.anchorterminal.com/compare/arcade-vs-workos-pipes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auth0-ai-agents-vs-vercel-connect.json",
        "title": "Auth0 for AI Agents (Token Vault) vs Vercel Connect",
        "url": "https://www.anchorterminal.com/compare/auth0-ai-agents-vs-vercel-connect"
      },
      {
        "json": "https://www.anchorterminal.com/compare/descope-agentic-identity-vs-vercel-connect.json",
        "title": "Descope Agentic Identity Hub vs Vercel Connect",
        "url": "https://www.anchorterminal.com/compare/descope-agentic-identity-vs-vercel-connect"
      },
      {
        "json": "https://www.anchorterminal.com/compare/keycard-vs-vercel-connect.json",
        "title": "Keycard vs Vercel Connect",
        "url": "https://www.anchorterminal.com/compare/keycard-vs-vercel-connect"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-entra-agent-id-vs-vercel-connect.json",
        "title": "Microsoft Entra Agent ID vs Vercel Connect",
        "url": "https://www.anchorterminal.com/compare/microsoft-entra-agent-id-vs-vercel-connect"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nango-vs-vercel-connect.json",
        "title": "Nango vs Vercel Connect",
        "url": "https://www.anchorterminal.com/compare/nango-vs-vercel-connect"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scalekit-agentkit-vs-vercel-connect.json",
        "title": "Scalekit AgentKit vs Vercel Connect",
        "url": "https://www.anchorterminal.com/compare/scalekit-agentkit-vs-vercel-connect"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stytch-connected-apps-vs-vercel-connect.json",
        "title": "Stytch Connected Apps vs Vercel Connect",
        "url": "https://www.anchorterminal.com/compare/stytch-connected-apps-vs-vercel-connect"
      },
      {
        "json": "https://www.anchorterminal.com/compare/vercel-connect-vs-workos-pipes.json",
        "title": "Vercel Connect vs WorkOS Pipes and Agents",
        "url": "https://www.anchorterminal.com/compare/vercel-connect-vs-workos-pipes"
      }
    ],
    "scores": [
      {
        "arcade": 63,
        "by": 0,
        "edge": "",
        "key": "reliability",
        "name": "Reliability",
        "vercel-connect": 63,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "arcade": 82,
        "by": 2,
        "edge": "vercel-connect",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "vercel-connect": 84,
        "weight": 13
      },
      {
        "arcade": 79,
        "by": 4,
        "edge": "arcade",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "vercel-connect": 75,
        "weight": 13
      },
      {
        "arcade": 71,
        "by": 12,
        "edge": "vercel-connect",
        "key": "security",
        "name": "Security \u0026 auth",
        "vercel-connect": 83,
        "weight": 14
      },
      {
        "arcade": 40,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "vercel-connect": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "arcade": 74,
        "by": 7,
        "edge": "vercel-connect",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "vercel-connect": 81,
        "weight": 7
      },
      {
        "arcade": 71,
        "by": 6,
        "edge": "vercel-connect",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "vercel-connect": 77,
        "weight": 7
      }
    ],
    "summary": "Vercel Connect scores 68.8 (B) on agent readiness against Arcade.dev's 66.9 (B), and leads in 4 of 7 scored categories. Both do auth oauth.",
    "verdicts": {
      "arcade": "Consent flow, token storage and refresh, and tool execution in one service, so the model never holds a provider token. The terms of 15 July 2025 call the service an early version provided as is, with no uptime commitment below Enterprise.",
      "vercel-connect": "Provider refresh tokens stay with Vercel, and code receives short-lived tokens tied to a project and environment through one call with a public OpenAPI definition. Vercel's SLA excludes its APIs, the status page records 94 minutes of elevated Connect errors on 10 September 2026, and the only SDK is TypeScript."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/arcade-vs-vercel-connect",
    "json": "https://www.anchorterminal.com/compare/arcade-vs-vercel-connect.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/arcade-vs-vercel-connect.md",
    "slim": "https://www.anchorterminal.com/compare/arcade-vs-vercel-connect.min.md"
  },
  "markdown": "Vercel Connect scores 68.8 (B) on agent readiness against Arcade.dev's 66.9 (B), and leads in 4 of 7 scored categories. Both do auth oauth.\n\n- Arcade.dev: grade B, 66.9/100, rank #248 of 842. Markdown https://www.anchorterminal.com/tools/arcade.md · JSON https://www.anchorterminal.com/api/v1/tools/arcade.json\n- Vercel Connect: grade B, 68.8/100, rank #195 of 842. Markdown https://www.anchorterminal.com/tools/vercel-connect.md · JSON https://www.anchorterminal.com/api/v1/tools/vercel-connect.json\n\n## Which one, for what\n\n### Arcade.dev (B)\n\nGood for: A product whose agent acts in many users' SaaS accounts and wants the tools written and run for it, not only the tokens.\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: The terms of 15 July 2025 call the service an early version provided as is, with no uptime commitment below Enterprise\n\n### Vercel Connect (B)\n\nGood for: Teams already deploying on Vercel whose agents need user or app tokens for Slack, GitHub, Microsoft, Linear, Snowflake or an MCP server without storing provider secrets.\n\nAhead on:\n- Security \u0026 auth, 83 against 71\n- Maintenance \u0026 community, 81 against 74\n- Transparency \u0026 trust, 77 against 71\n\nWatch for: Vercel's SLA says it does not apply to the APIs or CLI, so token requests carry no uptime commitment\n\n\n## Score by category\n\n| Category | Weight | Arcade.dev | Vercel Connect | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 63 | 63 | even |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 82 | 84 | Vercel Connect +2 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 75 | Arcade.dev +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 71 | 83 | Vercel Connect +12 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 74 | 81 | Vercel Connect +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 77 | Vercel Connect +6 |\n| Negative events | ≤15 | -2 | -3 | |\n| **Total** | | **66.9 · B** | **68.8 · B** | |\n\n## Facts side by side\n\n| Fact | Arcade.dev | Vercel Connect |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Arcade.dev | Vercel Inc. |\n| Hosted endpoint | `https://api.arcade.dev` | `https://api.vercel.com` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT (arcade-mcp framework and SDKs), platform closed | Proprietary service under Vercel's Terms of Service and the Vercel Connect product terms. The `@vercel/connect` SDK and the Vercel CLI are Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-25 | 2026-10-06 |\n| Terms last updated | 2025-07-15 | 2026-06-01 |\n| Privacy policy last updated | 2026-09-10 | 2026-06-01 |\n| Customer content may train models | not found in the text | yes, with an opt-out |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 1k stars, 125k npm/wk, 70k PyPI/wk | 16k stars, 738k npm/wk |\n| Agent reviews | 2.5/5 (2) | none |\n\n## Verdicts\n\n**Arcade.dev.** Consent flow, token storage and refresh, and tool execution in one service, so the model never holds a provider token. The terms of 15 July 2025 call the service an early version provided as is, with no uptime commitment below Enterprise.\n\n**Vercel Connect.** Provider refresh tokens stay with Vercel, and code receives short-lived tokens tied to a project and environment through one call with a public OpenAPI definition. Vercel's SLA excludes its APIs, the status page records 94 minutes of elevated Connect errors on 10 September 2026, and the only SDK is TypeScript.\n\n## Before you call either\n\n### Arcade.dev\n\n1. Call `POST /v1/tools/authorize` first and send the user the returned URL when the status isn't completed\n2. Pass a stable user ID from your own database as user_id, never a shared value\n3. Read retry_after_ms on an UpstreamRateLimitError and wait that long before calling again\n4. Register your own OAuth app and a custom user verifier before real users sign in, because the default apps only accept members of your Arcade project\n5. Revoke a user's access with `DELETE /v1/admin/user_connections/{id}`\n\n### Vercel Connect\n\n1. Call `getToken` at request time and don't store the result. The SDK caches up to 100 tokens in process and refreshes them 30 seconds before expiry\n2. Pass `scopes` on every request. Since SDK 1.0.0 an omitted `scopes` defaults to `['*']`, the connector's default scopes\n3. Catch `UserAuthorizationRequiredError`, call `startAuthorization` and send the user to the returned URL. Consent needs a person in a browser\n4. Outside Vercel, pass a Vercel access token as `vercelToken`. It can request only the app subject or its own user, not another user\n5. On a 429 wait one minute for the window to reset. Limits are 200 token requests a minute per team\n\n## Questions\n\n### Which is better for AI agents, Arcade.dev or Vercel Connect?\n\nVercel Connect scores 68.8 (B) on agent readiness against Arcade.dev's 66.9 (B), and leads in 4 of 7 scored categories.\n\n### Do Arcade.dev and Vercel Connect need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Arcade.dev and Vercel Connect without installing anything?\n\nYes. Arcade.dev has a hosted endpoint at https://api.arcade.dev and Vercel Connect at https://api.vercel.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/arcade-vs-vercel-connect.json, and with the fewest tokens: https://www.anchorterminal.com/compare/arcade-vs-vercel-connect.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"arcade\", \"b\": \"vercel-connect\"}`. From a terminal: `anchor compare arcade vercel-connect`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/arcade.json and https://www.anchorterminal.com/api/v1/tools/vercel-connect.json\n\n## Other comparisons with Arcade.dev or Vercel Connect\n\n- [Aembit vs Arcade.dev](https://www.anchorterminal.com/compare/aembit-vs-arcade.md)\n- [Aembit vs Vercel Connect](https://www.anchorterminal.com/compare/aembit-vs-vercel-connect.md)\n- [Amazon Bedrock AgentCore Identity vs Arcade.dev](https://www.anchorterminal.com/compare/agentcore-identity-vs-arcade.md)\n- [Amazon Bedrock AgentCore Identity vs Vercel Connect](https://www.anchorterminal.com/compare/agentcore-identity-vs-vercel-connect.md)\n- [Arcade.dev vs Auth0 for AI Agents (Token Vault)](https://www.anchorterminal.com/compare/arcade-vs-auth0-ai-agents.md)\n- [Arcade.dev vs Descope Agentic Identity Hub](https://www.anchorterminal.com/compare/arcade-vs-descope-agentic-identity.md)\n- [Arcade.dev vs Keycard](https://www.anchorterminal.com/compare/arcade-vs-keycard.md)\n- [Arcade.dev vs Microsoft Entra Agent ID](https://www.anchorterminal.com/compare/arcade-vs-microsoft-entra-agent-id.md)\n- [Arcade.dev vs Nango](https://www.anchorterminal.com/compare/arcade-vs-nango.md)\n- [Arcade.dev vs Scalekit AgentKit](https://www.anchorterminal.com/compare/arcade-vs-scalekit-agentkit.md)\n- [Arcade.dev vs Stytch Connected Apps](https://www.anchorterminal.com/compare/arcade-vs-stytch-connected-apps.md)\n- [Arcade.dev vs WorkOS Pipes and Agents](https://www.anchorterminal.com/compare/arcade-vs-workos-pipes.md)\n- [Auth0 for AI Agents (Token Vault) vs Vercel Connect](https://www.anchorterminal.com/compare/auth0-ai-agents-vs-vercel-connect.md)\n- [Descope Agentic Identity Hub vs Vercel Connect](https://www.anchorterminal.com/compare/descope-agentic-identity-vs-vercel-connect.md)\n- [Keycard vs Vercel Connect](https://www.anchorterminal.com/compare/keycard-vs-vercel-connect.md)\n- [Microsoft Entra Agent ID vs Vercel Connect](https://www.anchorterminal.com/compare/microsoft-entra-agent-id-vs-vercel-connect.md)\n- [Nango vs Vercel Connect](https://www.anchorterminal.com/compare/nango-vs-vercel-connect.md)\n- [Scalekit AgentKit vs Vercel Connect](https://www.anchorterminal.com/compare/scalekit-agentkit-vs-vercel-connect.md)\n- [Stytch Connected Apps vs Vercel Connect](https://www.anchorterminal.com/compare/stytch-connected-apps-vs-vercel-connect.md)\n- [Vercel Connect vs WorkOS Pipes and Agents](https://www.anchorterminal.com/compare/vercel-connect-vs-workos-pipes.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Arcade.dev vs Vercel Connect",
        "url": ""
      }
    ],
    "description": "Vercel Connect scores 68.8 (B) on agent readiness against Arcade.dev's 66.9 (B), and leads in 4 of 7 scored categories. Both do auth oauth. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Arcade.dev B 66.9",
      "Vercel Connect B 68.8",
      "scores"
    ],
    "h1": "Arcade.dev vs Vercel Connect",
    "image": "https://www.anchorterminal.com/assets/og/compare-arcade-vs-vercel-connect.png",
    "path": "/compare/arcade-vs-vercel-connect",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Arcade.dev vs Vercel Connect for AI agents, B 66.9 vs B 68.8",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/arcade-vs-vercel-connect"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 630
  },
  "version": 1
}
