Cloudflare vs Vercel vs AgentCore: Best Place to Host MCP Servers

Cloudflare Workers, Vercel, and AgentCore Runtime compared for remote MCP servers on auth, state, long calls, scale, and cost, checked October 19, 2026.

Last updated October 19, 2026. Limits, quotas, and prices were checked against Cloudflare, Vercel, and AWS documentation and pricing pages on that date. Enterprise contracts can differ.

Cloudflare vs Vercel vs AgentCore comes down to who calls your MCP server and where its data lives. Cloudflare Workers fits public, global, stateless servers with many users. Vercel fits a server that ships inside a Next.js app. Amazon Bedrock AgentCore Runtime fits tools that touch AWS data or need an isolated session per user.

None of the three handles every case. A tool that must answer synchronously after more than 15 minutes outgrows Vercel Pro and AgentCore Runtime, and Vercel Hobby is limited to personal, non-commercial use. Each section below gives the deciding limit, its source, and the date we checked it, October 19, 2026.

A remote Model Context Protocol (MCP) server is a service that exposes tools to agents and clients such as Claude, ChatGPT, and Cursor over Streamable HTTP. New to the protocol? Start with MCP explained. No vendor paid for placement, per our editorial standards and disclosure policy.

TL;DR

  • Cloudflare Workers: best for public, stateless servers. Workers Paid costs $5 per month with 10 million requests and 30 million CPU milliseconds included, and HTTP requests have no wall-clock limit.
  • Vercel: best when the MCP route lives in a Next.js app. Pro is $20 per month with a $20 usage credit, and functions run up to 800 seconds.
  • AgentCore Runtime: best for AWS data and per-user isolation. Each session gets its own microVM for up to 8 hours, with inbound JSON Web Token (JWT) auth.
  • Auth: Cloudflare can issue OAuth tokens itself, AgentCore validates tokens from Cognito or Auth0, and Vercel only verifies tokens from an authorization server you run.
  • Cost at 1 million short calls a month: about $5 on Cloudflare, $20 on Vercel Pro, and roughly $29 on AgentCore under our session assumptions.
  • Long calls: AgentCore caps synchronous requests at 15 minutes, Vercel Pro at 800 seconds, and Cloudflare caps CPU time at 5 minutes per request.

How We Compared Cloudflare, Vercel, and AgentCore

We compared the three platforms on the jobs that break remote MCP servers in production: authentication, session state, long tool calls, cost, scale, and private network access. Every limit and price comes from first-party documentation or pricing pages checked October 19, 2026, and none of the three vendors reviewed this article before publication.

  • Same server, three hosts: we read each vendor’s official remote MCP guide and noted the entry point, transport, and auth helper it documents.
  • Hard limits over marketing: request timeouts, memory, payload caps, and default quotas come from limits and quota pages, not product pages.
  • Costs as list-price math: we priced two traffic levels with stated assumptions so you can rerun the numbers for your own workload.
  • 2026-07-28 spec fit: we checked how each platform handles the stateless MCP revision released on July 28, 2026.
Decision guide showing when to host an MCP server on Cloudflare Workers, Vercel, or Amazon Bedrock AgentCore Runtime
When each platform fits a remote MCP server, with the limit that usually decides the choice, based on vendor documentation checked October 19, 2026. Image: AgentStack.

Cloudflare vs Vercel vs AgentCore at a Glance

Cloudflare Workers runs MCP servers as stateless isolates across its global network, Vercel runs them as Fluid compute functions in one region by default, and AgentCore Runtime gives each session a dedicated microVM inside an AWS Region. That one design choice explains most differences in auth, limits, and cost in the table below.

Decision kernel: Choose Cloudflare Workers when the server is public, stateless, and called by many users in many regions, because isolates bill CPU time and nothing for idle wall time. Choose Vercel when the MCP route belongs to an existing Next.js app, because it deploys with the app and shares its previews and rollbacks. Choose AgentCore Runtime when tools read AWS data or each user needs an isolated environment. None of the three suits a tool that must hold one synchronous request open longer than 15 minutes without a streaming or job pattern.

