Skip to content
Claudekit.ai

What Is MCP? Model Context Protocol Explained (2026)

What the Model Context Protocol is, how an MCP server works, hosts vs clients vs servers, tools, transports, the 2026-07-28 spec and security basics.

By Claudekit Team Published 9 min read

Quick answer: The Model Context Protocol (MCP) is an open-source standard for connecting AI applications to external systems. An AI app (the host) runs an MCP client for each MCP server it connects to. Each server exposes tools, resources and prompts over JSON-RPC, locally via stdio or remotely via Streamable HTTP, so one integration works across many AI apps.

That’s the short version. Below: the moving parts, what actually goes over the wire, what changed in the 2026-07-28 spec, and where to go next depending on whether you want to use MCP servers or build one. Every fact here was checked against modelcontextprotocol.io in October 2026.

MCP in one picture

The official docs compare MCP to a USB-C port for AI applications. Before USB-C, every device had its own cable. Before MCP, every AI app needed its own custom integration for GitHub, Slack, your database and so on. With MCP, a service ships one server, and any MCP-capable app can plug into it.

Concretely, MCP lets:

  • Claude Code read a Figma design and generate the app from it.
  • An assistant read your calendar and Notion pages.
  • A company chatbot query several internal databases.

Hosts, clients and servers

MCP has three participants. People mix these up constantly, so here they are side by side:

ParticipantWhat it isExamples
MCP hostThe AI application the user works in. It coordinates one or more clients.Claude Desktop, Claude Code, VS Code, Cursor
MCP clientA connector inside the host. The host creates one client per server, each with a dedicated connection.The object VS Code spins up when it connects to the Sentry server
MCP serverA program that provides context and capabilities to clients.GitHub, Sentry, filesystem, Playwright servers

“MCP server” describes the role, not the location. A server can run on your laptop or on a vendor’s cloud.

  • Local servers use the stdio transport and are launched as a process by the host, usually with npx, uvx, Docker or a binary. They typically serve one client. The filesystem MCP server is the classic example.
  • Remote servers use Streamable HTTP and typically serve many clients. Most SaaS vendors now host one, for example the Sentry MCP server or the GitHub MCP server.

What an MCP server exposes

MCP defines three core server primitives:

PrimitivePurposeWho decides to use itExample
ToolsExecutable functions the AI can invokeThe modelcreate_issue, run a SQL query, click a button in a browser
ResourcesData that gives the AI contextThe app or userFile contents, a database schema, API responses
PromptsReusable templates for interactionsThe userA “review this PR” template with few-shot examples

Each primitive has list and get methods (tools/list, resources/read, prompts/get), and tools add tools/call. Because clients discover primitives at runtime, a server can add or change tools without the host shipping an update.

Clients can expose features back to servers too. The main one today is elicitation: a server asks the user for extra input or confirmation through the host’s UI. Sampling (a server asking the host’s model for a completion) and logging are deprecated as of protocol version 2026-07-28; the docs now tell servers to call an LLM API directly and to log to stderr or OpenTelemetry.

On top of the core, MCP has opt-in extensions. Notable ones listed in the spec include Tasks (durable handles for long-running operations), MCP Apps (interactive UI such as charts and forms rendered inside the conversation) and Skills over MCP.

How it works on the wire

MCP has two layers:

  • Data layer: a JSON-RPC 2.0 protocol covering discovery, the primitives above, and notifications.
  • Transport layer: how those messages travel, plus connection setup and authorization.

There are two standard transports:

TransportUsed forHow it worksAuth
stdioLocal serversStandard input/output between processes on the same machine. No network overhead.Inherits your local user’s access
Streamable HTTPRemote serversHTTP POST for client-to-server messages, with optional Server-Sent Events for streamingBearer tokens, API keys or custom headers; MCP recommends OAuth

The older standalone SSE transport is legacy. Clients such as Claude Code fall back to it automatically when a server only speaks SSE.

Here is what a tool listing looks like on the wire, trimmed from the official architecture docs:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "resultType": "complete",
    "tools": [
      {
        "name": "weather_current",
        "title": "Weather Information",
        "description": "Get current weather information for any location worldwide",
        "inputSchema": {
          "type": "object",
          "properties": { "location": { "type": "string" } },
          "required": ["location"]
        }
      }
    ]
  }
}

The host merges tool lists from every connected server into one registry the model can see. When the model decides to call weather_current, the host routes the tools/call request to the right server and feeds the result back into the conversation.

What changed in the 2026-07-28 spec

