What is the Model Context Protocol (MCP)?

3 min readai, mcp, llm

MCP (Model Context Protocol) standardizes how an AI model reaches outside itself — to a database, an API, a filesystem, whatever. Before it, every integration was bespoke: a custom tool definition and glue code per app, per model, per data source. MCP replaces that with one protocol both sides implement once. The usual analogy is USB-C: everyone agreeing on the same connector is what makes it useful.

Host, client, server

MCP defines three roles:

Each client maintains a single, dedicated connection to exactly one server. Want to talk to both a database and GitHub, that’s two clients running side by side inside the same host — not one client juggling two connections.

Architecture diagram of MCP showing an AI model connected to two MCP clients, each maintaining a 1:1 connection to its own MCP server over stdio or Streamable HTTP. The database server reaches PostgreSQL; the GitHub server reaches the GitHub API.

Two transports

MCP doesn’t care whether the server is a process on your machine or an API across the network — the same request/response shape works either way. What changes is the transport underneath:

What a server actually exposes

Every server advertises the same three primitive types, regardless of transport:

That fixed vocabulary is what makes MCP a protocol rather than just a convention: a client doesn’t need to know anything about a server ahead of time beyond “speak MCP” — it discovers what’s actually on offer at connection time.