What is an MCP server? (And what it costs in context)
An MCP server is a program that exposes tools, resources and prompts to an LLM client over JSON-RPC. Since protocol version 2026-07-28 it is stateless: no handshake, no session id, so a remote one is an ordinary HTTP endpoint. Connecting it is easy. Paying for its tool definitions in context is the part teams underestimate.
What an MCP server exposes
An MCP server is a program that hands context to an LLM client over JSON-RPC 2.0. It exposes three primitives: tools the model can call, resources it can read, and prompts it can pull as templates. The official filesystem server ships read_file, list_directory and create_directory. A host such as Claude Code or VS Code opens one client per server, so a single GitHub server works across all of them with no per-client glue.
The protocol went stateless
Version 2026-07-28 deleted the initialize handshake and the Mcp-Session-Id header. A client calls server/discover for capabilities, then tools/list and tools/call, carrying the protocol version and its own capabilities in _meta on every request. Streamable HTTP calls now require Mcp-Method and Mcp-Name headers so a gateway can route and rate-limit without parsing the body. Remote servers are ordinary HTTP workloads. sampling, logging and roots are deprecated on a 12-month clock.
Where the real cost sits
Connecting a server is the easy half. Anthropic's write-up on code execution with MCP prices one Drive-to-Salesforce flow at 150,000 tokens as direct tool calls versus 2,000 through generated code, because every connected server's tool definitions and every intermediate result pass through context. Servers routinely ship 20 to 50 tools. Cache the tools/list response using the ttlMs hint servers return, and connect two or three focused servers instead of everything in a registry. If an agent already has a working tool layer, MCP buys portability, not new capability.
Last updated: May 20, 2026