Before MCP, integrating an AI assistant with external systems — databases, APIs, file systems, version control — required bespoke code for each combination of model and tool. MCP standardizes the interface: a compliant tool (an MCP server) exposes a set of named operations; a compliant model client discovers and calls those operations using a defined protocol over stdio or HTTP.
MCP enables tool reuse across model providers. An MCP server built for Claude can, in principle, be used by any MCP-compatible client. This shifts the integration burden from N-times-M pairings to N plus M: each tool implements MCP once, and each model client implements MCP once.
The protocol handles tool discovery (listing available tools and their schemas), tool invocation (calling a tool with typed arguments), and result streaming (returning results incrementally for long-running operations). It also defines resource references (pointers to external data the model can read) and prompt templates.