Commit 73f1572
committed
Wire per-version validation into ServerRunner
- Add validate_client_request/notification, validate_server_result to
types.methods (surface-only siblings of the parse_* functions)
- ServerRunner validates inbound requests/notifications against the
negotiated version's surface schema; custom methods fall through to
the registered params_type as before
- Handler results are validated against the surface schema after dump;
a spec-invalid result is logged and returns INTERNAL_ERROR to the client
- Map JSON-Schema format byte/uri/uri-template to plain str in codegen
(Base64Str and AnyUrl over-assert on annotation-only formats);
regenerate both surface packages
- Fix two test fixtures that built Tool(input_schema={}) without the
spec-required type field
- Document handler-result validation in migration.md1 parent 0c6211e commit 73f1572
10 files changed
Lines changed: 242 additions & 73 deletions
File tree
- docs
- scripts
- src/mcp
- server
- types
- v2025_11_25
- v2026_07_28
- tests
- client
- server
- types
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
225 | 225 | | |
226 | 226 | | |
227 | 227 | | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
228 | 232 | | |
229 | 233 | | |
230 | 234 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
113 | 116 | | |
114 | 117 | | |
115 | 118 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
44 | | - | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
50 | 49 | | |
51 | 50 | | |
52 | | - | |
53 | 51 | | |
| 52 | + | |
54 | 53 | | |
55 | 54 | | |
56 | 55 | | |
| |||
80 | 79 | | |
81 | 80 | | |
82 | 81 | | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | 82 | | |
92 | 83 | | |
93 | 84 | | |
| |||
228 | 219 | | |
229 | 220 | | |
230 | 221 | | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
231 | 225 | | |
232 | 226 | | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
241 | 235 | | |
242 | 236 | | |
243 | 237 | | |
| |||
265 | 259 | | |
266 | 260 | | |
267 | 261 | | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
268 | 271 | | |
269 | 272 | | |
270 | 273 | | |
| |||
278 | 281 | | |
279 | 282 | | |
280 | 283 | | |
| 284 | + | |
| 285 | + | |
281 | 286 | | |
282 | 287 | | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
283 | 295 | | |
284 | | - | |
285 | | - | |
286 | | - | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | | - | |
292 | | - | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
293 | 299 | | |
294 | 300 | | |
295 | 301 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
37 | 40 | | |
38 | 41 | | |
39 | 42 | | |
| |||
427 | 430 | | |
428 | 431 | | |
429 | 432 | | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
430 | 451 | | |
431 | 452 | | |
432 | 453 | | |
| |||
450 | 471 | | |
451 | 472 | | |
452 | 473 | | |
453 | | - | |
454 | | - | |
455 | | - | |
| 474 | + | |
456 | 475 | | |
457 | 476 | | |
458 | 477 | | |
| |||
485 | 504 | | |
486 | 505 | | |
487 | 506 | | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
488 | 525 | | |
489 | 526 | | |
490 | 527 | | |
| |||
508 | 545 | | |
509 | 546 | | |
510 | 547 | | |
511 | | - | |
512 | | - | |
513 | | - | |
| 548 | + | |
514 | 549 | | |
515 | 550 | | |
516 | 551 | | |
| |||
543 | 578 | | |
544 | 579 | | |
545 | 580 | | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
546 | 599 | | |
547 | 600 | | |
548 | 601 | | |
| |||
566 | 619 | | |
567 | 620 | | |
568 | 621 | | |
569 | | - | |
570 | | - | |
| 622 | + | |
571 | 623 | | |
572 | 624 | | |
573 | 625 | | |
| |||
0 commit comments