Specification - Model Context Protocol
https://modelcontextprotocol.org/specification/2026-07-28 • 286 KB fetched Open original page
Specification - Model Context Protocol
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Skip to main content
Model Context Protocol home page Version 2026-07-28 (latest)
Search...
⌘ K Ask Assistant ⌘ I
* Blog
* GitHub
Search...
Navigation
Specification
Documentation
Specification
Extensions
Registry
SEPs
Community
* Specification
* Key Changes
* Deprecated Features
* Architecture
Base Protocol
* Overview
* Versioning and Compatibility
* Message Patterns
* Transports
* Authorization
Client Features
* Roots
* Sampling
* Elicitation
Server Features
* Overview
* Discovery
* Prompts
* Resources
* Tools
* Utilities
* Schema Reference
On this page
* Overview
* Key Details
* Base Protocol
* Features
* Additional Utilities
* Extensions
* Security and Trust & Safety
* Key Principles
* Implementation Guidelines
* Learn More
Specification
Copy page Copy page
Copy page Copy page
Model Context Protocol (MCP) is an open protocol that
enables seamless integration between LLM applications and external data sources and
tools. Whether you’re building an AI-powered IDE, enhancing a chat interface, or creating
custom AI workflows, MCP provides a standardized way to connect LLMs with the context
they need.
This specification defines the authoritative protocol requirements, based on the
TypeScript schema in
schema.ts .
For implementation guides and examples, visit
modelcontextprotocol.io .
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD
NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be
interpreted as described in BCP 14
[ RFC2119 ]
[ RFC8174 ] when, and only when, they
appear in all capitals, as shown here.
Overview
MCP provides a standardized way for applications to:
* Share contextual information with language models
* Expose tools and capabilities to AI systems
* Build composable integrations and workflows
The protocol uses JSON-RPC 2.0 messages to establish
communication between:
* Hosts : LLM applications that initiate connections
* Clients : Connectors within the host application
* Servers : Services that provide context and capabilities
MCP takes some inspiration from the
Language Server Protocol , which
standardizes how to add support for programming languages across a whole ecosystem of
development tools. In a similar way, MCP standardizes how to integrate additional context
and tools into the ecosystem of AI applications.
Key Details
Base Protocol
* JSON-RPC message format
* Stateless, self-contained requests
* Per-request capability negotiation
Features
Servers offer any of the following features to clients:
* Resources : Context and data, for the user or the AI model to use
* Prompts : Templated messages and workflows for users
* Tools : Functions for the AI model to execute
Clients may offer the following features to servers:
* Elicitation : Server-initiated requests for additional information from users
Additional Utilities
* Configuration
* Progress tracking
* Cancellation
* Error reporting
Extensions
Beyond the core protocol, MCP defines optional extensions
that add modular, specialized, or experimental functionality. Extensions
are always opt-in and require explicit support from both client and server, negotiated
during initialization. Notable extensions include:
* Tasks : Asynchronous execution of long-running
operations, with polling, mid-flight input, and durable handles
* Skills over MCP : Rich, structured
instructions for agent workflows, discovered and consumed through MCP
* MCP Apps : Interactive UI elements (charts, forms,
video players) rendered inline within conversations
Security and Trust & Safety
The Model Context Protocol enables powerful capabilities through arbitrary data access
and code execution paths. With this power comes important security and trust
considerations that all implementors must carefully address.
Key Principles
*
User Consent and Control
* Users must explicitly consent to and understand all data access and operations
* Users must retain control over what data is shared and what actions are taken
* Implementors should provide clear UIs for reviewing and authorizing activities
*
Data Privacy
* Hosts must obtain explicit user consent before exposing user data to servers
* Hosts must not transmit resource data elsewhere without user consent
* User data should be protected with appropriate access controls
*
Tool Safety
* Tools represent arbitrary code execution and must be treated with appropriate
caution.
* In particular, descriptions of tool behavior such as annotations should be
considered untrusted, unless obtained from a trusted server.
* Hosts must obtain explicit user consent before invoking any tool
* Users should understand what each tool does before authorizing its use
Implementation Guidelines
While MCP itself cannot enforce these security principles at the protocol level,
implementors SHOULD :
* Build robust consent and authorization flows into their applications
* Provide clear documentation of security implications
* Implement appropriate access controls and data protections
* Follow security best practices in their integrations
* Consider privacy implications in their feature designs
Learn More
Explore the detailed specification for each protocol component:
Architecture
Base Protocol
Server Features
Client Features
Contributing
Was this page helpful?
Yes No
Key Changes
github
Assistant
Responses are generated using AI and may contain mistakes.
Links found on this page
- /llms.txt [direct]
- Skip to main content [direct]
- Model Context Protocol home page [direct]
- Blog [direct]
- GitHub [direct]
- Documentation [direct]
- Extensions [direct]
- Registry [direct]
- SEPs [direct]
- Community [direct]
- Key Changes [direct]
- Deprecated Features [direct]
- Architecture [direct]
- Overview [direct]
- Versioning and Compatibility [direct]
- Roots [direct]
- Sampling [direct]
- Elicitation [direct]
- Overview [direct]
- Discovery [direct]
- Prompts [direct]
- Resources [direct]
- Tools [direct]
- Schema Reference [direct]
- Model Context Protocol [direct]
- schema.ts [direct]
- BCP 14 [direct]
- RFC2119 [direct]
- RFC8174 [direct]
- JSON-RPC [direct]
- Language Server Protocol [direct]
- Tasks [direct]
- Skills over MCP [direct]
- MCP Apps [direct]
|
|