Factor (Oct 19, 2026)Cloudflare WorkersVercel FunctionsAgentCore Runtime
Compute modelV8 isolates on Cloudflare’s global networkFluid compute, single region by default (iad1)Dedicated microVM per session in one AWS Region
MCP starting pointcreateMcpHandler() in the Agents SDKmcp-handler 2.1.1 route in Next.jsMCP server container at 0.0.0.0:8000/mcp
Languages in the MCP guideTypeScript, JavaScriptTypeScript, JavaScript (Node.js 20+)Python guide; any container
Inbound authOAuth provider library or Cloudflare AccessVerifies tokens; you supply the authorization serverCUSTOM_JWT authorizer (Cognito, Auth0)
Session stateStateless handler; McpAgent deprecatedStateless; v2 dropped Redis configStateless or stateful mode
Longest synchronous requestNo wall-clock limit; CPU up to 5 min300s default, 800s Pro, 1,800s beta15 minutes; streaming up to 60 min
Memory128 MB per isolate2 GB default, 4 GB max on ProUp to 2 vCPU and 8 GB per session
Request body cap100 MB on Free and Pro zones4.5 MB100 MB
Private network accessWorkers VPC (beta) over Cloudflare TunnelSecure Compute (Enterprise) or Static IPsVPC mode through network interfaces in your subnets
Entry priceFree 100K requests/day; Paid $5/moHobby $0 (non-commercial); Pro $20/moPay per use; up to $200 Free Tier credits
Head-to-head comparison of Cloudflare Workers, Vercel Functions, and Amazon Bedrock AgentCore Runtime for remote MCP servers, from vendor documentation and pricing pages checked October 19, 2026.

Verdict: Cloudflare wins on cost and global reach for stateless public servers, Vercel wins on developer workflow for Next.js teams, and AgentCore wins on isolation and AWS integration. The weakest cells matter most: 128 MB of memory on Workers, a 4.5 MB body cap on Vercel, and a 25 sessions per second creation quota on AgentCore.

Which Platform Handles MCP Authentication Best?

Cloudflare handles MCP authentication most completely, because its OAuth provider library can issue tokens and run the authorization endpoints inside the Worker. AgentCore validates JSON Web Tokens from an identity provider you configure, such as Amazon Cognito or Auth0. Vercel verifies bearer tokens and publishes metadata, but you must run the authorization server elsewhere.

Cloudflare: issue tokens in the Worker or put Access in front

The Cloudflare remote MCP guide wraps the server in an OAuthProvider with /authorize, /token, and /register endpoints, using GitHub, Google, Slack, Auth0, WorkOS, or another OAuth 2.0 provider for sign-in. The workers-oauth-provider library stores grants in Workers KV. Teams that already use Cloudflare Access can require Access policies instead, including identity provider, IP, and device checks.

Vercel: verify tokens and publish protected resource metadata

Vercel documents withMcpAuth for verifying bearer tokens and protectedResourceHandler for the /.well-known/oauth-protected-resource endpoint. The mcp-handler package does not issue tokens or run an authorization server. Per the Vercel MCP deployment docs, requests without a valid token get 401, and a valid token that lacks a required scope gets 403.

Vercel documentation explaining that mcp-handler verifies bearer tokens but does not issue tokens for MCP servers
Vercel’s MCP authorization section states that mcp-handler verifies tokens and publishes metadata but does not run an authorization server, captured October 19, 2026. Image: Vercel.

AgentCore: JWT authorizer at the AWS endpoint

AgentCore scaffolds a CUSTOM_JWT authorizer from an OpenID Connect discovery URL and a list of allowed clients. When a request arrives without a bearer token, the AgentCore MCP guide says the service returns 401 with a WWW-Authenticate header that points clients to protected resource metadata. Clients call an AWS endpoint that embeds the URL-encoded runtime Amazon Resource Name (ARN).

Verdict: Pick Cloudflare when you want one deployable unit that handles sign-in, tokens, and tools. Pick AgentCore when Cognito, Auth0, or another OpenID Connect provider already issues your tokens. Pick Vercel only when an authorization server already exists, because building one is the largest hidden task on that platform. For gateway-level policy across many servers, compare MCP gateways.

How Do Stateless and Stateful MCP Servers Differ on Each Platform?

All three platforms now default to stateless MCP servers, which matches the 2026-07-28 specification that removed protocol sessions and the Mcp-Session-Id header. AgentCore is the only one of the three that still documents a stateful mode, keeping session state inside one microVM for features such as elicitation, sampling, and progress notifications.

