Sign inStart free
§Guide

What is MCP (Model Context Protocol)?

AgentPrep guide cover: What is MCP (Model Context Protocol)?

MCP, the Model Context Protocol, is an open-source standard for connecting AI applications to external systems — the tools, data sources, and services an AI application needs to be useful. The project describes it with a simple comparison: MCP is like a USB-C port for AI applications, one connector instead of a different cable for every device.

Instead of every AI application writing its own custom integration for every tool or data source, both sides speak MCP. An AI application built to use MCP can talk to any MCP server, and a server built once can be used by any MCP-capable application — the project's own phrase for this is “build once and integrate everywhere.”

Three roles: host, client, server

MCP defines a client-server architecture with three named participants. The MCP Host is the AI application itself — the program a person or another system interacts with, and the one that coordinates one or more MCP clients.

The MCP Client lives inside the host and keeps one dedicated connection to one MCP server. The MCP Server is the separate program that actually provides the context — the tools, data, or prompts. A host that wants to reach three different servers creates three separate clients, one per server.

Two layers, two transports

Underneath the three roles, MCP splits the connection into two layers. The data layer defines the messages themselves, using JSON-RPC 2.0 as the message format for requests, responses, and notifications. The transport layer defines how those messages actually travel between client and server.

A local server started over stdio typically serves a single client at a time. A remote server reachable over Streamable HTTP typically serves many clients at once — that difference in shape is a direct consequence of which transport it uses.

What a server can offer

An MCP server exposes context to the host through three primitives. Tools are executable functions that the AI application can invoke to take an action. Resources are data sources that supply context without executing anything. Prompts are reusable templates the application can pull into a conversation. A client discovers what's available by calling the matching */list method for each primitive, then calls tools/call to actually run one.

MCP also defines a primitive that flows the other way, from server back to client. Today that's Elicitation: a server can pause and ask the person using the host for more information mid-task, through an elicitation/create request. Two older client-side primitives, Sampling and Logging, were marked deprecated as of protocol version 2026-07-28.

Stateless requests, opt-in updates, and what MCP leaves alone

MCP is a stateless protocol: every request carries its own protocol version and capabilities in a _meta field rather than relying on the connection to remember them, and servers announce their own versions and capabilities through a required server/discover request.

Notifications about changes are opt-in, not automatic — a client that wants to hear about updates opens a subscriptions/listen stream and names the specific types it wants. And MCP itself stays narrow: by the project's own description, it “focuses solely on the protocol for context exchange—it does not dictate how AI applications use LLMs or manage the provided context.” Support today includes Claude, ChatGPT, VS Code, and Cursor, among others.

FAQ

What is the Model Context Protocol (MCP) in plain terms?

MCP is an open-source standard for connecting AI applications to external systems — the tools, data, and services an AI application needs. The project compares it to a USB-C port for AI applications: one common connector instead of a custom integration for every tool.

What is the difference between an MCP host, client, and server?

The host is the AI application that coordinates everything. The client lives inside the host and keeps one dedicated connection to one server. The server is the separate program that actually provides tools, data, or prompts — and a host creates one client for every server it connects to.

What transports does MCP use to move messages?

Two. Stdio transport runs the server as a local process on the same machine, with no network overhead, and typically serves one client. Streamable HTTP transport is for remote servers, sending HTTP POST requests with optional Server-Sent Events, and typically serves many clients at once.

Are Sampling and Logging still part of MCP?

They were client-side primitives in earlier versions, but both were marked deprecated as of protocol version 2026-07-28. The current client-side primitive for a server to request more information from the person using the host is Elicitation, via an elicitation/create request.

Read next

MCP is the protocol. Skill is what you build with it.

AgentPrep drills the craft this page describes — original scenario questions and mastery tracked per area, in full on Telegram. Free to start in your browser, no card.

Start free
Sources