The Model Context Protocol is an open standard that lets any AI app plug into any tool or data source through one common socket — like USB-C did for chargers. Instead of writing custom glue for every integration, you run an MCP server that exposes tools, resources, and prompts, and any MCP client (Claude Desktop, Claude Code, your app) can use them.
MCP has three roles. Hover the diagram pieces. The key insight: the server is reusable across every host, and the host can connect many servers at once. That many-to-many web is what makes the ecosystem compound.
Hover a box to see its role.
The same architecture as free-orbit layers: the host on top, its client connector beneath, your reusable servers below, and the real systems they wrap at the base. Fly around it — the many-to-many shape (one host, many servers) is easiest to feel in 3-D.
Rendered by the zero-dependency WebGL orbit renderer — same scene data as the site's isometric engine.
| Primitive | What it is | Example |
|---|---|---|
| Tools | Actions the model can call (model-controlled) — same anatomy as native tools. | create_issue, run_query |
| Resources | Read-only data the host can attach as context (app-controlled). | a file, a DB row, a wiki page |
| Prompts | Reusable prompt templates a user can invoke (user-controlled). | a "/summarize-PR" template |
A client talks to a server over a transport. Two common ones: stdio — the server runs as a local subprocess, ideal for local tools (your filesystem, a local DB); and streamable HTTP — the server runs remotely, ideal for shared/hosted integrations with auth. Choosing the transport is a deployment decision: local-and-private → stdio; shared-and-networked → HTTP.
Curated companion: modelcontextprotocol.io — Introduction · Anthropic — MCP.