The current specification is version 2026-07-28 (the previous one was 2025-11-25). The headline changes for anyone who read an older MCP explainer:

  • Stateless protocol. Every request carries the protocol version, client capabilities and client identity in its _meta field, so the server can process each request on its own. There are no protocol-level sessions.
  • server/discover. Every server must implement this request, which returns supported versions, capabilities and server identity. Clients may call it first, or skip it and send requests directly, handling a version error if one comes back.
  • Opt-in notifications. A client opens a subscriptions/listen stream naming the notifications it wants, such as tool list changes.
  • Deprecations. Sampling and logging are deprecated, as covered above.

If you use an official SDK, most of this is handled for you. Our TypeScript MCP server tutorial shows what that looks like in practice.

Who supports MCP

MCP started at Anthropic and is now a cross-industry standard. In December 2025 Anthropic donated it to the Agentic AI Foundation, a directed fund under the Linux Foundation co-founded by Anthropic, Block and OpenAI, with support from Google, Microsoft, AWS, Cloudflare and Bloomberg. MCP’s own maintainers still steer its technical direction.

On the client side, the official docs list Claude, ChatGPT, Visual Studio Code and Cursor among supporting apps. Within Claude’s own products:

Claude surfaceHow you add MCP serversOur guide
Claude Code (terminal, IDE)claude mcp add command or a project .mcp.json fileMCP servers for Claude
Claude DesktopConnectors, one-click desktop extensions, or claude_desktop_config.jsonClaude Desktop MCP setup
Claude apps (web, mobile)Remote connectors added in settingsWhat is Claude?
Claude APIThe MCP connector on the Messages APIClaude API tutorial

Adding a remote server to Claude Code is one line:

claude mcp add --transport http notion https://mcp.notion.com/mcp

Prefer not to hand-write JSON? Our MCP config generator builds the config block for Claude Code, Claude Desktop and other clients.

MCP vs plain APIs, plugins and skills

MCP is not the only way to extend an AI app, and it’s not always the right one.

ApproachBest whenTrade-off
MCP serverYou want one integration that works across many AI apps, with discovery and auth built inAnother process or service to run and trust
Direct API tool useYou’re building your own app on the Claude API and control the codeIntegration is tied to your app
SkillsYou need repeatable procedures and instructions, not live dataNo live connection to external systems
Browser automationThe system has no API or MCP serverSlower and more brittle than a real integration

In Claude Code, these combine. A skill can tell Claude how to triage a bug, while the Sentry and Linear servers give it the data. Our skills vs subagents vs hooks guide covers where each piece fits.

Security: what to watch

The spec is blunt: tools represent arbitrary code execution and must be treated with caution, and tool descriptions should be considered untrusted unless they come from a trusted server. Hosts must get explicit user consent before invoking tools. In practice:

  • Install servers from their owners. Prefer the vendor’s official server, or a well-maintained open-source one, over a random fork.
  • Read local server commands before running them. The official security guide’s own examples show a malicious “startup” command exfiltrating SSH keys. A local stdio server runs with your user’s privileges.
  • Use least-privilege credentials. Read-only database users, fine-grained tokens, narrow OAuth scopes.
  • Watch for prompt injection. Servers that fetch web pages, issues or emails can carry instructions written by someone else into the model’s context.
  • Server authors: never accept tokens that weren’t issued for your server (token passthrough is explicitly forbidden), and validate redirect URIs and OAuth state.

Where to go next

MCP is one layer of a good setup. See what a Claude kit is for how servers, skills, subagents and hooks fit together.

Frequently asked questions

What is an MCP server in simple terms?

An MCP server is a small program that exposes tools, data or prompt templates to AI apps through the Model Context Protocol. The AI app connects to it, asks what it offers, and calls its tools when needed. It can run locally on your machine or remotely as a web service.

Who created the Model Context Protocol?

Anthropic created and open-sourced MCP. In December 2025 Anthropic donated it to the Agentic AI Foundation, a directed fund under the Linux Foundation co-founded by Anthropic, Block and OpenAI. MCP keeps its own maintainer-led technical governance.

Is MCP only for Claude?

No. MCP is an open standard. Claude, ChatGPT, Visual Studio Code, Cursor and many other AI applications support it, so a server you build once can work across many clients.

What is the latest MCP specification version?

As of October 2026 the latest specification is version 2026-07-28. It makes the protocol stateless, adds a mandatory server/discover request, and deprecates the sampling and logging client features.

Is MCP safe to use?

MCP is as safe as the servers you connect. Tools can run code and reach your data, so install servers from trusted publishers, grant least-privilege tokens, review commands before running local servers, and watch for prompt injection in content a server fetches.

Tool MCP Server

GitHub MCP Server: Connect Claude to GitHub

GitHub's official MCP server lets Claude read repos, review pull requests and manage issues. Remote and Docker setup for Claude Code, use cases, pros and cons.

★ 33,902

Get the weekly Claude digest

New skills, MCP servers, prompts and Claude updates — one short email a week. No spam, unsubscribe anytime.

The newsletter is launching soon. Follow the RSS feed in the meantime.