What It Is

The Model Context Protocol (MCP) is a standard way for AI assistants to use outside tools. It lets an assistant read your files, search a database, or file a ticket, without someone first writing custom code to glue that particular assistant to that particular tool.

Think of it as an agreed shape for a plug. Before a standard existed, every tool needed its own bespoke wiring into every AI product. With one, any assistant that speaks MCP can use any tool that speaks MCP.

Underneath, it is not exotic. A tool server publishes a list of functions. Each one has a plain-English description and a short definition of what information it needs. The assistant reads the list, picks a function, and calls it. That is the whole idea.

Is that just an API with documentation? Close to it, yes, and that is worth saying plainly rather than dressing it up. MCP invents no new network technology and no new security model. What it standardises is the shape of the conversation, so that discovery happens while the assistant is running rather than when a developer writes code. That is a modest claim, and it is the accurate one.

For developers: what's actually on the wire

MCP messages are JSON-RPC 2.0, sent either over a local program's standard input and output, or over HTTP for remote servers. Since revision 2026-07-28 the protocol is stateless: there is no session and no handshake. Every request carries its own protocol version, client identity, and capabilities in a _meta field, so a load balancer can send consecutive calls to different server instances.

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_forecast",
    "arguments": { "latitude": 38.58, "longitude": -121.49 },
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientInfo": { "name": "ExampleClient", "version": "1.0.0" },
      "io.modelcontextprotocol/clientCapabilities": { "elicitation": { "form": {} } }
    }
  }
}