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