What is Streamable HTTP in MCP?

Streamable HTTP is the current standard transport for the Model Context Protocol (MCP). It replaced the older HTTP + SSE transport, and it is what modern clients like Claude and Cursor use to talk to an MCP server.

The short version

An MCP server exposes a single HTTP endpoint. A client POSTs JSON-RPC messages to it — initialize, tools/list, tools/call — and the server responds, either with a plain JSON response or by upgrading to a Server-Sent Events (SSE) stream for long-running requests.

The four messages that matter

MethodPurpose
initializeHandshake — agree on protocol version and capabilities
tools/listDiscover which tools the server exposes
tools/callInvoke a tool with arguments
pingKeep-alive / liveness check

How to test a Streamable HTTP endpoint with curl

You can verify any MCP server by hand. First the handshake:

curl -X POST https://mcp.xn--5kvtwv52d.com/mcp/gateway \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}'

Then list the tools:

curl -X POST https://mcp.xn--5kvtwv52d.com/mcp/gateway \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

Why it matters for your setup

If you build or host an MCP server, you want Streamable HTTP because it is what current clients expect, and it works cleanly behind proxies and through serverless functions. A hosted MCP gateway gives you a ready-made Streamable HTTP endpoint — so you don't have to implement the transport yourself.

Best MCP gateway · Host an API as MCP · Cross-agent settlement