github
Atlas/Guides/Foundations/What is the Model Context Protocol?
Foundations·Beginner·6 min read

What is the Model Context Protocol?

A short, plain-language introduction to MCP — what it is, why it exists, and how it relates to tools, agents, and context windows.

The Model Context Protocol (MCP) is an open specification for connecting language models to the tools and data they need to be useful. It defines a small wire protocol — a vocabulary of messages — that a client (like a desktop app or an editor) and a server (a small program that exposes a capability) can use to talk to each other.

If you've used a model that can read your files, query a database, or click around a browser, there was almost certainly an MCP server doing the actual work behind the scenes.

Why it exists

Before MCP, every tool integration was bespoke. Each model vendor reinvented the same plumbing: how do you describe a tool, how do you invoke it, how do you stream results back? MCP fixes that by drawing a stable line between the model and the tool. Anyone can write a server; any compliant client can use it.

The three roles

  • Host — the application a person actually uses (Claude Desktop, Cline, a custom agent).
  • Client — the part of the host that speaks MCP to one or more servers.
  • Server — a small program that exposes tools, resources, or prompts.

What lives on a server

Servers expose three kinds of things: tools (callable functions, like query_database), resources (read-only context, like file contents), and prompts (reusable templates the user can pick from). Most servers focus on tools — that's where the action is.

Where to go from here

If you want to install your first server, jump to "Installing an MCP server in Claude Desktop." If you're trying to understand the registry landscape, see "How registries and marketplaces fit together."