MCP Servers: Understanding the Model Context Protocol
Posted on June 3, 2026 • 6 min read • 1,137 wordsThe Model Context Protocol (MCP) is an open standard that connects language models to tools and data. This first article explains, in plain terms, what an MCP server is, its architecture, and why it's a game changer for AI agents.

Language models are brilliant at reasoning over text, but by nature they are cut off from the world. A model cannot read your files, query your database, or call an API unless it is explicitly given the means to do so. The Model Context Protocol (MCP) is the standard that solves this problem in a generic way. This first article lays the groundwork; the next ones will dive into building a server and integrating it into an ecosystem.
A language model, on its own, can do only one thing: produce text from text. As soon as you want it to perform a useful action — check a calendar, read a Git repository, send a message — you have to plug an external tool into it.
Historically, every application reinvented this plumbing. To connect M models to N tools, you ended up writing M × N custom integrations: one for Claude + GitHub, another for a different model + GitHub, yet another for Claude + Slack, and so on. Each connection had its own format, its own authentication, its own logic. That work was costly, fragile, and impossible to share.
MCP’s idea is to replace this M × N with an M + N: a common protocol that every model speaks on one side and every tool exposes on the other.
The Model Context Protocol is an open standard, released by Anthropic in late 2024, that defines how an AI application communicates with external data sources and tools.
Concretely, MCP standardizes three things:
Because it is an open standard, anyone can write an MCP server, and it will work with any compatible client — without any prior agreement between the two sides.
MCP is built on three clearly distinct roles:
┌─────────────────────────────┐
│ HOST │ (Claude Desktop, IDE, Claude Code…)
│ ┌─────────┐ ┌─────────┐ │
│ │ Client A│ │ Client B│ │
│ └────┬────┘ └────┬────┘ │
└────────┼───────────┼────────┘
│ │
┌─────▼────┐ ┌───▼──────┐
│ Server │ │ Server │
│ GitHub │ │ Postgres │
└──────────┘ └──────────┘This separation is essential: the host knows nothing about a server’s internals, it only knows how to talk to it through the protocol. You can add, remove, or replace a server without touching the host.
An MCP server provides three types of primitives. This is the heart of the protocol:
| Primitive | Role | Controlled by |
|---|---|---|
| Tools | Functions the model can call to act (create a ticket, run a query). | The model |
| Resources | Read-only data that enriches the context (a file, a database row, a page). | The application |
| Prompts | Reusable request templates, triggered by the user (a typical workflow). | The user |
The most important distinction is between tools and resources. A tool does something and may have side effects; it’s the model that decides to invoke it. A resource only provides information; it is generally chosen by the application or the user. This separation helps reason about security: you know precisely what can change the state of the world.
Models already know how to call functions (function calling). So why an extra protocol?
Because raw function calling solves “how to call a function” but not “how to standardize and share these functions.” Without a standard, every team redefines its schemas, its authentication, and its transport. MCP provides the missing layer.
Anthropic sums MCP up with an analogy that has become famous: “a USB-C port for AI applications.” Before USB-C, every device had its own proprietary connector; you needed one cable per peripheral. USB-C imposed a universal plug. MCP plays the same role: a single connector between models and anything you want to plug into them.
The concrete benefits:
MCP comes into its own as soon as an assistant has to touch a real system:
In each of these cases, the business logic lives in the server, not in the model — which makes it testable, versionable, and reusable.
An ecosystem has quickly formed around MCP:
To get started, the simplest path is to connect an existing server to a compatible host and watch the model use it. The two next steps — building your own server and integrating it cleanly into an ecosystem (security, remote transports, best practices) — will be the subject of the upcoming articles in this series.
The Model Context Protocol does not invent the idea of giving tools to a model; it standardizes it. By turning a tangle of custom integrations (M × N) into a universal plug (M + N), MCP does for AI assistants what USB-C did for our devices: a common, open, reusable connector.
In this article, we laid the foundations: the problem it solves, the host/client/server architecture, the three primitives (tools, resources, prompts), and the value compared to a homemade integration. The next articles will move to practice by building a server end to end.