Per the specification changelog, servers that need cross-call state now pass explicit, server-minted handles as tool arguments. The same release deprecates the Sampling feature and replaces server-initiated elicitation requests with a Multi Round-Trip Requests pattern, where the client retries the original call with the requested input.

Cloudflare moved new servers off Durable Object sessions

Cloudflare’s guide recommends createMcpHandler() for new stateless tools and marks McpAgent, the Durable Object based class, as deprecated. The quick-deploy templates still use the deprecated path, so start from the stateless example instead. Durable Objects remain a sound place for application state you address by handle.

Cloudflare Agents docs table comparing createMcpHandler, createLegacyMcpHandler, McpAgent, and raw SDK transport
Cloudflare’s approach table recommends createMcpHandler for new stateless MCP servers and lists McpAgent as deprecated, captured October 19, 2026. Image: Cloudflare.

Vercel removed Redis and SSE from mcp-handler v2

Version 2 of mcp-handler builds on @modelcontextprotocol/server v2 and removes the legacy HTTP plus SSE transport and its Redis configuration. A Vercel MCP route is therefore a plain stateless function, and any state belongs in an external store such as a database or cache from the Vercel Marketplace.

AgentCore still offers stateful sessions

AgentCore recommends stateless_http=True for basic servers and stateless_http=False for servers that use elicitation, sampling, or progress notifications. AgentCore stateful mode serves clients on older MCP revisions, since the 2026-07-28 spec deprecates Sampling and redesigns elicitation. The guide we read on October 19, 2026, still describes the platform adding an Mcp-Session-Id header for routing.

AWS documentation describing stateless and stateful streamable HTTP MCP servers on Amazon Bedrock AgentCore Runtime
AWS’s AgentCore MCP guide describes the 0.0.0.0:8000/mcp contract and the stateless and stateful server modes, captured October 19, 2026. Image: Amazon Web Services.

Verdict: build new servers stateless on any of the three, and keep cross-call data behind explicit handles in an external store. Choose AgentCore stateful mode only when you must serve clients that still depend on server-initiated sampling or elicitation, and plan to retire it as those clients upgrade.

Which Platform Runs Long MCP Tool Calls?

AgentCore Runtime runs the longest MCP tool calls with full isolation: synchronous requests last up to 15 minutes, streaming connections up to 60 minutes, and asynchronous jobs up to 8 hours. Cloudflare has no wall-clock limit on HTTP requests but caps CPU at 5 minutes. Vercel Pro stops a function at 800 seconds unless you join the 1,800 second beta.

Limit (Oct 19, 2026)Cloudflare Workers PaidVercel ProAgentCore Runtime
Synchronous requestNo wall-clock limit while the client stays connected800s max (300s default)15 minutes
CPU per request30s default, 5 min maxBounded by durationBounded by session hardware
Streams and background workDurable Objects and Workflows steps have no wall limitVercel Workflows for longer runsStreaming 60 min; async jobs 8 hours
Session lifetimeNot applicable (stateless isolates)Not applicable (stateless functions)15 min idle default; 8 hour max
Interruptions to plan forRuntime updates give requests 20 min to finish504 at the duration limit409 retry while a session starts or stops
Long-call limits for MCP tools on each platform, from Cloudflare Workers limits, Vercel Functions limits, and AgentCore quota and session documentation checked October 19, 2026.

Verdict: For any tool that can run past five minutes, return a job handle and let the client poll, whichever platform you choose. The 2026-07-28 spec moves tasks into an official extension that polls with tasks/get, and the same release removes SSE stream resumability, so a broken stream loses the in-flight request.

AWS documentation stating AgentCore Runtime sessions last up to 8 hours on microVMs or up to 14 days on Instances
AWS’s AgentCore session documentation lists sessions of up to 8 hours on microVMs and up to 14 days on Instances, captured October 19, 2026. Image: Amazon Web Services.

Each platform exposes the deciding limit as configuration. The snippet uses values from the Cloudflare Workers limits, the Vercel Functions limits, the AgentCore quotas, and the AgentCore session guide.

// Cloudflare Workers: wrangler.jsonc, raise the CPU limit to 5 minutes
{ "limits": { "cpu_ms": 300000 } }

