Architecture overview changeddocs/2024-11-05/learn/architecture
Nearest release: v2.1.305, published under an hour before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Upstream edited this page at 20 Oct 2026 20:02 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 22 Oct 2026 20:37 UTC.
Upstream edited
Recorded here
Lines+6added
Lines−6removed
From line
4
where the diff opens
First seen
26 Aug 2026
this site's first read of the page
Recorded edits3to this page, all time
The whole hunk
from line 4, old and new numbered
/
from line 4
44
55Because MCP SDKs abstract away many concerns, most developers will likely find the [data layer protocol](#data-layer-protocol) section to be the most useful. It discusses how MCP servers can provide context to an AI application.
66
7For specific implementation details, please refer to the documentation for your [language-specific SDK](/docs/2024-11-05/sdk).
7For specific implementation details, please refer to the documentation for your [language-specific SDK](/docs/2024-11-05/sdk.md).
88
99## Scope
1010
1111The Model Context Protocol includes the following projects:
1212
13* [MCP Specification](https://modelcontextprotocol.io/specification/latest): A specification of MCP that outlines the implementation requirements for clients and servers.
14* [MCP SDKs](/docs/2024-11-05/sdk): SDKs for different programming languages that implement MCP.
13* [MCP Specification](https://modelcontextprotocol.io/specification/latest.md): A specification of MCP that outlines the implementation requirements for clients and servers.
14* [MCP SDKs](/docs/2024-11-05/sdk.md): SDKs for different programming languages that implement MCP.
1515* **MCP Development Tools**: Tools for developing MCP servers and clients, including the [MCP Inspector](https://github.com/modelcontextprotocol/inspector)
1616* [MCP Reference Server Implementations](https://github.com/modelcontextprotocol/servers): Reference implementations of MCP servers.
1717
from line 104
104104
105105#### Lifecycle management
106106
107MCP is a stateful protocol that requires lifecycle management. The purpose of lifecycle management is to negotiate the capabilities (Features and operations that a client or server supports, such as tools, resources, or prompts) that both client and server support. Detailed information can be found in the [specification](/specification/2024-11-05/basic/lifecycle), and the [example](#example) showcases the initialization sequence.
107MCP is a stateful protocol that requires lifecycle management. The purpose of lifecycle management is to negotiate the capabilities (Features and operations that a client or server supports, such as tools, resources, or prompts) that both client and server support. Detailed information can be found in the [specification](/specification/2024-11-05/basic/lifecycle.md), and the [example](#example) showcases the initialization sequence.
108108
109109#### Primitives
110110
from line 121
121121
122122As a concrete example, consider an MCP server that provides context about a database. It can expose tools for querying the database, a resource that contains the schema of the database, and a prompt that includes few-shot examples for interacting with the tools.
123123
124For more details about server primitives see [server concepts](./server-concepts).
124For more details about server primitives see [server concepts](/docs/2024-11-05/learn/server-concepts.md).
125125
126126MCP also defines primitives that *clients* can expose. These primitives allow MCP server authors to build richer interactions.
127127
from line 128
128128* **Sampling**: Allows servers to request language model completions from the client's AI application. This is useful when server authors want access to a language model, but want to stay model-independent and not include a language model SDK in their MCP server. They can use the `sampling/createMessage` method to request a language model completion from the client's AI application.
129129* **Logging**: Enables servers to send log messages to clients for debugging and monitoring purposes.
130130
131For more details about client primitives see [client concepts](./client-concepts).
131For more details about client primitives see [client concepts](/docs/2024-11-05/learn/client-concepts.md).
132132
133133Besides server and client primitives, the protocol offers cross-cutting utility primitives that augment how requests are executed:
134134
No line in this hunk matches that.