You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/learn/architecture.mdx
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -132,6 +132,10 @@ MCP also defines primitives that _clients_ can expose. These primitives allow MC
132
132
133
133
For more details about client primitives see [client concepts](./client-concepts).
134
134
135
+
Besides server and client primitives, the protocol offers cross-cutting utility primitives that augment how requests are executed:
136
+
137
+
-**Tasks (Experimental)**: Durable execution wrappers that enable deferred result retrieval and status tracking for MCP requests (e.g., expensive computations, workflow automation, batch processing, multi-step operations)
138
+
135
139
#### Notifications
136
140
137
141
The protocol supports real-time notifications to enable dynamic updates between servers and clients. For example, when a server's available tools change—such as when new functionality becomes available or existing tools are modified—the server can send tool update notifications to inform connected clients about these changes. Notifications are sent as JSON-RPC 2.0 notification messages (without expecting a response) and enable MCP servers to provide real-time updates to connected clients.
which is automatically generated from the TypeScript source of truth, for use with
121
121
various automated tooling.
122
122
123
-
### General fields
123
+
##JSON Schema Usage
124
124
125
-
#### `_meta`
125
+
The Model Context Protocol uses JSON Schema for validation throughout the protocol. This section clarifies how JSON Schema should be used within MCP messages.
126
+
127
+
### Schema Dialect
128
+
129
+
MCP supports JSON Schema with the following rules:
130
+
131
+
1.**Default dialect**: When a schema does not include a `$schema` field, it defaults to JSON Schema 2020-12 (`https://json-schema.org/draft/2020-12/schema`)
132
+
1.**Explicit dialect**: Schemas MAY include a `$schema` field to specify a different dialect
133
+
1.**Supported dialects**: Implementations MUST support at least 2020-12 and SHOULD document which additional dialects they support
134
+
1.**Recommendation**: Implementors are RECOMMENDED to use JSON Schema 2020-12.
- Clients and servers **MUST** support JSON Schema 2020-12 for schemas without an explicit `$schema` field
168
+
- Clients and servers **MUST** validate schemas according to their declared or default dialect. They **MUST** handle unsupported dialects gracefully by returning an appropriate error indicating the dialect is not supported.
169
+
- Clients and servers **SHOULD** document which schema dialects they support
170
+
171
+
### Schema Validation
172
+
173
+
- Schemas **MUST** be valid according to their declared or default dialect
174
+
175
+
## General fields
176
+
177
+
### `_meta`
126
178
127
179
The `_meta` property/parameter is reserved by MCP to allow clients and servers
128
180
to attach additional metadata to their interactions.
0 commit comments