// Vercel: app/api/mcp/route.ts, Pro maximum without the beta
export const maxDuration = 800;

# AgentCore Runtime (boto3): idle timeout and max lifetime in seconds
lifecycleConfiguration={"idleRuntimeSessionTimeout": 300, "maxLifetime": 28800}

What Does Each Platform Cost for MCP Traffic?

For short MCP tool calls, Cloudflare Workers costs the least, Vercel Pro sits at its $20 monthly fee until usage passes the included credit, and AgentCore Runtime costs the most because it bills memory for the life of each session. The gap narrows when tools are CPU heavy or sessions are short.

Cloudflare Workers pricing table showing 10 million included requests and 30 million CPU milliseconds on the Standard plan
Cloudflare Workers Standard pricing: 10 million requests and 30 million CPU milliseconds included, with no charge for duration, captured October 19, 2026. Image: Cloudflare.

The table assumes each tool call uses 20 ms of CPU and stays open for 400 ms while it waits on an API. On Vercel we priced the default 2 GB function in iad1 with no instance sharing, which overstates memory. On AgentCore we assumed 10 calls per session and 0.5 GB billed for two minutes per session. Rates come from Cloudflare Workers pricing, Vercel Fluid compute pricing, and AgentCore pricing.

Monthly list cost (Oct 19, 2026)1M tool calls10M tool callsWhat drives the bill
Cloudflare Workers Paid$5.00 (inside included usage)$8.40 ($5 + $3.40 CPU)Requests and CPU milliseconds; no duration charge
Vercel Pro (iad1)$20.00 ($3.67 usage inside credit)About $36.70Provisioned memory, then Active CPU and $0.60 per 1M invocations
AgentCore Runtime v2About $28.90About $289GB-hours across each session at $0.0169, CPU at $0.1276 per vCPU-hour
Our list-price estimates from Cloudflare Workers pricing, Vercel Fluid compute pricing, and AgentCore pricing pages checked October 19, 2026. Excludes databases, logs, egress, and taxes.

Verdict: Memory time drives the AgentCore bill, so session length matters more than call count. Shortening the idle timeout or batching calls into fewer sessions moves the AgentCore figure the most. Vercel costs vary by region, with Active CPU at $0.128 per hour in iad1 and $0.221 in São Paulo.

Vercel Fluid compute regional pricing table listing Active CPU and provisioned memory rates per region
Vercel’s Fluid compute regional pricing table, with Active CPU and provisioned memory rates that change by region, captured October 19, 2026. Image: Vercel.

Which Platform Scales and Reaches Private Data?

Cloudflare scales furthest by default, with no general limit on requests per second. Vercel auto-scales to 30,000 concurrent executions on Hobby and Pro. AgentCore starts at 5,000 active sessions in US East (N. Virginia) and US West (Oregon), 2,500 elsewhere, and 25 new sessions per second, all adjustable through Service Quotas.

  • Cloudflare: Workers VPC reaches private APIs and databases through an outbound Cloudflare Tunnel with no public IP. It is in beta and free on all Workers plans as of October 19, 2026.
  • Vercel: Static IPs cost $100 per project per month on Pro, and Secure Compute plus running Vercel compute in your own AWS account are Enterprise options, per the Vercel pricing page.
  • AgentCore: VPC mode places elastic network interfaces in your subnets, so tools reach Amazon RDS, internal APIs, and file systems without leaving AWS.

A public MCP server that onboards many users at once can hit the AgentCore session creation quota before any CPU limit. Request the quota increase before launch, or front the server with a gateway. Our Kong vs AWS AgentCore vs Docker comparison covers the AgentCore Gateway side of that design.

Who Should Choose Cloudflare, Vercel, or AgentCore?

The right choice follows the team that owns the server and the data its tools touch. Use the three profiles below as starting points, and treat the disqualifiers as hard stops, because each one names a limit that the platform cannot configure away as of October 19, 2026.

Choose Cloudflare Workers if

  • You ship a public MCP server to many users in many regions and want near-zero idle cost.
  • You want sign-in, token issuance, and tools in one Worker.
  • Skip it when: a tool needs more than 128 MB of memory or a library that only runs on full Node.js or Python.

