In One Sentence
MCP (Model Context Protocol) is an open protocol, introduced and open-sourced by Anthropic, that defines how AI applications talk to external tools and data sources. Build a tool once as an MCP server, and any MCP-capable AI app can use it.
The Problem It Solves
To be genuinely useful, a model needs to read your files, query your databases and reach your internal systems. Before MCP, every AI app wrote its own integrations: one GitHub plugin for a chat client, another for a coding assistant, a third for an agent framework.
With M AI apps and N external systems, you can end up maintaining M×N integrations, each with its own incompatible interface.
MCP takes the USB approach. It defines one standard, and apps and tools each implement only that standard. The integration count drops from M×N to M+N. Tool builders ship an MCP server, app builders ship an MCP client, and they work together.
Architecture: Hosts, Clients and Servers
MCP has three roles:
Host. The AI application the user actually works with, such as a desktop chat client or an AI assistant inside a code editor. It manages the model interaction and decides which servers to connect to.
Client. A connector running inside the host. Each client holds a one-to-one connection with a single server and handles protocol messages.
Server. A lightweight program that exposes capabilities. A filesystem server might let the model read a specific directory; a database server might let it run queries.
Messages use the JSON-RPC 2.0 format. Two transports are common: standard input/output (stdio) between local processes, which suits servers running on your own machine, and HTTP-based transport for servers hosted over the network.
Three Kinds of Server Capabilities
Servers expose capabilities through three main primitives:
Tools. Functions the model can call, such as “create an issue,” “send a message” or “run a SQL query.” Each tool has a name, a description and a parameter schema (JSON Schema), which the model uses to decide when to call it and with what arguments. Tools are typically model-initiated.
Resources. Readable data such as file contents, database schemas or documentation. The app or user usually decides whether a resource goes into context.
Prompts. Reusable prompt templates the server provides, such as “review this code” or “summarize meeting notes,” which users can pick from inside the app.
The protocol also defines capabilities flowing the other way, from client to server, such as letting a server ask the host to run a model completion on its behalf.
What a Single Call Looks Like
Say you ask your AI assistant to list open issues in a repository:
- On startup, the host connects to a GitHub MCP server and fetches its list of tools.
- The host passes the tool names and descriptions to the model.
- When you ask, the model decides to call the “list issues” tool and generates arguments.
- The client sends the request to the server, which calls GitHub and returns the result.
- The result goes back to the model, which turns it into a plain-language answer.
The model never touches GitHub’s API or credentials directly. It only sees tool descriptions and results.
How MCP Relates to Function Calling
Many models support function calling, meaning they can output a structured request to invoke a function. MCP doesn’t replace that; it sits on top. Function calling covers how a model expresses what it wants to call. MCP covers how tools are discovered, described and executed in a way that works across different apps.
Common Misconceptions
“MCP is a model or an AI capability.” It’s a communication protocol. It doesn’t make a model smarter. How well tools get used still depends on the model and on the quality of tool descriptions.
“Connecting an MCP server is safe by default.” Servers can run code and access data, so adding one deserves the same care as installing software. Use trusted sources, grant least privilege, and keep human confirmation for writes and deletes. Watch for prompt injection too: content returned by a tool can carry instructions that try to steer the model.
“With MCP you don’t need APIs anymore.” MCP servers usually call existing APIs under the hood. MCP is a uniform wrapper for AI apps, not a replacement.
“More servers means a better assistant.” Every tool description takes up context, and too many options lead to wrong choices. Connect what the task actually needs.