
AI Summary
→ WHAT IT COVERS Justin Spah Summers and David Soria Parra, creators of Model Context Protocol at Anthropic, reveal the origin story of MCP from July 2024 frustrations with copying data between Claude Desktop and IDEs. They explain design decisions inspired by Language Server Protocol, the m-times-n integration problem, and why MCP differentiates tools, resources, and prompts as distinct primitives for AI applications. → KEY INSIGHTS - **Protocol Design Philosophy:** MCP solves the m-times-n problem where multiple AI applications need multiple integrations by creating a universal connector layer. The team deliberately borrowed from Language Server Protocol while studying LSP criticisms to avoid mistakes, choosing JSON RPC for non-controversial transport while innovating on primitives like tools, resources, and prompts that manifest differently in applications based on presentation needs rather than semantic differences. - **Three Core Primitives:** Tools execute model-initiated actions, resources provide user or application-controlled context data that can populate attachment menus or enable RAG indexing, and prompts deliver user-substituted text like slash commands. This separation allows application developers to create differentiated experiences rather than treating everything as tool calling. The first implementation focused on prompts, not tools, enabling users to pull Sentry backtraces into context windows before model interaction. - **Development Timeline and Approach:** The protocol went from initial concept to launch in approximately four months, from July to November 2024. The team spent months building unrewarding groundwork across TypeScript, Python, and Rust SDKs before the internal hackathon one month before release generated excitement with projects like three-d printer control. Early alpha versions appeared in Zed editor repositories six weeks before official announcement for those monitoring open source activity. - **Stateful vs Stateless Evolution:** The recent shift from SSE-only to streamable HTTP transport addresses operational complexity while maintaining statefulness for future AI interactions. The new design allows gradual enhancement from plain HTTP POST endpoints to streaming results to bidirectional requests, with session resumption enabling horizontal scaling and spotty network handling. This balances the belief that AI applications will become inherently more stateful with practical deployment requirements at scale. - **Tool Capacity and Filtering:** Claude handles approximately 250 tools reliably, though actual limits depend on tool description overlap and naming clarity. Having GitLab and GitHub servers simultaneously creates more confusion than 250 distinct tools. Applications should implement filtering mechanisms, potentially using smaller models to select relevant tools before passing to larger models, or expose user controls to activate specific tool subsets contextually rather than maintaining always-on access to everything. - **Authorization and Remote Servers:** The next protocol revision includes OAuth 2.1 authorization for user-to-server authentication, critical for the anticipated shift from local to predominantly remote MCP servers. Local stdio transport can handle authorization through browser popups, while remote deployments require proper OAuth flows. The team maintains minimal specifications, only adding features proven through practical pain points rather than overdesigning upfront, with extensibility allowing prototyping before protocol inclusion. → NOTABLE MOMENT The protocol emerged from pure developer frustration when David Soria Parra, three months into his Anthropic role working on internal tooling, grew annoyed constantly copying content between Claude Desktop's artifacts feature and his IDE. This personal pain point, combined with concurrent work on an LSP-related project, sparked the realization that a protocol could solve the integration problem, leading to the room conversation with Justin that launched MCP development. 💼 SPONSORS None detected 🏷️ Model Context Protocol, AI Application Integration, Protocol Design, Developer Tools, Language Server Protocol, Agent Standards