Creativity · MCP — pattern

Deploying Remote MCP Servers (HTTP/SSE)

MCP supports two transports: stdio (local child process) and HTTP-based (either Server-Sent Events or streamable HTTP). Remote MCP servers run as normal web services behind an HTTPS URL — any team member can connect to them without installing anything locally. This guide covers the transport choice, OAuth 2.1 authentication (the MCP-preferred flow), deployment targets (Cloudflare Workers, Vercel, Cloud Run, Render, Fly.io, ECS), and how to attach a remote server to Claude Desktop.

MCP facts

Kind
pattern
Ecosystem
anthropic-mcp
Transports
http, sse

Capabilities

  • Streamable HTTP transport supersedes plain SSE in 2025+ spec
  • OAuth 2.1 with dynamic client registration for multi-tenant servers
  • TLS termination at the load balancer; server handles bearer-token validation

Configuration

// Claude Desktop custom connector (hosted MCP)
{
  "mcpServers": {
    "my-hosted-server": {
      "url": "https://mcp.example.com",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer ${MY_MCP_TOKEN}"
      }
    }
  }
}

Frequently asked questions

SSE or streamable HTTP — which should I pick?

Streamable HTTP is the current recommended transport (introduced in the 2025-03 spec revision). SSE is still supported for backward compatibility but newer servers and clients target streamable HTTP.

How do I authenticate a remote MCP server?

The MCP spec defines an OAuth 2.1 flow with dynamic client registration (RFC 7591). Clients like Claude Desktop discover the auth endpoints via the server's well-known metadata and perform an OAuth code exchange before opening the MCP session.

Where can I host it?

Anywhere that serves long-lived HTTP connections — Cloudflare Workers (has a native MCP template), Vercel, Google Cloud Run, AWS ECS/Fargate, Fly.io, Render, Railway. Avoid serverless runtimes with short timeouts if your tools are long-running.

Sources

  1. MCP transports — accessed 2026-04-20
  2. MCP authorization spec — accessed 2026-04-20