Choose Vercel if

  • The MCP route belongs to a Next.js app that already deploys on Vercel, with previews, rollbacks, and rolling releases.
  • An authorization server such as Auth0, Clerk, or WorkOS already issues your tokens.
  • Skip it when: payloads exceed 4.5 MB, the project is commercial and on Hobby, or tools need private network access without an Enterprise plan.

Choose AgentCore Runtime if

  • Tools read AWS data, run inside a VPC, or need a separate microVM per user session.
  • You must serve older MCP clients that rely on stateful features such as elicitation.
  • Skip it when: you need a cheap public endpoint for thousands of anonymous users, or your tools are SaaS connectors better bought from Composio, Arcade, or Nango.

How Do You Move an MCP Server Between These Platforms?

Moving an MCP server between Cloudflare, Vercel, and AgentCore is straightforward when tool logic stays separate from the transport and auth wrappers. The protocol is the same Streamable HTTP everywhere, so most migration work sits in auth configuration, state storage, and the deploy pipeline. Keep these four habits from day one.

  1. Write each tool as a plain function with typed inputs, then register it in a thin platform adapter.
  2. Keep cross-call state in an external store addressed by explicit handles, as the 2026-07-28 spec expects.
  3. Publish protected resource metadata and validate standard bearer tokens, so clients see the same OAuth flow on any host.
  4. Test with MCP Inspector against each candidate host before migrating clients, and review tool safety with the ToFu MCP bug study.

If you would rather not host connectors at all, our Composio alternatives guide and AI agent integration platforms roundup cover managed options. Questions about your own setup are welcome through our contact page.

Frequently Asked Questions

Can I use Vercel Hobby for a production MCP server?

No, not for a commercial product. Vercel describes Hobby as a plan for personal, non-commercial use, and Hobby functions stop at 300 seconds with no option to extend. Move to Pro at $20 per month for commercial traffic, longer durations up to 800 seconds, and usage billed beyond the included credit.

Can Claude or Cursor connect to an MCP server on AgentCore Runtime?

Yes, through the AgentCore HTTPS endpoint. Clients call a regional bedrock-agentcore URL that embeds the URL-encoded runtime ARN and send a bearer token. When the token is missing, AgentCore returns 401 with protected resource metadata, so OAuth-capable clients can discover your authorization server and sign the user in.

Do I still need Durable Objects for an MCP server on Cloudflare?

Not for new servers. Cloudflare recommends the stateless createMcpHandler for new tools and marks the Durable Object based McpAgent as deprecated. Use Durable Objects, D1, or KV only for application data your tools address by explicit handle, such as a shopping cart or a long-running job record.

What happens when an MCP tool call hits the platform limit?

Each platform ends the request with an error. Cloudflare returns Error 1102 when a Worker exceeds its CPU limit, Vercel returns 504 FUNCTION_INVOCATION_TIMEOUT at the maximum duration, and AgentCore ends synchronous requests at 15 minutes. Return a job handle for slow tools so clients can poll for the result instead.

Is AgentCore Gateway the same as AgentCore Runtime?

No, they solve different problems. AgentCore Runtime hosts your own MCP server code in isolated microVM sessions. AgentCore Gateway turns existing APIs and AWS Lambda functions into MCP tools without server code, priced at $0.005 per 1,000 tool invocations as of October 19, 2026. Many AWS teams use both together.

For the wider field, our MCP hosting platforms guide ranks eight hosts, including Google Cloud Run, Azure Functions, FastMCP Gateway, Alpic, and Render, alongside these three.

Read MCP explained, MCP servers for enterprise teams, MCP gateways, Kong vs AWS AgentCore vs Docker, Red Hat MCP Gateway GA, AI agent integration platforms, Composio vs Arcade vs Nango, Composio alternatives, the ToFu MCP bug study, the agent protocols hub, and the MCP topic page. Notes on how we work sit on editorial standards, disclosure, and contact.

The Bottom Line

Cloudflare Workers is the default for public, stateless MCP servers, Vercel is the default when the server ships inside a Next.js app, and AgentCore Runtime is the default when tools live next to AWS data. Choose by auth model and longest tool call first, then compare the bill.

Deploy one real tool on your top two candidates, connect from two MCP clients, and time your slowest call against the limits above before you commit. Send corrections or platform updates through our contact page.