Open sourceActive

Model Context Protocol

Open protocol letting applications expose resources, tools, and prompts to LLM clients.

Open source page

Field note

What it does

MCP servers provide Resources, Tools, and Prompts to clients such as Claude for Desktop.

Capabilities

Available capabilities

Tags

Tags

Ways to use it

Ways to use it

sdk

multiple / https://modelcontextprotocol.io/docs/2026-07-28/getting-started/intro

sdk

multiple / https://modelcontextprotocol.io/docs/2026-07-28/learn/architecture

rest

Not filed / https://modelcontextprotocol.io/docs/2026-07-28/learn/versioning

mcp

any / https://modelcontextprotocol.io/docs

pypi

python / mcp

npm

Not filed / @modelcontextprotocol/server-filesystem

sdk

TypeScript / Not filed

sdk

Python / Not filed

sdk

Go / Not filed

cli

Not filed / Not filed

Product features

Product features

Architecture overview

Build clients

Develop applications that connect to MCP servers.

build-mcp-app skill

Adds interactive UI widgets rendered inline in chat.

Build MCP Apps

Build interactive apps that run inside AI clients.

build-mcp-server skill

Entry skill that interrogates the use case and routes to specialized skills.

build-mcpb skill

Packages a local stdio server with its runtime as a .mcpb archive.

Build servers

Create MCP servers to expose your data and tools.

Claude Desktop configuration

JSON config (claude_desktop_config.json) declaring servers to launch.

​ Concepts of MCP

Connect to any MCP server

MCP clients can connect to any MCP server.

Custom Connectors

Bridge between Claude and remote MCP servers, connecting Claude to external tools and data sources.

​ Data layer

​ Data Layer Protocol

​ Example

Expose tools, resources, and prompts

MCP servers can expose tools, resources, and prompts to clients.

Feature States

Features may be marked as Deprecated under the feature lifecycle and deprecation policy.

Filesystem Server

MCP server providing file read, create, move, rename and search tools.

Form mode elicitation

Server asks client to collect structured data using a schema for input form and validation.

​ Layers

MCP Inspector

Interactive, transport-agnostic testing UI for invoking tools, prompts, and resources.

MCPServer class

Uses Python type hints and docstrings to generate tool definitions.

mcp-server-dev plugin

Reference plugin providing three composing MCP development skills.

Multi Round-Trip Requests (MRTR)

Server responds with InputRequiredResult carrying elicitation/create requests; client retries with inputResponses.

Negotiation

Every request declares its protocol version via the io.modelcontextprotocol/protocolVersion key in its _meta field.

​ Notifications

notifications/message

Protocol logging mechanism deprecated as of protocol version 2026-07-28.

​ Participants

​ Primitives

Prompts

Server primitive providing interaction templates.

Resource Templates

Dynamic URIs with parameters for flexible queries, including title and MIME metadata.

Resources

Server primitive providing context data.

Resources and Prompts

Connected server resources and prompts become available in Claude conversations.

Revisions

Revisions may be marked as Draft, Current, or Final.

RFC 5424 severity levels

Eight severity levels from debug through emergency used for log messages.

​ Scope

SDK tiering system

SDKs are classified into tiers based on feature completeness, protocol support, and maintenance commitment.

server/discover

Call to see which protocol versions the server supports.

server/discover request

Lets clients query a server's supported protocol versions, capabilities, and identity.

​ Statelessness and discovery

STDIO server logging

Never write to stdout in STDIO servers; use logging to stderr.

Stdio transport

Transport using standard input/output streams, typically for local servers.

Streamable HTTP transport

Transport typically used by remote servers serving many clients.

Tools

Server primitive enabling AI actions.

​ Transport layer

URL mode elicitation

Server provides a URL for out-of-band interaction; data never passes through the client.