What Is MCP?
The Model Context Protocol — what it is, why Anthropic built it, and how it differs from pure LLM inference and true multi-agent systems.
MCP stands for Model Context Protocol. It's an open standard released by Anthropic in 2024 that gives language models a standardized way to interact with tools, data sources, and capabilities outside their training data.
What struck me when I first encountered it: before MCP, every AI integration was bespoke — you'd write custom code to call your API, format the response, and pipe it back to the model. MCP defines a single protocol so any compatible model can talk to any compatible server, without glue code. That's the whole idea, and it's deceptively powerful once you start building with it.
The LLM Problem MCP Solves
Here's what I kept running into before I started using MCP — language models have two fundamental limitations that make them frustrating for real work:
- Knowledge cutoff — it only knows what was in its training data. It can't tell you today's weather, your database schema, or what's in a private file.
- Inconsistency — left to its own devices, an LLM might handle a task differently each time. Ask it to "clean up the database schema" and it might decide that dropping the table is the cleanest fix.
MCP addresses both. You expose deterministic capabilities through an MCP server — your code runs predictably, every time. The LLM decides when to call the tool. Your code decides what happens.
The Architecture
Host application (Claude Desktop, Cursor, VS Code)
└─ MCP Client
├─ Your MCP Server ←── tools, resources, prompts you define
└─ Pre-built MCP Server ←── filesystem, GitHub, databases, etc.The host is the application the user interacts with. It contains an MCP client that manages connections to one or more MCP servers. Each server exposes a set of primitives:
- Tools — functions the LLM can call (e.g.,
get_weather,create_issue) - Resources — static context the user pushes to the LLM (e.g., a database schema, a file)
- Prompts — canned instruction templates with parameters
What MCP Is Not
MCP is not a true "agent" framework — that's something I had to get straight early on. A real agent system is a network of multiple specialized LLMs — a planner, a designer, an engineer, a judge — all working on the same problem and handing results to each other. Tools like Replit implement this pattern. MCP is simpler: one LLM, augmented with deterministic tools.
That distinction matters because MCP gives you predictability. The LLM calls your tool, your code runs, your code returns a result. No surprises.
Responsibility
Something I feel strongly about: when you use MCP tools — or any AI-generated code — the output is still yours to own. "My agent wrote that" is not a professional excuse. The best engineers take personal accountability for everything they ship, regardless of origin.
For low-stakes utilities, a quick scan is fine. For critical paths — auth, billing, data mutations — give it real review.
ExpandMCP Architecture — Host, MCP Client, Your Server, and External Services
What's Next
The rest of this series covers the full MCP surface area: building tools, resources, and prompts; integrating with Claude Desktop; connecting to real APIs; handling transports for remote servers; and the security risks you need to understand before using any server you didn't write yourself.
Further Reading
Keep reading
Enjoyed this? Get more like it.
Deep dives on system design, React, web development, and personal finance — straight to your inbox. Free, always.