Model Context Protocol: definition and meaning
The Model Context Protocol (MCP) is an open-source standard for connecting AI applications to external systems. A host runs one client per server, and each pair exchanges JSON-RPC 2.0 messages over stdio or Streamable HTTP.
The Model Context Protocol (MCP) is an open-source standard for connecting AI applications to external systems such as data sources, tools, and workflows. Instead of every assistant writing a custom integration for every service, a service implements MCP once as a server, and any MCP-capable application can use it.
Roles and capabilities
MCP has three roles. A host is the AI application you work in, such as a coding assistant or an editor. The host creates one client for each server it connects to, and each client keeps a dedicated connection to its server. The server is the program that exposes capabilities. Messages follow JSON-RPC 2.0.
A server can offer three kinds of capability:
- Tools are functions a model can discover and call. Each has a name, a description, and a JSON Schema for its arguments. Clients list them with
tools/listand run them withtools/call. - Resources are data the application can read, each identified by a URI, through
resources/listandresources/read. - Prompts are reusable message templates that a user picks explicitly, for example with a slash command.
A tool call, simplified:
{"jsonrpc": "2.0", "id": 2, "method": "tools/call",
"params": {"name": "get_weather", "arguments": {"location": "London"}}}The result carries a content array and an isError flag.
Revisions
The current revision is 2026-07-28. It removed the initialize handshake and protocol-level sessions. Each request now carries its protocol version and client capabilities in _meta, and a server/discover method returns a server’s capabilities. Clients and servers on 2025-11-25 or earlier still use the handshake, so check which revision your tools speak.
Transports
The specification defines two standard transports. With stdio, the client launches the server as a subprocess and they exchange newline-delimited JSON-RPC messages over standard input and output. With Streamable HTTP, the client sends JSON-RPC messages as HTTP POST requests, and the server replies with plain JSON or a Server-Sent Events stream. Streamable HTTP was introduced in 2025-03-26 to replace the HTTP+SSE transport from 2024-11-05, which is now deprecated.
A common confusion
An MCP server is not necessarily remote, and the model does not reach it directly. A stdio server is a local process the host starts. The model decides to call a tool, but the host’s client sends the request, and the specification says hosts must obtain explicit user consent before invoking any tool, because tools represent arbitrary code execution.
Local HTTP servers need care too. The 2025-06-18 transport specification tells servers to validate the Origin header and advises binding to localhost rather than all interfaces, to guard against DNS rebinding. See loopback address for what binding to localhost means.
In Rig
Rig runs a local MCP hub, so coding agents can use Rig as an MCP server for projects, ports, logs, env profiles, and git.
- The hub speaks Streamable HTTP at
http://127.0.0.1:47823/mcpby default. The port is set inmcp.json, and Rig moves to another port if that one is busy. - By default the hub listens on the loopback address only. An optional listener for a paired iPhone is off on fresh installs. MCP requests need an
Authorization: Bearertoken, and an unauthorised request gets HTTP 401 with a JSON-RPC error, code -32001. Rig also runs a DNS-rebinding guard that accepts loopback host names. - Clients that support Streamable HTTP can connect to the hub directly with a URL and an
Authorization: Bearerheader. - For agents that expect a stdio server, Rig writes a launcher command,
rig-mcp, that bridges stdio to the hub. Linking an agent writes that agent’s own config file. - Access has three modes: read, control, and full. Fresh installs start in control. Any write waits for an Approve click in Rig, and
confirm: truealone does not approve it. - Rig exposes dozens of scoped tools. The full list is in the MCP tools list.
Sources
- What is the Model Context Protocol (MCP)?
- MCP versioning (current revision 2026-07-28)
- MCP key changes in the 2026-07-28 revision
- MCP specification 2026-07-28
- MCP architecture overview
- Understanding MCP servers
- MCP specification 2026-07-28: Tools
- MCP specification 2026-07-28: stdio
- MCP specification 2026-07-28: Transports overview
- MCP specification 2025-06-18: Transports
- MCP specification 2025-03-26: Transports
- Rig documentation: MCP tools list (hub and access modes confirmed in Rig’s source code)
See how Rig fits in
Rig is a Mac app that starts, stops, and watches the processes in a project from one window. The knowledge base explains each part in plain language.