|
2 | 2 | title: Specification
|
3 | 3 | cascade:
|
4 | 4 | type: docs
|
5 |
| -weight: 1 |
| 5 | +breadcrumbs: false |
| 6 | +weight: 10 |
6 | 7 | ---
|
7 |
| -The following is the formal specification of the Model Context Protocol, and aims |
8 |
| -to be a resource for implementors. |
9 | 8 |
|
10 |
| -For a user guides and SDK configuration, plesae visit https://modelcontextprotocol.io. |
| 9 | +{{< callout type="info" >}} |
| 10 | +**Protocol Revision**: 2024-11-05 |
| 11 | +{{< /callout >}} |
| 12 | + |
| 13 | +The [Model Context Protocol](https://modelcontextprotocol.io) (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. |
| 14 | + |
| 15 | +This specification defines the authoritative protocol requirements based on the TypeScript schema in [schema.ts](https://github.com/modelcontextprotocol/specification/blob/main/schema/schema.ts). |
| 16 | + |
| 17 | +For implementation guides and examples, visit [modelcontextprotocol.io](https://modelcontextprotocol.io). |
| 18 | + |
| 19 | +## Overview |
| 20 | + |
| 21 | +MCP provides a standardized way for applications to: |
| 22 | + |
| 23 | +- Share contextual information with language models |
| 24 | +- Expose tools and capabilities to AI systems |
| 25 | +- Build composable integrations and workflows |
| 26 | + |
| 27 | +The protocol uses JSON-RPC 2.0 messages to establish communication between: |
| 28 | + |
| 29 | +- **Clients**: Applications that integrate with language models |
| 30 | +- **Servers**: Services that provide context and capabilities |
| 31 | +- **Hosts**: Processes that manage client connections |
| 32 | + |
| 33 | +## Core Protocol Features |
| 34 | + |
| 35 | +MCP defines several key components: |
| 36 | + |
| 37 | +### Base Protocol |
| 38 | +- JSON-RPC message format |
| 39 | +- Capability negotiation |
| 40 | +- Session lifecycle management |
| 41 | + |
| 42 | +### Context Primitives |
| 43 | +- **Resources**: Data exposed via URIs |
| 44 | +- **Prompts**: Template-based interactions |
| 45 | +- **Tools**: Executable functions |
| 46 | +- **Sampling**: LLM generation control |
| 47 | + |
| 48 | +### Cross-Cutting Concerns |
| 49 | +- Progress tracking |
| 50 | +- Error handling |
| 51 | +- Security boundaries |
| 52 | +- Backwards compatibility |
| 53 | + |
| 54 | +## Learn More |
| 55 | + |
| 56 | +Explore the detailed specification for each protocol component: |
| 57 | + |
| 58 | +{{< cards >}} |
| 59 | + {{< card link="architecture" title="Architecture" icon="template" >}} |
| 60 | + {{< card link="basic" title="Base Protocol" icon="code" >}} |
| 61 | + {{< card link="server" title="Server Features" icon="server" >}} |
| 62 | + {{< card link="client" title="Client Features" icon="user" >}} |
| 63 | + {{< card link="contributing" title="Contributing" icon="pencil" >}} |
| 64 | +{{< /cards >}} |
0 commit comments