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.

Updated

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/list and run them with tools/call.
  • Resources are data the application can read, each identified by a URI, through resources/list and resources/read.
  • Prompts are reusable message templates that a user picks explicitly, for example with a slash command.

A tool call, simplified:

JSON
{"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/mcp by default. The port is set in mcp.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: Bearer token, 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: Bearer header.
  • 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: true alone does not approve it.
  • Rig exposes dozens of scoped tools. The full list is in the MCP tools list.

Sources

  1. What is the Model Context Protocol (MCP)?Official documentation, checked 13 October 2026
  2. MCP versioning (current revision 2026-07-28)Official documentation, checked 13 October 2026
  3. MCP key changes in the 2026-07-28 revisionOfficial documentation, checked 13 October 2026
  4. MCP specification 2026-07-28Official documentation, checked 13 October 2026
  5. MCP architecture overviewOfficial documentation, checked 13 October 2026
  6. Understanding MCP serversOfficial documentation, checked 13 October 2026
  7. MCP specification 2026-07-28: ToolsOfficial documentation, checked 13 October 2026
  8. MCP specification 2026-07-28: stdioOfficial documentation, checked 13 October 2026
  9. MCP specification 2026-07-28: Transports overviewOfficial documentation, checked 13 October 2026
  10. MCP specification 2025-06-18: TransportsOfficial documentation, checked 13 October 2026
  11. MCP specification 2025-03-26: TransportsOfficial documentation, checked 13 October 2026
  12. Rig documentation: MCP tools list (hub and access modes confirmed in Rig’s source code)Rig source code, checked 13 October 2026

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.

Related

https://userig.app/glossary/model-context-protocol