
This comparison is part of our MCP comparisons, within The MCP Guide. Facts are checked against each vendor's own documentation and pricing pages on the date shown.
Pick Cloudflare Workers if you want a full OAuth provider library on the same platform and cheap, always-on edge compute. Pick Vercel if your MCP server lives inside a Next.js app or you want preview deployments, rollbacks and rolling releases for it. Both now document stateless Streamable HTTP handlers, so either can host a modern remote MCP server.
Checked against: Cloudflare's MCP docs and Vercel's MCP deployment guide on 28 October 2026. eSEOspace did not test either product.
A remote MCP server is a web service that AI apps such as Claude, ChatGPT or Cursor connect to by URL. It uses the Streamable HTTP transport and usually OAuth for sign-in. Cloudflare and Vercel both offer serverless platforms and SDKs for this job. This page compares them on documented facts only.
Key Takeaways
- Both platforms ship a function named
createMcpHandlerthat serves Streamable HTTP; Cloudflare's lives in its Agents SDK, Vercel's in themcp-handlerpackage. - Neither handler supports the legacy HTTP+SSE transport anymore, according to each vendor's docs.
- Cloudflare's Workers OAuth Provider can act as your authorization server; Vercel's
mcp-handlerverifies tokens but "does not issue tokens or run an authorization server." - Cloudflare's paid plan starts at a $5 monthly minimum per account; Vercel Pro is $20 per month per developer seat.
- Vercel's Hobby plan is for "personal, non-commercial use," which matters for a business MCP server.
At a glance
| Cloudflare Workers | Vercel | |
|---|---|---|
| MCP server library | Agents SDK, createMcpHandler from agents/mcp/server | mcp-handler v2 with @modelcontextprotocol/server v2 |
| Older API | McpAgent (docs point to a migration guide) | mcp-handler 1.x (migration guide) |
| Transport | Streamable HTTP only | Streamable HTTP |
| Legacy HTTP+SSE | Not supported | Removed in mcp-handler v2 |
| State model | Stateless handler; store state in Durable Objects, D1, KV or R2 | Not documented beyond the stateless handler |
| OAuth | Workers OAuth Provider (authorization server) plus OAuthResourceServer | withMcpAuth token check plus protected resource metadata helper |
| Framework fit | Workers runtime | Next.js App Router (also Express and Nuxt guides) |
| Deployment extras | Deploy button, Git auto-deploy | Instant Rollback, preview deployments, Rolling Releases, Firewall |
| Free tier | 100,000 requests per day | Hobby, non-commercial only |
| Paid entry | $5 per month minimum per account | Pro, $20 per month per developer seat |
Where Cloudflare Workers is stronger
A complete auth stack. Cloudflare's remote MCP server guide shows the MCP server behind "an OAuth authorization server built with Workers OAuth Provider." Its /authorize page can sign users in "directly or through GitHub, Google, Cloudflare Access, or another identity provider." You do not need a separate auth vendor to get started, though you can use one.
Built-in state options. The transport page says "the stateless handler has no MCP session." For data that must last between requests, it tells you to use a Durable Object, D1, KV or R2, keyed by the authenticated user rather than a session ID. That lines up with the 2026-07-28 spec, which removed protocol sessions.
Scope-level authorization guidance. Cloudflare's MCP overview says to "give each operation its own scopes" and return an insufficientScope() challenge when a token lacks one.
Fast start. The guide offers a Deploy to Workers button and a CLI template. The result is an endpoint like https://remote-mcp-server-authless.your-account.workers.dev/mcp.
Low entry price. See Pricing below.
Where Vercel is stronger
Fits an existing Next.js app. The Vercel guide adds an MCP route to a Next.js App Router project with a few lines, and lists guides for Express and Nuxt. If your website already runs on Vercel, the MCP server can ship with it.
Release safety. Vercel lists Instant Rollback, preview deployments with Deployment Protection, the Vercel Firewall and Rolling Releases as features for MCP deployments. Rolling Releases let you "gradually roll out new MCP server deployments to a fraction of users."
Compute model for bursty traffic. Vercel says Fluid compute handles "long idle times, quick message bursts, heavy AI workloads" and that "you only pay for compute resources you actually use."
Standard OAuth metadata. mcp-handler includes a protectedResourceHandler for the /.well-known/oauth-protected-resource endpoint and a withMcpAuth wrapper that returns 401 without a valid token and 403 when a scope is missing. You bring your own authorization server, such as one from the auth vendors in our WorkOS vs Auth0 comparison.
Client integrations. The guide shows how to connect the server to agents built with the AI SDK, eve or TanStack AI.
Pricing
Prices below come from each vendor's pricing page on 28 October 2026. Both bill usage on top of base plans, so model your own traffic.
Cloudflare Workers (pricing page):
- Free: "100,000 per day" requests and "10 milliseconds of CPU time per invocation."
- Paid: "a minimum charge of $5 USD per month for an account," including 10 million requests per month (then $0.30 per million) and 30 million CPU milliseconds (then $0.02 per million CPU milliseconds).
- Durable Objects on Paid: 1 million requests per month included, then $0.15 per million.
Vercel (pricing page):
- Hobby: $0, for "personal, non-commercial use." It includes 4 hours of Fluid Active CPU, 360 GB-hours of provisioned memory and 1 million function invocations per month.
- Pro: $20 per month per developer seat, with a $20 included usage credit. Usage starts at $0.128 per Active CPU hour and $0.60 per million invocations.
- Enterprise: custom pricing.
For a commercial MCP server, the realistic entry points are Cloudflare's $5 Paid plan and Vercel Pro.
Security and admin controls
Cloudflare. OAuth is handled on-platform through OAuthResourceServer and getMcpAuthContext() for reading the signed-in user in tools. Note that the authless template "accepts any client," so do not ship it for private data. Cloudflare Access can sit in front as an identity provider.
Vercel. withMcpAuth with required: true blocks unauthenticated calls, and requiredScopes enforces scopes. Deployment Protection keeps preview servers private, and the Firewall filters traffic. The docs say production code should verify "issuer, audience, expiration, and granted scopes."
On both. Follow the spec's Streamable HTTP rules: validate the Origin header, require auth and never pass client tokens through to upstream APIs. Our MCP token passthrough guide explains why.
Spec version note. Neither vendor page we opened names MCP protocol version 2026-07-28. Cloudflare's transport page links to the 2025-06-18 and 2025-03-26 transport specs. Vercel's guide installs @modelcontextprotocol/server v2. Check each SDK's release notes for exact protocol support before you depend on a 2026-07-28 feature.
Which to choose
Pick Cloudflare Workers if:
- You want to run your own OAuth authorization server without another vendor.
- You need per-user state in Durable Objects or KV.
- You want a low monthly floor for a commercial server.
Pick Vercel if:
- Your site or app already runs on Next.js on Vercel.
- You want previews, instant rollback and gradual rollouts for server changes.
- You already have an identity provider and only need token checks and metadata.
Either works if you only need a small, stateless server with a few tools. In that case, pick the platform your team already deploys to.
Next step
Hosting is one decision in a remote server project, next to auth, tool design and security review. eSEOspace builds and deploys remote servers through our MCP development service. Read deploying a remote MCP server, or browse all MCP comparisons.
Frequently asked questions
Can I host an MCP server on Vercel's free plan?
For personal projects, yes. Vercel's pricing page says Hobby is for "personal, non-commercial use." A business MCP server would normally need Pro or Enterprise.
Does Cloudflare still support McpAgent?
Cloudflare's transport docs now build servers with createMcpHandler and describe McpAgent as the older approach. They point existing McpAgent servers to a migration guide and say the deprecated API is still documented in its reference.
Do Cloudflare and Vercel support SSE MCP servers?
Not in their current handlers. Cloudflare says createMcpHandler "serves Streamable HTTP only." Vercel says mcp-handler v2 "removes legacy HTTP+SSE transport and Redis configuration." See SSE vs Streamable HTTP.
Do Cloudflare and Vercel have their own MCP servers too?
Yes, separate from hosting. Both offer MCP servers for managing their own platforms. See our profiles of the Cloudflare MCP server and the Vercel MCP server.











