|
1 | 1 | """This module defines the types for the MCP protocol. |
2 | 2 |
|
3 | 3 | Check the latest schema at: |
4 | | -https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/schema/2025-11-25/schema.json |
| 4 | +https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/schema/draft/schema.json |
| 5 | +
|
| 6 | +The models here are the version-superset types user code works with; the |
| 7 | +schema-exact wire shapes live in the surface packages |
| 8 | +(``mcp.types.v2025_11_25``, which serves every protocol version through |
| 9 | +2025-11-25, and ``mcp.types.v2026_07_28``). |
5 | 10 | """ |
6 | 11 |
|
7 | 12 | # Re-export everything from _types for backward compatibility |
8 | 13 | from mcp.types._types import ( |
| 14 | + CLIENT_CAPABILITIES_META_KEY, |
| 15 | + CLIENT_INFO_META_KEY, |
9 | 16 | DEFAULT_NEGOTIATED_VERSION, |
10 | 17 | LATEST_PROTOCOL_VERSION, |
| 18 | + LOG_LEVEL_META_KEY, |
| 19 | + PROTOCOL_VERSION_META_KEY, |
11 | 20 | Annotations, |
12 | 21 | AudioContent, |
13 | 22 | BaseMetadata, |
14 | 23 | BlobResourceContents, |
| 24 | + CacheableResult, |
15 | 25 | CallToolRequest, |
16 | 26 | CallToolRequestParams, |
17 | 27 | CallToolResult, |
18 | 28 | CancelledNotification, |
19 | 29 | CancelledNotificationParams, |
| 30 | + CancelTaskRequest, |
| 31 | + CancelTaskRequestParams, |
| 32 | + CancelTaskResult, |
20 | 33 | ClientCapabilities, |
21 | 34 | ClientNotification, |
22 | 35 | ClientRequest, |
|
33 | 46 | CreateMessageRequestParams, |
34 | 47 | CreateMessageResult, |
35 | 48 | CreateMessageResultWithTools, |
| 49 | + CreateTaskResult, |
| 50 | + DiscoverRequest, |
| 51 | + DiscoverResult, |
36 | 52 | ElicitationCapability, |
37 | 53 | ElicitationRequiredErrorData, |
38 | 54 | ElicitCompleteNotification, |
|
49 | 65 | GetPromptRequest, |
50 | 66 | GetPromptRequestParams, |
51 | 67 | GetPromptResult, |
| 68 | + GetTaskPayloadRequest, |
| 69 | + GetTaskPayloadRequestParams, |
| 70 | + GetTaskPayloadResult, |
| 71 | + GetTaskRequest, |
| 72 | + GetTaskRequestParams, |
| 73 | + GetTaskResult, |
52 | 74 | Icon, |
53 | 75 | IconTheme, |
54 | 76 | ImageContent, |
|
58 | 80 | InitializeRequest, |
59 | 81 | InitializeRequestParams, |
60 | 82 | InitializeResult, |
| 83 | + InputRequest, |
| 84 | + InputRequests, |
| 85 | + InputRequiredResult, |
| 86 | + InputResponse, |
| 87 | + InputResponseRequestParams, |
| 88 | + InputResponses, |
61 | 89 | ListPromptsRequest, |
62 | 90 | ListPromptsResult, |
63 | 91 | ListResourcesRequest, |
|
66 | 94 | ListResourceTemplatesResult, |
67 | 95 | ListRootsRequest, |
68 | 96 | ListRootsResult, |
| 97 | + ListTasksRequest, |
| 98 | + ListTasksResult, |
69 | 99 | ListToolsRequest, |
70 | 100 | ListToolsResult, |
71 | 101 | LoggingCapability, |
72 | 102 | LoggingLevel, |
73 | 103 | LoggingMessageNotification, |
74 | 104 | LoggingMessageNotificationParams, |
| 105 | + MissingRequiredClientCapabilityErrorData, |
75 | 106 | ModelHint, |
76 | 107 | ModelPreferences, |
77 | 108 | Notification, |
|
92 | 123 | ReadResourceRequest, |
93 | 124 | ReadResourceRequestParams, |
94 | 125 | ReadResourceResult, |
| 126 | + RelatedTaskMetadata, |
95 | 127 | Request, |
96 | 128 | RequestParams, |
97 | 129 | RequestParamsMeta, |
|
105 | 137 | ResourceUpdatedNotification, |
106 | 138 | ResourceUpdatedNotificationParams, |
107 | 139 | Result, |
| 140 | + ResultType, |
108 | 141 | Role, |
109 | 142 | Root, |
110 | 143 | RootsCapability, |
|
124 | 157 | StopReason, |
125 | 158 | SubscribeRequest, |
126 | 159 | SubscribeRequestParams, |
| 160 | + SubscriptionFilter, |
| 161 | + SubscriptionsAcknowledgedNotification, |
| 162 | + SubscriptionsAcknowledgedNotificationParams, |
| 163 | + SubscriptionsListenRequest, |
| 164 | + SubscriptionsListenRequestParams, |
| 165 | + Task, |
| 166 | + TaskMetadata, |
| 167 | + TaskStatus, |
| 168 | + TaskStatusNotification, |
| 169 | + TaskStatusNotificationParams, |
127 | 170 | TextContent, |
128 | 171 | TextResourceContents, |
129 | 172 | Tool, |
130 | 173 | ToolAnnotations, |
131 | 174 | ToolChoice, |
| 175 | + ToolExecution, |
132 | 176 | ToolListChangedNotification, |
133 | 177 | ToolResultContent, |
134 | 178 | ToolsCapability, |
135 | 179 | ToolUseContent, |
136 | 180 | UnsubscribeRequest, |
137 | 181 | UnsubscribeRequestParams, |
| 182 | + UnsupportedProtocolVersionErrorData, |
138 | 183 | UrlElicitationCapability, |
139 | 184 | client_notification_adapter, |
140 | 185 | client_request_adapter, |
|
150 | 195 | INTERNAL_ERROR, |
151 | 196 | INVALID_PARAMS, |
152 | 197 | INVALID_REQUEST, |
| 198 | + JSONRPC_VERSION, |
153 | 199 | METHOD_NOT_FOUND, |
| 200 | + MISSING_REQUIRED_CLIENT_CAPABILITY, |
154 | 201 | PARSE_ERROR, |
155 | 202 | REQUEST_CANCELLED, |
156 | 203 | REQUEST_TIMEOUT, |
| 204 | + UNSUPPORTED_PROTOCOL_VERSION, |
157 | 205 | URL_ELICITATION_REQUIRED, |
158 | 206 | ErrorData, |
159 | 207 | JSONRPCError, |
|
169 | 217 | # Protocol version constants |
170 | 218 | "LATEST_PROTOCOL_VERSION", |
171 | 219 | "DEFAULT_NEGOTIATED_VERSION", |
| 220 | + # Reserved request _meta keys |
| 221 | + "PROTOCOL_VERSION_META_KEY", |
| 222 | + "CLIENT_INFO_META_KEY", |
| 223 | + "CLIENT_CAPABILITIES_META_KEY", |
| 224 | + "LOG_LEVEL_META_KEY", |
172 | 225 | # Type aliases and variables |
173 | 226 | "ContentBlock", |
174 | 227 | "ElicitRequestedSchema", |
175 | 228 | "ElicitRequestParams", |
176 | 229 | "IncludeContext", |
| 230 | + "InputRequest", |
| 231 | + "InputRequests", |
| 232 | + "InputResponse", |
| 233 | + "InputResponses", |
177 | 234 | "LoggingLevel", |
178 | 235 | "ProgressToken", |
| 236 | + "ResultType", |
179 | 237 | "Role", |
180 | 238 | "SamplingContent", |
181 | 239 | "SamplingMessageContentBlock", |
182 | 240 | "StopReason", |
| 241 | + "TaskStatus", |
183 | 242 | # Base classes |
184 | 243 | "BaseMetadata", |
185 | 244 | "Request", |
186 | 245 | "Notification", |
187 | 246 | "Result", |
188 | 247 | "RequestParams", |
189 | 248 | "RequestParamsMeta", |
| 249 | + "InputResponseRequestParams", |
190 | 250 | "NotificationParams", |
191 | 251 | "PaginatedRequest", |
192 | 252 | "PaginatedRequestParams", |
193 | 253 | "PaginatedResult", |
| 254 | + "CacheableResult", |
194 | 255 | "EmptyResult", |
195 | 256 | # Capabilities |
196 | 257 | "ClientCapabilities", |
|
237 | 298 | "ResourceTemplateReference", |
238 | 299 | "Root", |
239 | 300 | "SamplingMessage", |
| 301 | + "SubscriptionFilter", |
| 302 | + "Task", |
| 303 | + "TaskMetadata", |
| 304 | + "RelatedTaskMetadata", |
240 | 305 | "Tool", |
241 | 306 | "ToolAnnotations", |
242 | 307 | "ToolChoice", |
| 308 | + "ToolExecution", |
243 | 309 | # Requests |
244 | 310 | "CallToolRequest", |
245 | 311 | "CallToolRequestParams", |
246 | 312 | "CompleteRequest", |
247 | 313 | "CompleteRequestParams", |
| 314 | + "CancelTaskRequest", |
| 315 | + "CancelTaskRequestParams", |
248 | 316 | "CreateMessageRequest", |
249 | 317 | "CreateMessageRequestParams", |
| 318 | + "DiscoverRequest", |
250 | 319 | "ElicitRequest", |
251 | 320 | "ElicitRequestFormParams", |
252 | 321 | "ElicitRequestURLParams", |
253 | 322 | "GetPromptRequest", |
254 | 323 | "GetPromptRequestParams", |
| 324 | + "GetTaskPayloadRequest", |
| 325 | + "GetTaskPayloadRequestParams", |
| 326 | + "GetTaskRequest", |
| 327 | + "GetTaskRequestParams", |
255 | 328 | "InitializeRequest", |
256 | 329 | "InitializeRequestParams", |
257 | 330 | "ListPromptsRequest", |
258 | 331 | "ListResourcesRequest", |
259 | 332 | "ListResourceTemplatesRequest", |
260 | 333 | "ListRootsRequest", |
| 334 | + "ListTasksRequest", |
261 | 335 | "ListToolsRequest", |
262 | 336 | "PingRequest", |
263 | 337 | "ReadResourceRequest", |
|
266 | 340 | "SetLevelRequestParams", |
267 | 341 | "SubscribeRequest", |
268 | 342 | "SubscribeRequestParams", |
| 343 | + "SubscriptionsListenRequest", |
| 344 | + "SubscriptionsListenRequestParams", |
269 | 345 | "UnsubscribeRequest", |
270 | 346 | "UnsubscribeRequestParams", |
271 | 347 | # Results |
272 | 348 | "CallToolResult", |
| 349 | + "CancelTaskResult", |
273 | 350 | "CompleteResult", |
274 | 351 | "CreateMessageResult", |
275 | 352 | "CreateMessageResultWithTools", |
| 353 | + "CreateTaskResult", |
| 354 | + "DiscoverResult", |
276 | 355 | "ElicitResult", |
277 | 356 | "ElicitationRequiredErrorData", |
278 | 357 | "GetPromptResult", |
| 358 | + "GetTaskPayloadResult", |
| 359 | + "GetTaskResult", |
279 | 360 | "InitializeResult", |
| 361 | + "InputRequiredResult", |
280 | 362 | "ListPromptsResult", |
281 | 363 | "ListResourcesResult", |
282 | 364 | "ListResourceTemplatesResult", |
283 | 365 | "ListRootsResult", |
| 366 | + "ListTasksResult", |
284 | 367 | "ListToolsResult", |
285 | 368 | "ReadResourceResult", |
| 369 | + # Error data payloads |
| 370 | + "MissingRequiredClientCapabilityErrorData", |
| 371 | + "UnsupportedProtocolVersionErrorData", |
286 | 372 | # Notifications |
287 | 373 | "CancelledNotification", |
288 | 374 | "CancelledNotificationParams", |
|
298 | 384 | "ResourceUpdatedNotification", |
299 | 385 | "ResourceUpdatedNotificationParams", |
300 | 386 | "RootsListChangedNotification", |
| 387 | + "SubscriptionsAcknowledgedNotification", |
| 388 | + "SubscriptionsAcknowledgedNotificationParams", |
| 389 | + "TaskStatusNotification", |
| 390 | + "TaskStatusNotificationParams", |
301 | 391 | "ToolListChangedNotification", |
302 | 392 | # Union types for request/response routing |
303 | 393 | "ClientNotification", |
|
318 | 408 | "INTERNAL_ERROR", |
319 | 409 | "INVALID_PARAMS", |
320 | 410 | "INVALID_REQUEST", |
| 411 | + "JSONRPC_VERSION", |
321 | 412 | "METHOD_NOT_FOUND", |
| 413 | + "MISSING_REQUIRED_CLIENT_CAPABILITY", |
322 | 414 | "PARSE_ERROR", |
323 | 415 | "REQUEST_CANCELLED", |
324 | 416 | "REQUEST_TIMEOUT", |
| 417 | + "UNSUPPORTED_PROTOCOL_VERSION", |
325 | 418 | "URL_ELICITATION_REQUIRED", |
326 | 419 | "ErrorData", |
327 | 420 | "JSONRPCError", |
|
0 commit comments