@mcpdesc/validator 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2820 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://mcpdesc.org/schema/mcp-description/0.8.0-rc.1.json",
4
+ "title": "MCP Description",
5
+ "description": "MCP Description 0.8.0 Release Candidate 1 (v0.8.0-rc.1; prerelease).",
6
+ "type": "object",
7
+ "required": [
8
+ "mcpdesc",
9
+ "info",
10
+ "protocolVersions"
11
+ ],
12
+ "properties": {
13
+ "$schema": {
14
+ "type": "string"
15
+ },
16
+ "mcpdesc": {
17
+ "type": "string",
18
+ "const": "0.8.0"
19
+ },
20
+ "info": {
21
+ "$ref": "#/$defs/info"
22
+ },
23
+ "protocolVersions": {
24
+ "$ref": "#/$defs/protocolVersionScope"
25
+ },
26
+ "instructions": {
27
+ "type": "string"
28
+ },
29
+ "transports": {
30
+ "type": "array",
31
+ "minItems": 1,
32
+ "items": {
33
+ "$ref": "#/$defs/transport"
34
+ }
35
+ },
36
+ "securitySchemes": {
37
+ "$ref": "#/$defs/securitySchemeMap"
38
+ },
39
+ "security": {
40
+ "$ref": "#/$defs/securityRequirementArray"
41
+ },
42
+ "components": {
43
+ "$ref": "#/$defs/components"
44
+ },
45
+ "capabilities": {
46
+ "type": "array",
47
+ "minItems": 1,
48
+ "items": {
49
+ "$ref": "#/$defs/capabilities"
50
+ }
51
+ },
52
+ "tools": {
53
+ "type": "array",
54
+ "minItems": 1,
55
+ "items": {
56
+ "$ref": "#/$defs/tool"
57
+ }
58
+ },
59
+ "resources": {
60
+ "type": "array",
61
+ "minItems": 1,
62
+ "items": {
63
+ "$ref": "#/$defs/resource"
64
+ }
65
+ },
66
+ "resourceTemplates": {
67
+ "type": "array",
68
+ "minItems": 1,
69
+ "items": {
70
+ "$ref": "#/$defs/resourceTemplate"
71
+ }
72
+ },
73
+ "prompts": {
74
+ "type": "array",
75
+ "minItems": 1,
76
+ "items": {
77
+ "$ref": "#/$defs/prompt"
78
+ }
79
+ },
80
+ "tags": {
81
+ "type": "array",
82
+ "minItems": 1,
83
+ "items": {
84
+ "$ref": "#/$defs/tag"
85
+ }
86
+ }
87
+ },
88
+ "patternProperties": {
89
+ "^x-": {
90
+ "$ref": "#/$defs/jsonValue"
91
+ }
92
+ },
93
+ "additionalProperties": false,
94
+ "$defs": {
95
+ "supportedProtocolVersion": {
96
+ "type": "string",
97
+ "enum": [
98
+ "2024-11-05",
99
+ "2025-03-26",
100
+ "2025-06-18",
101
+ "2025-11-25",
102
+ "2026-07-28"
103
+ ]
104
+ },
105
+ "protocolVersionScope": {
106
+ "type": "array",
107
+ "minItems": 1,
108
+ "uniqueItems": true,
109
+ "items": {
110
+ "$ref": "#/$defs/supportedProtocolVersion"
111
+ }
112
+ },
113
+ "jsonValue": {
114
+ "oneOf": [
115
+ {
116
+ "type": "object",
117
+ "additionalProperties": {
118
+ "$ref": "#/$defs/jsonValue"
119
+ }
120
+ },
121
+ {
122
+ "type": "array",
123
+ "items": {
124
+ "$ref": "#/$defs/jsonValue"
125
+ }
126
+ },
127
+ {
128
+ "type": "string"
129
+ },
130
+ {
131
+ "type": "number"
132
+ },
133
+ {
134
+ "type": "boolean"
135
+ },
136
+ {
137
+ "type": "null"
138
+ }
139
+ ]
140
+ },
141
+ "specificationExtensionValue": {
142
+ "$ref": "#/$defs/jsonValue"
143
+ },
144
+ "clientCapabilityValue": {
145
+ "type": "object",
146
+ "additionalProperties": {
147
+ "$ref": "#/$defs/jsonValue"
148
+ }
149
+ },
150
+ "clientCapabilityRequirements": {
151
+ "type": "object",
152
+ "minProperties": 1,
153
+ "properties": {
154
+ "roots": {
155
+ "$ref": "#/$defs/clientCapabilityValue"
156
+ },
157
+ "sampling": {
158
+ "$ref": "#/$defs/clientCapabilityValue"
159
+ },
160
+ "elicitation": {
161
+ "$ref": "#/$defs/clientCapabilityValue"
162
+ },
163
+ "tasks": {
164
+ "$ref": "#/$defs/clientCapabilityValue"
165
+ },
166
+ "extensions": {
167
+ "$ref": "#/$defs/extensionCapabilities"
168
+ },
169
+ "experimental": {
170
+ "type": "object",
171
+ "additionalProperties": {
172
+ "$ref": "#/$defs/clientCapabilityValue"
173
+ }
174
+ }
175
+ },
176
+ "patternProperties": {
177
+ "^x-": {
178
+ "$ref": "#/$defs/specificationExtensionValue"
179
+ }
180
+ },
181
+ "additionalProperties": {
182
+ "$ref": "#/$defs/clientCapabilityValue"
183
+ }
184
+ },
185
+ "jsonSchemaObject": {
186
+ "type": "object",
187
+ "additionalProperties": true
188
+ },
189
+ "referenceObject": {
190
+ "type": "object",
191
+ "required": [
192
+ "$componentRef"
193
+ ],
194
+ "properties": {
195
+ "$componentRef": {
196
+ "type": "string",
197
+ "pattern": "^#/components/(schemas|toolExamples|resourceExamples|resourceTemplateExamples|promptExamples)/[A-Za-z0-9._-]+$"
198
+ }
199
+ },
200
+ "additionalProperties": false
201
+ },
202
+ "schemaComponentValue": {
203
+ "oneOf": [
204
+ {
205
+ "$ref": "#/$defs/referenceObject"
206
+ },
207
+ {
208
+ "allOf": [
209
+ {
210
+ "$ref": "#/$defs/jsonSchemaObject"
211
+ },
212
+ {
213
+ "not": {
214
+ "required": [
215
+ "$componentRef"
216
+ ]
217
+ }
218
+ }
219
+ ]
220
+ }
221
+ ]
222
+ },
223
+ "elicitationFormOption": {
224
+ "type": "object",
225
+ "required": [
226
+ "const",
227
+ "title"
228
+ ],
229
+ "properties": {
230
+ "const": {
231
+ "type": "string"
232
+ },
233
+ "title": {
234
+ "type": "string"
235
+ }
236
+ },
237
+ "additionalProperties": false
238
+ },
239
+ "elicitationFormProperty": {
240
+ "oneOf": [
241
+ {
242
+ "type": "object",
243
+ "required": [
244
+ "type"
245
+ ],
246
+ "properties": {
247
+ "type": {
248
+ "const": "string"
249
+ },
250
+ "title": {
251
+ "type": "string"
252
+ },
253
+ "description": {
254
+ "type": "string"
255
+ },
256
+ "minLength": {
257
+ "type": "integer",
258
+ "minimum": 0
259
+ },
260
+ "maxLength": {
261
+ "type": "integer",
262
+ "minimum": 0
263
+ },
264
+ "format": {
265
+ "enum": [
266
+ "email",
267
+ "uri",
268
+ "date",
269
+ "date-time"
270
+ ]
271
+ },
272
+ "default": {
273
+ "type": "string"
274
+ }
275
+ },
276
+ "additionalProperties": false
277
+ },
278
+ {
279
+ "type": "object",
280
+ "required": [
281
+ "type"
282
+ ],
283
+ "properties": {
284
+ "type": {
285
+ "enum": [
286
+ "number",
287
+ "integer"
288
+ ]
289
+ },
290
+ "title": {
291
+ "type": "string"
292
+ },
293
+ "description": {
294
+ "type": "string"
295
+ },
296
+ "minimum": {
297
+ "type": "number"
298
+ },
299
+ "maximum": {
300
+ "type": "number"
301
+ },
302
+ "default": {
303
+ "type": "number"
304
+ }
305
+ },
306
+ "additionalProperties": false
307
+ },
308
+ {
309
+ "type": "object",
310
+ "required": [
311
+ "type"
312
+ ],
313
+ "properties": {
314
+ "type": {
315
+ "const": "boolean"
316
+ },
317
+ "title": {
318
+ "type": "string"
319
+ },
320
+ "description": {
321
+ "type": "string"
322
+ },
323
+ "default": {
324
+ "type": "boolean"
325
+ }
326
+ },
327
+ "additionalProperties": false
328
+ },
329
+ {
330
+ "type": "object",
331
+ "required": [
332
+ "type",
333
+ "enum"
334
+ ],
335
+ "properties": {
336
+ "type": {
337
+ "const": "string"
338
+ },
339
+ "title": {
340
+ "type": "string"
341
+ },
342
+ "description": {
343
+ "type": "string"
344
+ },
345
+ "enum": {
346
+ "type": "array",
347
+ "items": {
348
+ "type": "string"
349
+ }
350
+ },
351
+ "enumNames": {
352
+ "type": "array",
353
+ "items": {
354
+ "type": "string"
355
+ }
356
+ },
357
+ "default": {
358
+ "type": "string"
359
+ }
360
+ },
361
+ "additionalProperties": false
362
+ },
363
+ {
364
+ "type": "object",
365
+ "required": [
366
+ "type",
367
+ "oneOf"
368
+ ],
369
+ "properties": {
370
+ "type": {
371
+ "const": "string"
372
+ },
373
+ "title": {
374
+ "type": "string"
375
+ },
376
+ "description": {
377
+ "type": "string"
378
+ },
379
+ "oneOf": {
380
+ "type": "array",
381
+ "items": {
382
+ "$ref": "#/$defs/elicitationFormOption"
383
+ }
384
+ },
385
+ "default": {
386
+ "type": "string"
387
+ }
388
+ },
389
+ "additionalProperties": false
390
+ },
391
+ {
392
+ "type": "object",
393
+ "required": [
394
+ "type",
395
+ "items"
396
+ ],
397
+ "properties": {
398
+ "type": {
399
+ "const": "array"
400
+ },
401
+ "title": {
402
+ "type": "string"
403
+ },
404
+ "description": {
405
+ "type": "string"
406
+ },
407
+ "minItems": {
408
+ "type": "integer",
409
+ "minimum": 0
410
+ },
411
+ "maxItems": {
412
+ "type": "integer",
413
+ "minimum": 0
414
+ },
415
+ "items": {
416
+ "oneOf": [
417
+ {
418
+ "type": "object",
419
+ "required": [
420
+ "type",
421
+ "enum"
422
+ ],
423
+ "properties": {
424
+ "type": {
425
+ "const": "string"
426
+ },
427
+ "enum": {
428
+ "type": "array",
429
+ "items": {
430
+ "type": "string"
431
+ }
432
+ }
433
+ },
434
+ "additionalProperties": false
435
+ },
436
+ {
437
+ "type": "object",
438
+ "required": [
439
+ "anyOf"
440
+ ],
441
+ "properties": {
442
+ "anyOf": {
443
+ "type": "array",
444
+ "items": {
445
+ "$ref": "#/$defs/elicitationFormOption"
446
+ }
447
+ }
448
+ },
449
+ "additionalProperties": false
450
+ }
451
+ ]
452
+ },
453
+ "default": {
454
+ "type": "array",
455
+ "items": {
456
+ "type": "string"
457
+ }
458
+ }
459
+ },
460
+ "additionalProperties": false
461
+ }
462
+ ]
463
+ },
464
+ "elicitationFormSchema": {
465
+ "type": "object",
466
+ "required": [
467
+ "type",
468
+ "properties"
469
+ ],
470
+ "properties": {
471
+ "$schema": {
472
+ "type": "string",
473
+ "format": "uri"
474
+ },
475
+ "type": {
476
+ "const": "object"
477
+ },
478
+ "properties": {
479
+ "type": "object",
480
+ "additionalProperties": {
481
+ "$ref": "#/$defs/elicitationFormProperty"
482
+ }
483
+ },
484
+ "required": {
485
+ "type": "array",
486
+ "uniqueItems": true,
487
+ "items": {
488
+ "type": "string"
489
+ }
490
+ }
491
+ },
492
+ "additionalProperties": false
493
+ },
494
+ "elicitationDeclaration": {
495
+ "type": "object",
496
+ "required": [
497
+ "name",
498
+ "mode",
499
+ "message"
500
+ ],
501
+ "properties": {
502
+ "name": {
503
+ "type": "string",
504
+ "pattern": "^[A-Za-z0-9._-]+$"
505
+ },
506
+ "mode": {
507
+ "enum": [
508
+ "form",
509
+ "url"
510
+ ]
511
+ },
512
+ "message": {
513
+ "type": "string",
514
+ "minLength": 1
515
+ },
516
+ "when": {
517
+ "type": "string",
518
+ "minLength": 1
519
+ },
520
+ "requestedSchema": {
521
+ "oneOf": [
522
+ {
523
+ "$ref": "#/$defs/referenceObject"
524
+ },
525
+ {
526
+ "$ref": "#/$defs/elicitationFormSchema"
527
+ }
528
+ ]
529
+ },
530
+ "url": {
531
+ "type": "string",
532
+ "format": "uri"
533
+ },
534
+ "onDecline": {
535
+ "type": "string",
536
+ "minLength": 1
537
+ },
538
+ "onCancel": {
539
+ "type": "string",
540
+ "minLength": 1
541
+ },
542
+ "protocolVersions": {
543
+ "$ref": "#/$defs/protocolVersionScope"
544
+ }
545
+ },
546
+ "oneOf": [
547
+ {
548
+ "properties": {
549
+ "mode": {
550
+ "const": "form"
551
+ }
552
+ },
553
+ "required": [
554
+ "requestedSchema"
555
+ ],
556
+ "not": {
557
+ "required": [
558
+ "url"
559
+ ]
560
+ }
561
+ },
562
+ {
563
+ "properties": {
564
+ "mode": {
565
+ "const": "url"
566
+ }
567
+ },
568
+ "not": {
569
+ "required": [
570
+ "requestedSchema"
571
+ ]
572
+ }
573
+ }
574
+ ],
575
+ "patternProperties": {
576
+ "^x-": {
577
+ "$ref": "#/$defs/specificationExtensionValue"
578
+ }
579
+ },
580
+ "additionalProperties": false
581
+ },
582
+ "tag": {
583
+ "type": "object",
584
+ "required": [
585
+ "name"
586
+ ],
587
+ "properties": {
588
+ "name": {
589
+ "type": "string",
590
+ "minLength": 1
591
+ },
592
+ "description": {
593
+ "type": "string"
594
+ }
595
+ },
596
+ "patternProperties": {
597
+ "^x-": {
598
+ "$ref": "#/$defs/specificationExtensionValue"
599
+ }
600
+ },
601
+ "additionalProperties": false
602
+ },
603
+ "icon": {
604
+ "type": "object",
605
+ "required": [
606
+ "src"
607
+ ],
608
+ "properties": {
609
+ "src": {
610
+ "type": "string",
611
+ "format": "uri"
612
+ },
613
+ "mimeType": {
614
+ "type": "string"
615
+ },
616
+ "sizes": {
617
+ "type": "array",
618
+ "items": {
619
+ "type": "string"
620
+ }
621
+ },
622
+ "theme": {
623
+ "type": "string",
624
+ "enum": [
625
+ "light",
626
+ "dark"
627
+ ]
628
+ }
629
+ },
630
+ "patternProperties": {
631
+ "^x-": {
632
+ "$ref": "#/$defs/specificationExtensionValue"
633
+ }
634
+ },
635
+ "additionalProperties": false
636
+ },
637
+ "icons": {
638
+ "type": "array",
639
+ "minItems": 1,
640
+ "items": {
641
+ "$ref": "#/$defs/icon"
642
+ }
643
+ },
644
+ "contact": {
645
+ "type": "object",
646
+ "properties": {
647
+ "name": {
648
+ "type": "string"
649
+ },
650
+ "url": {
651
+ "type": "string",
652
+ "format": "uri"
653
+ },
654
+ "email": {
655
+ "type": "string",
656
+ "format": "email"
657
+ }
658
+ },
659
+ "patternProperties": {
660
+ "^x-": {
661
+ "$ref": "#/$defs/specificationExtensionValue"
662
+ }
663
+ },
664
+ "additionalProperties": false
665
+ },
666
+ "license": {
667
+ "type": "object",
668
+ "required": [
669
+ "name"
670
+ ],
671
+ "properties": {
672
+ "name": {
673
+ "type": "string"
674
+ },
675
+ "url": {
676
+ "type": "string",
677
+ "format": "uri"
678
+ }
679
+ },
680
+ "patternProperties": {
681
+ "^x-": {
682
+ "$ref": "#/$defs/specificationExtensionValue"
683
+ }
684
+ },
685
+ "additionalProperties": false
686
+ },
687
+ "info": {
688
+ "type": "object",
689
+ "required": [
690
+ "name",
691
+ "version"
692
+ ],
693
+ "properties": {
694
+ "name": {
695
+ "type": "string",
696
+ "minLength": 1
697
+ },
698
+ "title": {
699
+ "type": "string"
700
+ },
701
+ "description": {
702
+ "type": "string"
703
+ },
704
+ "version": {
705
+ "type": "string",
706
+ "minLength": 1
707
+ },
708
+ "id": {
709
+ "type": "string"
710
+ },
711
+ "icons": {
712
+ "$ref": "#/$defs/icons"
713
+ },
714
+ "websiteUrl": {
715
+ "type": "string",
716
+ "format": "uri"
717
+ },
718
+ "contact": {
719
+ "$ref": "#/$defs/contact"
720
+ },
721
+ "license": {
722
+ "$ref": "#/$defs/license"
723
+ }
724
+ },
725
+ "patternProperties": {
726
+ "^x-": {
727
+ "$ref": "#/$defs/specificationExtensionValue"
728
+ }
729
+ },
730
+ "additionalProperties": false
731
+ },
732
+ "oauthFlow": {
733
+ "type": "object",
734
+ "properties": {
735
+ "authorizationUrl": {
736
+ "type": "string",
737
+ "format": "uri"
738
+ },
739
+ "tokenUrl": {
740
+ "type": "string",
741
+ "format": "uri"
742
+ },
743
+ "refreshUrl": {
744
+ "type": "string",
745
+ "format": "uri"
746
+ },
747
+ "scopes": {
748
+ "type": "object",
749
+ "additionalProperties": {
750
+ "type": "string"
751
+ }
752
+ }
753
+ },
754
+ "required": [
755
+ "scopes"
756
+ ],
757
+ "patternProperties": {
758
+ "^x-": {
759
+ "$ref": "#/$defs/specificationExtensionValue"
760
+ }
761
+ },
762
+ "additionalProperties": false
763
+ },
764
+ "oauthFlows": {
765
+ "type": "object",
766
+ "properties": {
767
+ "implicit": {
768
+ "allOf": [
769
+ {
770
+ "$ref": "#/$defs/oauthFlow"
771
+ },
772
+ {
773
+ "required": [
774
+ "authorizationUrl"
775
+ ]
776
+ }
777
+ ]
778
+ },
779
+ "password": {
780
+ "allOf": [
781
+ {
782
+ "$ref": "#/$defs/oauthFlow"
783
+ },
784
+ {
785
+ "required": [
786
+ "tokenUrl"
787
+ ]
788
+ }
789
+ ]
790
+ },
791
+ "clientCredentials": {
792
+ "allOf": [
793
+ {
794
+ "$ref": "#/$defs/oauthFlow"
795
+ },
796
+ {
797
+ "required": [
798
+ "tokenUrl"
799
+ ]
800
+ }
801
+ ]
802
+ },
803
+ "authorizationCode": {
804
+ "allOf": [
805
+ {
806
+ "$ref": "#/$defs/oauthFlow"
807
+ },
808
+ {
809
+ "required": [
810
+ "authorizationUrl",
811
+ "tokenUrl"
812
+ ]
813
+ }
814
+ ]
815
+ }
816
+ },
817
+ "patternProperties": {
818
+ "^x-": {
819
+ "$ref": "#/$defs/specificationExtensionValue"
820
+ }
821
+ },
822
+ "additionalProperties": false,
823
+ "anyOf": [
824
+ {
825
+ "required": [
826
+ "implicit"
827
+ ]
828
+ },
829
+ {
830
+ "required": [
831
+ "password"
832
+ ]
833
+ },
834
+ {
835
+ "required": [
836
+ "clientCredentials"
837
+ ]
838
+ },
839
+ {
840
+ "required": [
841
+ "authorizationCode"
842
+ ]
843
+ }
844
+ ]
845
+ },
846
+ "securityScheme": {
847
+ "oneOf": [
848
+ {
849
+ "type": "object",
850
+ "required": [
851
+ "type",
852
+ "scheme"
853
+ ],
854
+ "properties": {
855
+ "type": {
856
+ "const": "http"
857
+ },
858
+ "scheme": {
859
+ "type": "string"
860
+ },
861
+ "bearerFormat": {
862
+ "type": "string"
863
+ },
864
+ "description": {
865
+ "type": "string"
866
+ }
867
+ },
868
+ "patternProperties": {
869
+ "^x-": {
870
+ "$ref": "#/$defs/specificationExtensionValue"
871
+ }
872
+ },
873
+ "additionalProperties": false
874
+ },
875
+ {
876
+ "type": "object",
877
+ "required": [
878
+ "type",
879
+ "name",
880
+ "in"
881
+ ],
882
+ "properties": {
883
+ "type": {
884
+ "const": "apiKey"
885
+ },
886
+ "name": {
887
+ "type": "string"
888
+ },
889
+ "in": {
890
+ "type": "string",
891
+ "enum": [
892
+ "header",
893
+ "query",
894
+ "cookie"
895
+ ]
896
+ },
897
+ "description": {
898
+ "type": "string"
899
+ }
900
+ },
901
+ "patternProperties": {
902
+ "^x-": {
903
+ "$ref": "#/$defs/specificationExtensionValue"
904
+ }
905
+ },
906
+ "additionalProperties": false
907
+ },
908
+ {
909
+ "type": "object",
910
+ "required": [
911
+ "type",
912
+ "flows"
913
+ ],
914
+ "properties": {
915
+ "type": {
916
+ "const": "oauth2"
917
+ },
918
+ "flows": {
919
+ "$ref": "#/$defs/oauthFlows"
920
+ },
921
+ "description": {
922
+ "type": "string"
923
+ }
924
+ },
925
+ "patternProperties": {
926
+ "^x-": {
927
+ "$ref": "#/$defs/specificationExtensionValue"
928
+ }
929
+ },
930
+ "additionalProperties": false
931
+ },
932
+ {
933
+ "type": "object",
934
+ "required": [
935
+ "type",
936
+ "openIdConnectUrl"
937
+ ],
938
+ "properties": {
939
+ "type": {
940
+ "const": "openIdConnect"
941
+ },
942
+ "openIdConnectUrl": {
943
+ "type": "string",
944
+ "format": "uri"
945
+ },
946
+ "description": {
947
+ "type": "string"
948
+ }
949
+ },
950
+ "patternProperties": {
951
+ "^x-": {
952
+ "$ref": "#/$defs/specificationExtensionValue"
953
+ }
954
+ },
955
+ "additionalProperties": false
956
+ }
957
+ ]
958
+ },
959
+ "securitySchemeMap": {
960
+ "type": "object",
961
+ "minProperties": 1,
962
+ "propertyNames": {
963
+ "pattern": "^[A-Za-z0-9._-]+$"
964
+ },
965
+ "additionalProperties": {
966
+ "$ref": "#/$defs/securityScheme"
967
+ }
968
+ },
969
+ "securityRequirement": {
970
+ "type": "object",
971
+ "propertyNames": {
972
+ "pattern": "^[A-Za-z0-9._-]+$"
973
+ },
974
+ "additionalProperties": {
975
+ "type": "array",
976
+ "items": {
977
+ "type": "string"
978
+ },
979
+ "uniqueItems": true
980
+ }
981
+ },
982
+ "securityRequirementArray": {
983
+ "type": "array",
984
+ "items": {
985
+ "$ref": "#/$defs/securityRequirement"
986
+ }
987
+ },
988
+ "toolAnnotations": {
989
+ "type": "object",
990
+ "properties": {
991
+ "title": {
992
+ "type": "string"
993
+ },
994
+ "readOnlyHint": {
995
+ "type": "boolean"
996
+ },
997
+ "destructiveHint": {
998
+ "type": "boolean"
999
+ },
1000
+ "idempotentHint": {
1001
+ "type": "boolean"
1002
+ },
1003
+ "openWorldHint": {
1004
+ "type": "boolean"
1005
+ }
1006
+ },
1007
+ "additionalProperties": true
1008
+ },
1009
+ "execution": {
1010
+ "type": "object",
1011
+ "properties": {
1012
+ "taskSupport": {
1013
+ "type": "string",
1014
+ "enum": [
1015
+ "forbidden",
1016
+ "optional",
1017
+ "required"
1018
+ ]
1019
+ }
1020
+ },
1021
+ "additionalProperties": false
1022
+ },
1023
+ "metaObject": {
1024
+ "type": "object",
1025
+ "propertyNames": {
1026
+ "pattern": "^(?:(?:[A-Za-z](?:[A-Za-z0-9-]*[A-Za-z0-9])?)(?:\\.[A-Za-z](?:[A-Za-z0-9-]*[A-Za-z0-9])?)*\\/)?(?:[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?)?$"
1027
+ },
1028
+ "additionalProperties": true
1029
+ },
1030
+ "resourceAnnotations": {
1031
+ "type": "object",
1032
+ "properties": {
1033
+ "audience": {
1034
+ "type": "array",
1035
+ "items": {
1036
+ "type": "string",
1037
+ "enum": [
1038
+ "user",
1039
+ "assistant"
1040
+ ]
1041
+ }
1042
+ },
1043
+ "priority": {
1044
+ "type": "number",
1045
+ "minimum": 0,
1046
+ "maximum": 1
1047
+ },
1048
+ "lastModified": {
1049
+ "type": "string"
1050
+ }
1051
+ },
1052
+ "additionalProperties": true
1053
+ },
1054
+ "resourceContents": {
1055
+ "oneOf": [
1056
+ {
1057
+ "type": "object",
1058
+ "required": [
1059
+ "uri",
1060
+ "text"
1061
+ ],
1062
+ "properties": {
1063
+ "uri": {
1064
+ "type": "string",
1065
+ "format": "uri"
1066
+ },
1067
+ "mimeType": {
1068
+ "type": "string"
1069
+ },
1070
+ "text": {
1071
+ "type": "string"
1072
+ },
1073
+ "_meta": {
1074
+ "$ref": "#/$defs/metaObject"
1075
+ }
1076
+ },
1077
+ "additionalProperties": false
1078
+ },
1079
+ {
1080
+ "type": "object",
1081
+ "required": [
1082
+ "uri",
1083
+ "blob"
1084
+ ],
1085
+ "properties": {
1086
+ "uri": {
1087
+ "type": "string",
1088
+ "format": "uri"
1089
+ },
1090
+ "mimeType": {
1091
+ "type": "string"
1092
+ },
1093
+ "blob": {
1094
+ "type": "string"
1095
+ },
1096
+ "_meta": {
1097
+ "$ref": "#/$defs/metaObject"
1098
+ }
1099
+ },
1100
+ "additionalProperties": false
1101
+ }
1102
+ ]
1103
+ },
1104
+ "toolResultContent": {
1105
+ "oneOf": [
1106
+ {
1107
+ "type": "object",
1108
+ "required": [
1109
+ "type",
1110
+ "text"
1111
+ ],
1112
+ "properties": {
1113
+ "type": {
1114
+ "const": "text"
1115
+ },
1116
+ "text": {
1117
+ "type": "string"
1118
+ },
1119
+ "annotations": {
1120
+ "$ref": "#/$defs/resourceAnnotations"
1121
+ },
1122
+ "_meta": {
1123
+ "$ref": "#/$defs/metaObject"
1124
+ }
1125
+ },
1126
+ "additionalProperties": false
1127
+ },
1128
+ {
1129
+ "type": "object",
1130
+ "required": [
1131
+ "type",
1132
+ "data",
1133
+ "mimeType"
1134
+ ],
1135
+ "properties": {
1136
+ "type": {
1137
+ "enum": [
1138
+ "image",
1139
+ "audio"
1140
+ ]
1141
+ },
1142
+ "data": {
1143
+ "type": "string"
1144
+ },
1145
+ "mimeType": {
1146
+ "type": "string"
1147
+ },
1148
+ "annotations": {
1149
+ "$ref": "#/$defs/resourceAnnotations"
1150
+ },
1151
+ "_meta": {
1152
+ "$ref": "#/$defs/metaObject"
1153
+ }
1154
+ },
1155
+ "additionalProperties": false
1156
+ },
1157
+ {
1158
+ "type": "object",
1159
+ "required": [
1160
+ "type",
1161
+ "resource"
1162
+ ],
1163
+ "properties": {
1164
+ "type": {
1165
+ "const": "resource"
1166
+ },
1167
+ "resource": {
1168
+ "$ref": "#/$defs/resourceContents"
1169
+ },
1170
+ "annotations": {
1171
+ "$ref": "#/$defs/resourceAnnotations"
1172
+ },
1173
+ "_meta": {
1174
+ "$ref": "#/$defs/metaObject"
1175
+ }
1176
+ },
1177
+ "additionalProperties": false
1178
+ },
1179
+ {
1180
+ "type": "object",
1181
+ "required": [
1182
+ "type",
1183
+ "uri",
1184
+ "name"
1185
+ ],
1186
+ "properties": {
1187
+ "type": {
1188
+ "const": "resource_link"
1189
+ },
1190
+ "uri": {
1191
+ "type": "string",
1192
+ "format": "uri"
1193
+ },
1194
+ "name": {
1195
+ "type": "string"
1196
+ },
1197
+ "title": {
1198
+ "type": "string"
1199
+ },
1200
+ "description": {
1201
+ "type": "string"
1202
+ },
1203
+ "mimeType": {
1204
+ "type": "string"
1205
+ },
1206
+ "size": {
1207
+ "type": "number"
1208
+ },
1209
+ "icons": {
1210
+ "$ref": "#/$defs/icons"
1211
+ },
1212
+ "annotations": {
1213
+ "$ref": "#/$defs/resourceAnnotations"
1214
+ },
1215
+ "_meta": {
1216
+ "$ref": "#/$defs/metaObject"
1217
+ }
1218
+ },
1219
+ "additionalProperties": false
1220
+ }
1221
+ ]
1222
+ },
1223
+ "completedToolResultExample": {
1224
+ "type": "object",
1225
+ "required": [
1226
+ "content"
1227
+ ],
1228
+ "properties": {
1229
+ "resultType": {
1230
+ "const": "complete"
1231
+ },
1232
+ "content": {
1233
+ "type": "array",
1234
+ "items": {
1235
+ "$ref": "#/$defs/toolResultContent"
1236
+ }
1237
+ },
1238
+ "structuredContent": {
1239
+ "$ref": "#/$defs/jsonValue"
1240
+ },
1241
+ "isError": {
1242
+ "type": "boolean"
1243
+ },
1244
+ "_meta": {
1245
+ "$ref": "#/$defs/metaObject"
1246
+ }
1247
+ },
1248
+ "additionalProperties": true
1249
+ },
1250
+ "toolExample": {
1251
+ "type": "object",
1252
+ "required": [
1253
+ "input",
1254
+ "result"
1255
+ ],
1256
+ "properties": {
1257
+ "input": {
1258
+ "type": "object",
1259
+ "additionalProperties": {
1260
+ "$ref": "#/$defs/jsonValue"
1261
+ }
1262
+ },
1263
+ "result": {
1264
+ "$ref": "#/$defs/completedToolResultExample"
1265
+ }
1266
+ },
1267
+ "patternProperties": {
1268
+ "^x-": {
1269
+ "$ref": "#/$defs/specificationExtensionValue"
1270
+ }
1271
+ },
1272
+ "additionalProperties": false
1273
+ },
1274
+ "toolExamples": {
1275
+ "type": "object",
1276
+ "minProperties": 1,
1277
+ "propertyNames": {
1278
+ "pattern": "^[A-Za-z0-9._-]+$"
1279
+ },
1280
+ "additionalProperties": {
1281
+ "oneOf": [
1282
+ {
1283
+ "$ref": "#/$defs/referenceObject"
1284
+ },
1285
+ {
1286
+ "$ref": "#/$defs/toolExample"
1287
+ }
1288
+ ]
1289
+ }
1290
+ },
1291
+ "elicitationInteractionFormRequest": {
1292
+ "type": "object",
1293
+ "required": [
1294
+ "mode",
1295
+ "message",
1296
+ "requestedSchema"
1297
+ ],
1298
+ "properties": {
1299
+ "mode": {
1300
+ "const": "form"
1301
+ },
1302
+ "message": {
1303
+ "type": "string",
1304
+ "minLength": 1
1305
+ },
1306
+ "requestedSchema": {
1307
+ "$ref": "#/$defs/elicitationFormSchema"
1308
+ }
1309
+ },
1310
+ "additionalProperties": false
1311
+ },
1312
+ "elicitationInteractionUrlRequest": {
1313
+ "type": "object",
1314
+ "required": [
1315
+ "mode",
1316
+ "message",
1317
+ "url"
1318
+ ],
1319
+ "properties": {
1320
+ "mode": {
1321
+ "const": "url"
1322
+ },
1323
+ "message": {
1324
+ "type": "string",
1325
+ "minLength": 1
1326
+ },
1327
+ "url": {
1328
+ "type": "string",
1329
+ "format": "uri"
1330
+ }
1331
+ },
1332
+ "additionalProperties": false
1333
+ },
1334
+ "elicitationInteractionRequest": {
1335
+ "oneOf": [
1336
+ {
1337
+ "$ref": "#/$defs/elicitationInteractionFormRequest"
1338
+ },
1339
+ {
1340
+ "$ref": "#/$defs/elicitationInteractionUrlRequest"
1341
+ }
1342
+ ]
1343
+ },
1344
+ "elicitationInteractionAcceptedResponse": {
1345
+ "type": "object",
1346
+ "required": [
1347
+ "action"
1348
+ ],
1349
+ "properties": {
1350
+ "action": {
1351
+ "const": "accept"
1352
+ },
1353
+ "content": {
1354
+ "type": "object",
1355
+ "additionalProperties": {
1356
+ "$ref": "#/$defs/jsonValue"
1357
+ }
1358
+ }
1359
+ },
1360
+ "additionalProperties": false
1361
+ },
1362
+ "elicitationInteractionDeclinedResponse": {
1363
+ "type": "object",
1364
+ "required": [
1365
+ "action"
1366
+ ],
1367
+ "properties": {
1368
+ "action": {
1369
+ "enum": [
1370
+ "decline",
1371
+ "cancel"
1372
+ ]
1373
+ }
1374
+ },
1375
+ "additionalProperties": false
1376
+ },
1377
+ "elicitationInteractionResponse": {
1378
+ "oneOf": [
1379
+ {
1380
+ "$ref": "#/$defs/elicitationInteractionAcceptedResponse"
1381
+ },
1382
+ {
1383
+ "$ref": "#/$defs/elicitationInteractionDeclinedResponse"
1384
+ }
1385
+ ]
1386
+ },
1387
+ "samplingModelHint": {
1388
+ "type": "object",
1389
+ "required": [
1390
+ "name"
1391
+ ],
1392
+ "properties": {
1393
+ "name": {
1394
+ "type": "string",
1395
+ "minLength": 1
1396
+ }
1397
+ },
1398
+ "additionalProperties": false
1399
+ },
1400
+ "samplingModelPreferences": {
1401
+ "type": "object",
1402
+ "properties": {
1403
+ "hints": {
1404
+ "type": "array",
1405
+ "minItems": 1,
1406
+ "items": {
1407
+ "$ref": "#/$defs/samplingModelHint"
1408
+ }
1409
+ },
1410
+ "costPriority": {
1411
+ "type": "number",
1412
+ "minimum": 0,
1413
+ "maximum": 1
1414
+ },
1415
+ "speedPriority": {
1416
+ "type": "number",
1417
+ "minimum": 0,
1418
+ "maximum": 1
1419
+ },
1420
+ "intelligencePriority": {
1421
+ "type": "number",
1422
+ "minimum": 0,
1423
+ "maximum": 1
1424
+ }
1425
+ },
1426
+ "additionalProperties": false
1427
+ },
1428
+ "samplingToolChoice": {
1429
+ "type": "object",
1430
+ "required": [
1431
+ "mode"
1432
+ ],
1433
+ "properties": {
1434
+ "mode": {
1435
+ "enum": [
1436
+ "auto",
1437
+ "required",
1438
+ "none"
1439
+ ]
1440
+ }
1441
+ },
1442
+ "additionalProperties": false
1443
+ },
1444
+ "samplingRequestTool": {
1445
+ "type": "object",
1446
+ "required": [
1447
+ "name",
1448
+ "inputSchema"
1449
+ ],
1450
+ "properties": {
1451
+ "name": {
1452
+ "type": "string",
1453
+ "minLength": 1
1454
+ },
1455
+ "title": {
1456
+ "type": "string"
1457
+ },
1458
+ "description": {
1459
+ "type": "string"
1460
+ },
1461
+ "inputSchema": {
1462
+ "allOf": [
1463
+ {
1464
+ "$ref": "#/$defs/schemaComponentValue"
1465
+ },
1466
+ {
1467
+ "required": [
1468
+ "type"
1469
+ ],
1470
+ "properties": {
1471
+ "type": {
1472
+ "const": "object"
1473
+ }
1474
+ }
1475
+ }
1476
+ ]
1477
+ },
1478
+ "annotations": {
1479
+ "$ref": "#/$defs/toolAnnotations"
1480
+ }
1481
+ },
1482
+ "patternProperties": {
1483
+ "^x-": {
1484
+ "$ref": "#/$defs/specificationExtensionValue"
1485
+ }
1486
+ },
1487
+ "additionalProperties": false
1488
+ },
1489
+ "samplingToolUseContent": {
1490
+ "type": "object",
1491
+ "required": [
1492
+ "type",
1493
+ "id",
1494
+ "name",
1495
+ "input"
1496
+ ],
1497
+ "properties": {
1498
+ "type": {
1499
+ "const": "tool_use"
1500
+ },
1501
+ "id": {
1502
+ "type": "string"
1503
+ },
1504
+ "name": {
1505
+ "type": "string"
1506
+ },
1507
+ "input": {
1508
+ "type": "object",
1509
+ "additionalProperties": {
1510
+ "$ref": "#/$defs/jsonValue"
1511
+ }
1512
+ }
1513
+ },
1514
+ "additionalProperties": false
1515
+ },
1516
+ "samplingToolResultContent": {
1517
+ "type": "object",
1518
+ "required": [
1519
+ "type",
1520
+ "toolUseId",
1521
+ "content"
1522
+ ],
1523
+ "properties": {
1524
+ "type": {
1525
+ "const": "tool_result"
1526
+ },
1527
+ "toolUseId": {
1528
+ "type": "string"
1529
+ },
1530
+ "content": {
1531
+ "oneOf": [
1532
+ {
1533
+ "$ref": "#/$defs/toolResultContent"
1534
+ },
1535
+ {
1536
+ "type": "array",
1537
+ "minItems": 1,
1538
+ "items": {
1539
+ "$ref": "#/$defs/toolResultContent"
1540
+ }
1541
+ }
1542
+ ]
1543
+ },
1544
+ "isError": {
1545
+ "type": "boolean"
1546
+ }
1547
+ },
1548
+ "additionalProperties": false
1549
+ },
1550
+ "samplingContentBlock": {
1551
+ "oneOf": [
1552
+ {
1553
+ "$ref": "#/$defs/toolResultContent"
1554
+ },
1555
+ {
1556
+ "$ref": "#/$defs/samplingToolUseContent"
1557
+ },
1558
+ {
1559
+ "$ref": "#/$defs/samplingToolResultContent"
1560
+ }
1561
+ ]
1562
+ },
1563
+ "samplingMessageContent": {
1564
+ "oneOf": [
1565
+ {
1566
+ "$ref": "#/$defs/samplingContentBlock"
1567
+ },
1568
+ {
1569
+ "type": "array",
1570
+ "minItems": 1,
1571
+ "items": {
1572
+ "$ref": "#/$defs/samplingContentBlock"
1573
+ }
1574
+ }
1575
+ ]
1576
+ },
1577
+ "samplingMessage": {
1578
+ "type": "object",
1579
+ "required": [
1580
+ "role",
1581
+ "content"
1582
+ ],
1583
+ "properties": {
1584
+ "role": {
1585
+ "enum": [
1586
+ "user",
1587
+ "assistant"
1588
+ ]
1589
+ },
1590
+ "content": {
1591
+ "$ref": "#/$defs/samplingMessageContent"
1592
+ }
1593
+ },
1594
+ "additionalProperties": false
1595
+ },
1596
+ "samplingCreateMessageRequest": {
1597
+ "type": "object",
1598
+ "required": [
1599
+ "messages",
1600
+ "maxTokens"
1601
+ ],
1602
+ "properties": {
1603
+ "messages": {
1604
+ "type": "array",
1605
+ "minItems": 1,
1606
+ "items": {
1607
+ "$ref": "#/$defs/samplingMessage"
1608
+ }
1609
+ },
1610
+ "modelPreferences": {
1611
+ "$ref": "#/$defs/samplingModelPreferences"
1612
+ },
1613
+ "systemPrompt": {
1614
+ "type": "string"
1615
+ },
1616
+ "includeContext": {
1617
+ "enum": [
1618
+ "none",
1619
+ "thisServer",
1620
+ "allServers"
1621
+ ]
1622
+ },
1623
+ "maxTokens": {
1624
+ "type": "integer",
1625
+ "minimum": 1
1626
+ },
1627
+ "temperature": {
1628
+ "type": "number"
1629
+ },
1630
+ "stopSequences": {
1631
+ "type": "array",
1632
+ "items": {
1633
+ "type": "string"
1634
+ }
1635
+ },
1636
+ "metadata": {
1637
+ "type": "object",
1638
+ "additionalProperties": {
1639
+ "$ref": "#/$defs/jsonValue"
1640
+ }
1641
+ },
1642
+ "tools": {
1643
+ "type": "array",
1644
+ "minItems": 1,
1645
+ "items": {
1646
+ "$ref": "#/$defs/samplingRequestTool"
1647
+ }
1648
+ },
1649
+ "toolChoice": {
1650
+ "$ref": "#/$defs/samplingToolChoice"
1651
+ }
1652
+ },
1653
+ "additionalProperties": false
1654
+ },
1655
+ "samplingCreateMessageResult": {
1656
+ "type": "object",
1657
+ "required": [
1658
+ "role",
1659
+ "content",
1660
+ "model"
1661
+ ],
1662
+ "properties": {
1663
+ "role": {
1664
+ "const": "assistant"
1665
+ },
1666
+ "content": {
1667
+ "$ref": "#/$defs/samplingMessageContent"
1668
+ },
1669
+ "model": {
1670
+ "type": "string"
1671
+ },
1672
+ "stopReason": {
1673
+ "type": "string"
1674
+ }
1675
+ },
1676
+ "additionalProperties": false
1677
+ },
1678
+ "rootDeclaration": {
1679
+ "type": "object",
1680
+ "required": [
1681
+ "uri"
1682
+ ],
1683
+ "properties": {
1684
+ "uri": {
1685
+ "type": "string",
1686
+ "format": "uri"
1687
+ },
1688
+ "name": {
1689
+ "type": "string"
1690
+ }
1691
+ },
1692
+ "additionalProperties": false
1693
+ },
1694
+ "rootsListRequest": {
1695
+ "type": "object",
1696
+ "maxProperties": 0,
1697
+ "additionalProperties": false
1698
+ },
1699
+ "rootsListResult": {
1700
+ "type": "object",
1701
+ "required": [
1702
+ "roots"
1703
+ ],
1704
+ "properties": {
1705
+ "roots": {
1706
+ "type": "array",
1707
+ "items": {
1708
+ "$ref": "#/$defs/rootDeclaration"
1709
+ }
1710
+ }
1711
+ },
1712
+ "additionalProperties": false
1713
+ },
1714
+ "toolInteractionElicitationStep": {
1715
+ "type": "object",
1716
+ "required": [
1717
+ "type",
1718
+ "request",
1719
+ "response"
1720
+ ],
1721
+ "properties": {
1722
+ "type": {
1723
+ "const": "elicitation"
1724
+ },
1725
+ "declaration": {
1726
+ "type": "string",
1727
+ "pattern": "^[A-Za-z0-9._-]+$"
1728
+ },
1729
+ "request": {
1730
+ "$ref": "#/$defs/elicitationInteractionRequest"
1731
+ },
1732
+ "response": {
1733
+ "$ref": "#/$defs/elicitationInteractionResponse"
1734
+ }
1735
+ },
1736
+ "patternProperties": {
1737
+ "^x-": {
1738
+ "$ref": "#/$defs/specificationExtensionValue"
1739
+ }
1740
+ },
1741
+ "additionalProperties": false
1742
+ },
1743
+ "toolInteractionSamplingStep": {
1744
+ "type": "object",
1745
+ "required": [
1746
+ "type",
1747
+ "request",
1748
+ "response"
1749
+ ],
1750
+ "properties": {
1751
+ "type": {
1752
+ "const": "sampling"
1753
+ },
1754
+ "request": {
1755
+ "$ref": "#/$defs/samplingCreateMessageRequest"
1756
+ },
1757
+ "response": {
1758
+ "$ref": "#/$defs/samplingCreateMessageResult"
1759
+ }
1760
+ },
1761
+ "patternProperties": {
1762
+ "^x-": {
1763
+ "$ref": "#/$defs/specificationExtensionValue"
1764
+ }
1765
+ },
1766
+ "additionalProperties": false
1767
+ },
1768
+ "toolInteractionRootsStep": {
1769
+ "type": "object",
1770
+ "required": [
1771
+ "type",
1772
+ "request",
1773
+ "response"
1774
+ ],
1775
+ "properties": {
1776
+ "type": {
1777
+ "const": "roots"
1778
+ },
1779
+ "request": {
1780
+ "$ref": "#/$defs/rootsListRequest"
1781
+ },
1782
+ "response": {
1783
+ "$ref": "#/$defs/rootsListResult"
1784
+ }
1785
+ },
1786
+ "patternProperties": {
1787
+ "^x-": {
1788
+ "$ref": "#/$defs/specificationExtensionValue"
1789
+ }
1790
+ },
1791
+ "additionalProperties": false
1792
+ },
1793
+ "toolInteractionStep": {
1794
+ "oneOf": [
1795
+ {
1796
+ "$ref": "#/$defs/toolInteractionElicitationStep"
1797
+ },
1798
+ {
1799
+ "$ref": "#/$defs/toolInteractionSamplingStep"
1800
+ },
1801
+ {
1802
+ "$ref": "#/$defs/toolInteractionRootsStep"
1803
+ }
1804
+ ]
1805
+ },
1806
+ "toolInteractionExample": {
1807
+ "type": "object",
1808
+ "required": [
1809
+ "input",
1810
+ "steps",
1811
+ "result"
1812
+ ],
1813
+ "properties": {
1814
+ "input": {
1815
+ "type": "object",
1816
+ "additionalProperties": {
1817
+ "$ref": "#/$defs/jsonValue"
1818
+ }
1819
+ },
1820
+ "steps": {
1821
+ "type": "array",
1822
+ "minItems": 1,
1823
+ "items": {
1824
+ "$ref": "#/$defs/toolInteractionStep"
1825
+ }
1826
+ },
1827
+ "result": {
1828
+ "$ref": "#/$defs/completedToolResultExample"
1829
+ }
1830
+ },
1831
+ "patternProperties": {
1832
+ "^x-": {
1833
+ "$ref": "#/$defs/specificationExtensionValue"
1834
+ }
1835
+ },
1836
+ "additionalProperties": false
1837
+ },
1838
+ "toolInteractionExamples": {
1839
+ "type": "object",
1840
+ "minProperties": 1,
1841
+ "propertyNames": {
1842
+ "pattern": "^[A-Za-z0-9._-]+$"
1843
+ },
1844
+ "additionalProperties": {
1845
+ "$ref": "#/$defs/toolInteractionExample"
1846
+ }
1847
+ },
1848
+ "completedReadResourceResultExample": {
1849
+ "type": "object",
1850
+ "required": [
1851
+ "contents"
1852
+ ],
1853
+ "properties": {
1854
+ "resultType": {
1855
+ "const": "complete"
1856
+ },
1857
+ "ttlMs": {
1858
+ "type": "number",
1859
+ "minimum": 0
1860
+ },
1861
+ "cacheScope": {
1862
+ "enum": [
1863
+ "public",
1864
+ "private"
1865
+ ]
1866
+ },
1867
+ "contents": {
1868
+ "type": "array",
1869
+ "minItems": 1,
1870
+ "items": {
1871
+ "$ref": "#/$defs/resourceContents"
1872
+ }
1873
+ },
1874
+ "_meta": {
1875
+ "$ref": "#/$defs/metaObject"
1876
+ }
1877
+ },
1878
+ "additionalProperties": true
1879
+ },
1880
+ "resourceExample": {
1881
+ "type": "object",
1882
+ "required": [
1883
+ "result"
1884
+ ],
1885
+ "properties": {
1886
+ "result": {
1887
+ "$ref": "#/$defs/completedReadResourceResultExample"
1888
+ }
1889
+ },
1890
+ "patternProperties": {
1891
+ "^x-": {
1892
+ "$ref": "#/$defs/specificationExtensionValue"
1893
+ }
1894
+ },
1895
+ "additionalProperties": false
1896
+ },
1897
+ "resourceExamples": {
1898
+ "type": "object",
1899
+ "minProperties": 1,
1900
+ "propertyNames": {
1901
+ "pattern": "^[A-Za-z0-9._-]+$"
1902
+ },
1903
+ "additionalProperties": {
1904
+ "oneOf": [
1905
+ {
1906
+ "$ref": "#/$defs/referenceObject"
1907
+ },
1908
+ {
1909
+ "$ref": "#/$defs/resourceExample"
1910
+ }
1911
+ ]
1912
+ }
1913
+ },
1914
+ "resourceTemplateExample": {
1915
+ "type": "object",
1916
+ "required": [
1917
+ "uri",
1918
+ "result"
1919
+ ],
1920
+ "properties": {
1921
+ "uri": {
1922
+ "type": "string",
1923
+ "format": "uri"
1924
+ },
1925
+ "result": {
1926
+ "$ref": "#/$defs/completedReadResourceResultExample"
1927
+ }
1928
+ },
1929
+ "patternProperties": {
1930
+ "^x-": {
1931
+ "$ref": "#/$defs/specificationExtensionValue"
1932
+ }
1933
+ },
1934
+ "additionalProperties": false
1935
+ },
1936
+ "resourceTemplateExamples": {
1937
+ "type": "object",
1938
+ "minProperties": 1,
1939
+ "propertyNames": {
1940
+ "pattern": "^[A-Za-z0-9._-]+$"
1941
+ },
1942
+ "additionalProperties": {
1943
+ "oneOf": [
1944
+ {
1945
+ "$ref": "#/$defs/referenceObject"
1946
+ },
1947
+ {
1948
+ "$ref": "#/$defs/resourceTemplateExample"
1949
+ }
1950
+ ]
1951
+ }
1952
+ },
1953
+ "promptMessageExample": {
1954
+ "type": "object",
1955
+ "required": [
1956
+ "role",
1957
+ "content"
1958
+ ],
1959
+ "properties": {
1960
+ "role": {
1961
+ "type": "string",
1962
+ "enum": [
1963
+ "user",
1964
+ "assistant"
1965
+ ]
1966
+ },
1967
+ "content": {
1968
+ "$ref": "#/$defs/toolResultContent"
1969
+ }
1970
+ },
1971
+ "additionalProperties": false
1972
+ },
1973
+ "completedPromptResultExample": {
1974
+ "type": "object",
1975
+ "required": [
1976
+ "messages"
1977
+ ],
1978
+ "properties": {
1979
+ "resultType": {
1980
+ "const": "complete"
1981
+ },
1982
+ "description": {
1983
+ "type": "string"
1984
+ },
1985
+ "messages": {
1986
+ "type": "array",
1987
+ "items": {
1988
+ "$ref": "#/$defs/promptMessageExample"
1989
+ }
1990
+ },
1991
+ "_meta": {
1992
+ "$ref": "#/$defs/metaObject"
1993
+ }
1994
+ },
1995
+ "additionalProperties": true
1996
+ },
1997
+ "promptExample": {
1998
+ "type": "object",
1999
+ "required": [
2000
+ "result"
2001
+ ],
2002
+ "properties": {
2003
+ "arguments": {
2004
+ "type": "object",
2005
+ "additionalProperties": {
2006
+ "type": "string"
2007
+ }
2008
+ },
2009
+ "result": {
2010
+ "$ref": "#/$defs/completedPromptResultExample"
2011
+ }
2012
+ },
2013
+ "patternProperties": {
2014
+ "^x-": {
2015
+ "$ref": "#/$defs/specificationExtensionValue"
2016
+ }
2017
+ },
2018
+ "additionalProperties": false
2019
+ },
2020
+ "promptExamples": {
2021
+ "type": "object",
2022
+ "minProperties": 1,
2023
+ "propertyNames": {
2024
+ "pattern": "^[A-Za-z0-9._-]+$"
2025
+ },
2026
+ "additionalProperties": {
2027
+ "oneOf": [
2028
+ {
2029
+ "$ref": "#/$defs/referenceObject"
2030
+ },
2031
+ {
2032
+ "$ref": "#/$defs/promptExample"
2033
+ }
2034
+ ]
2035
+ }
2036
+ },
2037
+ "completionArgument": {
2038
+ "type": "object",
2039
+ "required": [
2040
+ "name",
2041
+ "value"
2042
+ ],
2043
+ "properties": {
2044
+ "name": {
2045
+ "type": "string"
2046
+ },
2047
+ "value": {
2048
+ "type": "string"
2049
+ }
2050
+ },
2051
+ "patternProperties": {
2052
+ "^x-": {
2053
+ "$ref": "#/$defs/specificationExtensionValue"
2054
+ }
2055
+ },
2056
+ "additionalProperties": false
2057
+ },
2058
+ "completionContext": {
2059
+ "type": "object",
2060
+ "required": [
2061
+ "arguments"
2062
+ ],
2063
+ "properties": {
2064
+ "arguments": {
2065
+ "type": "object",
2066
+ "minProperties": 1,
2067
+ "additionalProperties": {
2068
+ "type": "string"
2069
+ }
2070
+ }
2071
+ },
2072
+ "patternProperties": {
2073
+ "^x-": {
2074
+ "$ref": "#/$defs/specificationExtensionValue"
2075
+ }
2076
+ },
2077
+ "additionalProperties": false
2078
+ },
2079
+ "completionResult": {
2080
+ "type": "object",
2081
+ "required": [
2082
+ "values"
2083
+ ],
2084
+ "properties": {
2085
+ "values": {
2086
+ "type": "array",
2087
+ "maxItems": 100,
2088
+ "items": {
2089
+ "type": "string"
2090
+ }
2091
+ },
2092
+ "total": {
2093
+ "type": "integer",
2094
+ "minimum": 0
2095
+ },
2096
+ "hasMore": {
2097
+ "type": "boolean"
2098
+ }
2099
+ },
2100
+ "additionalProperties": true
2101
+ },
2102
+ "completedCompletionResultExample": {
2103
+ "type": "object",
2104
+ "required": [
2105
+ "completion"
2106
+ ],
2107
+ "properties": {
2108
+ "resultType": {
2109
+ "const": "complete"
2110
+ },
2111
+ "completion": {
2112
+ "$ref": "#/$defs/completionResult"
2113
+ },
2114
+ "_meta": {
2115
+ "$ref": "#/$defs/metaObject"
2116
+ }
2117
+ },
2118
+ "additionalProperties": true
2119
+ },
2120
+ "completionExample": {
2121
+ "type": "object",
2122
+ "required": [
2123
+ "argument",
2124
+ "result"
2125
+ ],
2126
+ "properties": {
2127
+ "argument": {
2128
+ "$ref": "#/$defs/completionArgument"
2129
+ },
2130
+ "context": {
2131
+ "$ref": "#/$defs/completionContext"
2132
+ },
2133
+ "result": {
2134
+ "$ref": "#/$defs/completedCompletionResultExample"
2135
+ }
2136
+ },
2137
+ "patternProperties": {
2138
+ "^x-": {
2139
+ "$ref": "#/$defs/specificationExtensionValue"
2140
+ }
2141
+ },
2142
+ "additionalProperties": false
2143
+ },
2144
+ "completionExamples": {
2145
+ "type": "object",
2146
+ "minProperties": 1,
2147
+ "propertyNames": {
2148
+ "pattern": "^[A-Za-z0-9._-]+$"
2149
+ },
2150
+ "additionalProperties": {
2151
+ "$ref": "#/$defs/completionExample"
2152
+ }
2153
+ },
2154
+ "componentMap": {
2155
+ "type": "object",
2156
+ "minProperties": 1,
2157
+ "propertyNames": {
2158
+ "pattern": "^[A-Za-z0-9._-]+$"
2159
+ }
2160
+ },
2161
+ "components": {
2162
+ "type": "object",
2163
+ "minProperties": 1,
2164
+ "properties": {
2165
+ "schemas": {
2166
+ "allOf": [
2167
+ {
2168
+ "$ref": "#/$defs/componentMap"
2169
+ },
2170
+ {
2171
+ "additionalProperties": {
2172
+ "$ref": "#/$defs/schemaComponentValue"
2173
+ }
2174
+ }
2175
+ ]
2176
+ },
2177
+ "toolExamples": {
2178
+ "allOf": [
2179
+ {
2180
+ "$ref": "#/$defs/componentMap"
2181
+ },
2182
+ {
2183
+ "additionalProperties": {
2184
+ "oneOf": [
2185
+ {
2186
+ "$ref": "#/$defs/referenceObject"
2187
+ },
2188
+ {
2189
+ "$ref": "#/$defs/toolExample"
2190
+ }
2191
+ ]
2192
+ }
2193
+ }
2194
+ ]
2195
+ },
2196
+ "resourceExamples": {
2197
+ "allOf": [
2198
+ {
2199
+ "$ref": "#/$defs/componentMap"
2200
+ },
2201
+ {
2202
+ "additionalProperties": {
2203
+ "oneOf": [
2204
+ {
2205
+ "$ref": "#/$defs/referenceObject"
2206
+ },
2207
+ {
2208
+ "$ref": "#/$defs/resourceExample"
2209
+ }
2210
+ ]
2211
+ }
2212
+ }
2213
+ ]
2214
+ },
2215
+ "resourceTemplateExamples": {
2216
+ "allOf": [
2217
+ {
2218
+ "$ref": "#/$defs/componentMap"
2219
+ },
2220
+ {
2221
+ "additionalProperties": {
2222
+ "oneOf": [
2223
+ {
2224
+ "$ref": "#/$defs/referenceObject"
2225
+ },
2226
+ {
2227
+ "$ref": "#/$defs/resourceTemplateExample"
2228
+ }
2229
+ ]
2230
+ }
2231
+ }
2232
+ ]
2233
+ },
2234
+ "promptExamples": {
2235
+ "allOf": [
2236
+ {
2237
+ "$ref": "#/$defs/componentMap"
2238
+ },
2239
+ {
2240
+ "additionalProperties": {
2241
+ "oneOf": [
2242
+ {
2243
+ "$ref": "#/$defs/referenceObject"
2244
+ },
2245
+ {
2246
+ "$ref": "#/$defs/promptExample"
2247
+ }
2248
+ ]
2249
+ }
2250
+ }
2251
+ ]
2252
+ }
2253
+ },
2254
+ "patternProperties": {
2255
+ "^x-": {
2256
+ "$ref": "#/$defs/specificationExtensionValue"
2257
+ }
2258
+ },
2259
+ "additionalProperties": false
2260
+ },
2261
+ "promptArgument": {
2262
+ "type": "object",
2263
+ "required": [
2264
+ "name"
2265
+ ],
2266
+ "properties": {
2267
+ "name": {
2268
+ "type": "string"
2269
+ },
2270
+ "title": {
2271
+ "type": "string"
2272
+ },
2273
+ "description": {
2274
+ "type": "string"
2275
+ },
2276
+ "required": {
2277
+ "type": "boolean"
2278
+ }
2279
+ },
2280
+ "patternProperties": {
2281
+ "^x-": {
2282
+ "$ref": "#/$defs/specificationExtensionValue"
2283
+ }
2284
+ },
2285
+ "additionalProperties": false
2286
+ },
2287
+ "tool": {
2288
+ "type": "object",
2289
+ "required": [
2290
+ "name",
2291
+ "inputSchema"
2292
+ ],
2293
+ "properties": {
2294
+ "protocolVersions": {
2295
+ "$ref": "#/$defs/protocolVersionScope"
2296
+ },
2297
+ "title": {
2298
+ "type": "string"
2299
+ },
2300
+ "description": {
2301
+ "type": "string"
2302
+ },
2303
+ "icons": {
2304
+ "$ref": "#/$defs/icons"
2305
+ },
2306
+ "tags": {
2307
+ "type": "array",
2308
+ "minItems": 1,
2309
+ "items": {
2310
+ "type": "string"
2311
+ },
2312
+ "uniqueItems": true
2313
+ },
2314
+ "deprecated": {
2315
+ "type": "boolean"
2316
+ },
2317
+ "_meta": {
2318
+ "$ref": "#/$defs/metaObject"
2319
+ },
2320
+ "security": {
2321
+ "$ref": "#/$defs/securityRequirementArray"
2322
+ },
2323
+ "clientRequirements": {
2324
+ "$ref": "#/$defs/clientCapabilityRequirements"
2325
+ },
2326
+ "name": {
2327
+ "type": "string",
2328
+ "minLength": 1
2329
+ },
2330
+ "inputSchema": {
2331
+ "oneOf": [
2332
+ {
2333
+ "$ref": "#/$defs/referenceObject"
2334
+ },
2335
+ {
2336
+ "allOf": [
2337
+ {
2338
+ "$ref": "#/$defs/schemaComponentValue"
2339
+ },
2340
+ {
2341
+ "required": [
2342
+ "type"
2343
+ ],
2344
+ "properties": {
2345
+ "type": {
2346
+ "const": "object"
2347
+ }
2348
+ }
2349
+ }
2350
+ ]
2351
+ }
2352
+ ]
2353
+ },
2354
+ "outputSchema": {
2355
+ "$ref": "#/$defs/schemaComponentValue"
2356
+ },
2357
+ "annotations": {
2358
+ "$ref": "#/$defs/toolAnnotations"
2359
+ },
2360
+ "execution": {
2361
+ "$ref": "#/$defs/execution"
2362
+ },
2363
+ "examples": {
2364
+ "$ref": "#/$defs/toolExamples"
2365
+ },
2366
+ "interactionExamples": {
2367
+ "$ref": "#/$defs/toolInteractionExamples"
2368
+ },
2369
+ "elicitations": {
2370
+ "type": "array",
2371
+ "minItems": 1,
2372
+ "items": {
2373
+ "$ref": "#/$defs/elicitationDeclaration"
2374
+ }
2375
+ }
2376
+ },
2377
+ "patternProperties": {
2378
+ "^x-": {
2379
+ "$ref": "#/$defs/specificationExtensionValue"
2380
+ }
2381
+ },
2382
+ "additionalProperties": false
2383
+ },
2384
+ "resource": {
2385
+ "type": "object",
2386
+ "required": [
2387
+ "uri",
2388
+ "name"
2389
+ ],
2390
+ "properties": {
2391
+ "protocolVersions": {
2392
+ "$ref": "#/$defs/protocolVersionScope"
2393
+ },
2394
+ "title": {
2395
+ "type": "string"
2396
+ },
2397
+ "description": {
2398
+ "type": "string"
2399
+ },
2400
+ "icons": {
2401
+ "$ref": "#/$defs/icons"
2402
+ },
2403
+ "tags": {
2404
+ "type": "array",
2405
+ "minItems": 1,
2406
+ "items": {
2407
+ "type": "string"
2408
+ },
2409
+ "uniqueItems": true
2410
+ },
2411
+ "deprecated": {
2412
+ "type": "boolean"
2413
+ },
2414
+ "_meta": {
2415
+ "$ref": "#/$defs/metaObject"
2416
+ },
2417
+ "security": {
2418
+ "$ref": "#/$defs/securityRequirementArray"
2419
+ },
2420
+ "clientRequirements": {
2421
+ "$ref": "#/$defs/clientCapabilityRequirements"
2422
+ },
2423
+ "uri": {
2424
+ "type": "string"
2425
+ },
2426
+ "name": {
2427
+ "type": "string"
2428
+ },
2429
+ "mimeType": {
2430
+ "type": "string"
2431
+ },
2432
+ "size": {
2433
+ "type": "number"
2434
+ },
2435
+ "annotations": {
2436
+ "$ref": "#/$defs/resourceAnnotations"
2437
+ },
2438
+ "examples": {
2439
+ "$ref": "#/$defs/resourceExamples"
2440
+ },
2441
+ "elicitations": {
2442
+ "type": "array",
2443
+ "minItems": 1,
2444
+ "items": {
2445
+ "$ref": "#/$defs/elicitationDeclaration"
2446
+ }
2447
+ }
2448
+ },
2449
+ "patternProperties": {
2450
+ "^x-": {
2451
+ "$ref": "#/$defs/specificationExtensionValue"
2452
+ }
2453
+ },
2454
+ "additionalProperties": false
2455
+ },
2456
+ "resourceTemplate": {
2457
+ "type": "object",
2458
+ "required": [
2459
+ "uriTemplate",
2460
+ "name"
2461
+ ],
2462
+ "properties": {
2463
+ "protocolVersions": {
2464
+ "$ref": "#/$defs/protocolVersionScope"
2465
+ },
2466
+ "title": {
2467
+ "type": "string"
2468
+ },
2469
+ "description": {
2470
+ "type": "string"
2471
+ },
2472
+ "icons": {
2473
+ "$ref": "#/$defs/icons"
2474
+ },
2475
+ "tags": {
2476
+ "type": "array",
2477
+ "minItems": 1,
2478
+ "items": {
2479
+ "type": "string"
2480
+ },
2481
+ "uniqueItems": true
2482
+ },
2483
+ "deprecated": {
2484
+ "type": "boolean"
2485
+ },
2486
+ "_meta": {
2487
+ "$ref": "#/$defs/metaObject"
2488
+ },
2489
+ "security": {
2490
+ "$ref": "#/$defs/securityRequirementArray"
2491
+ },
2492
+ "clientRequirements": {
2493
+ "$ref": "#/$defs/clientCapabilityRequirements"
2494
+ },
2495
+ "uriTemplate": {
2496
+ "type": "string"
2497
+ },
2498
+ "name": {
2499
+ "type": "string"
2500
+ },
2501
+ "mimeType": {
2502
+ "type": "string"
2503
+ },
2504
+ "annotations": {
2505
+ "$ref": "#/$defs/resourceAnnotations"
2506
+ },
2507
+ "examples": {
2508
+ "$ref": "#/$defs/resourceTemplateExamples"
2509
+ },
2510
+ "completionExamples": {
2511
+ "$ref": "#/$defs/completionExamples"
2512
+ },
2513
+ "elicitations": {
2514
+ "type": "array",
2515
+ "minItems": 1,
2516
+ "items": {
2517
+ "$ref": "#/$defs/elicitationDeclaration"
2518
+ }
2519
+ }
2520
+ },
2521
+ "patternProperties": {
2522
+ "^x-": {
2523
+ "$ref": "#/$defs/specificationExtensionValue"
2524
+ }
2525
+ },
2526
+ "additionalProperties": false
2527
+ },
2528
+ "prompt": {
2529
+ "type": "object",
2530
+ "required": [
2531
+ "name"
2532
+ ],
2533
+ "properties": {
2534
+ "protocolVersions": {
2535
+ "$ref": "#/$defs/protocolVersionScope"
2536
+ },
2537
+ "title": {
2538
+ "type": "string"
2539
+ },
2540
+ "description": {
2541
+ "type": "string"
2542
+ },
2543
+ "icons": {
2544
+ "$ref": "#/$defs/icons"
2545
+ },
2546
+ "tags": {
2547
+ "type": "array",
2548
+ "minItems": 1,
2549
+ "items": {
2550
+ "type": "string"
2551
+ },
2552
+ "uniqueItems": true
2553
+ },
2554
+ "deprecated": {
2555
+ "type": "boolean"
2556
+ },
2557
+ "_meta": {
2558
+ "$ref": "#/$defs/metaObject"
2559
+ },
2560
+ "security": {
2561
+ "$ref": "#/$defs/securityRequirementArray"
2562
+ },
2563
+ "clientRequirements": {
2564
+ "$ref": "#/$defs/clientCapabilityRequirements"
2565
+ },
2566
+ "name": {
2567
+ "type": "string"
2568
+ },
2569
+ "arguments": {
2570
+ "type": "array",
2571
+ "minItems": 1,
2572
+ "items": {
2573
+ "$ref": "#/$defs/promptArgument"
2574
+ }
2575
+ },
2576
+ "examples": {
2577
+ "$ref": "#/$defs/promptExamples"
2578
+ },
2579
+ "completionExamples": {
2580
+ "$ref": "#/$defs/completionExamples"
2581
+ },
2582
+ "elicitations": {
2583
+ "type": "array",
2584
+ "minItems": 1,
2585
+ "items": {
2586
+ "$ref": "#/$defs/elicitationDeclaration"
2587
+ }
2588
+ }
2589
+ },
2590
+ "patternProperties": {
2591
+ "^x-": {
2592
+ "$ref": "#/$defs/specificationExtensionValue"
2593
+ }
2594
+ },
2595
+ "additionalProperties": false
2596
+ },
2597
+ "transport": {
2598
+ "oneOf": [
2599
+ {
2600
+ "type": "object",
2601
+ "required": [
2602
+ "type",
2603
+ "url"
2604
+ ],
2605
+ "properties": {
2606
+ "protocolVersions": {
2607
+ "$ref": "#/$defs/protocolVersionScope"
2608
+ },
2609
+ "type": {
2610
+ "const": "streamable-http"
2611
+ },
2612
+ "url": {
2613
+ "type": "string",
2614
+ "format": "uri"
2615
+ },
2616
+ "security": {
2617
+ "$ref": "#/$defs/securityRequirementArray"
2618
+ }
2619
+ },
2620
+ "patternProperties": {
2621
+ "^x-": {
2622
+ "$ref": "#/$defs/specificationExtensionValue"
2623
+ }
2624
+ },
2625
+ "additionalProperties": false
2626
+ },
2627
+ {
2628
+ "type": "object",
2629
+ "required": [
2630
+ "type",
2631
+ "command"
2632
+ ],
2633
+ "properties": {
2634
+ "protocolVersions": {
2635
+ "$ref": "#/$defs/protocolVersionScope"
2636
+ },
2637
+ "type": {
2638
+ "const": "stdio"
2639
+ },
2640
+ "command": {
2641
+ "type": "string"
2642
+ },
2643
+ "args": {
2644
+ "type": "array",
2645
+ "items": {
2646
+ "type": "string"
2647
+ }
2648
+ },
2649
+ "env": {
2650
+ "type": "object",
2651
+ "additionalProperties": {
2652
+ "type": "string"
2653
+ }
2654
+ },
2655
+ "security": {
2656
+ "$ref": "#/$defs/securityRequirementArray"
2657
+ }
2658
+ },
2659
+ "patternProperties": {
2660
+ "^x-": {
2661
+ "$ref": "#/$defs/specificationExtensionValue"
2662
+ }
2663
+ },
2664
+ "additionalProperties": false
2665
+ },
2666
+ {
2667
+ "type": "object",
2668
+ "required": [
2669
+ "type",
2670
+ "url"
2671
+ ],
2672
+ "properties": {
2673
+ "protocolVersions": {
2674
+ "$ref": "#/$defs/protocolVersionScope"
2675
+ },
2676
+ "type": {
2677
+ "const": "sse"
2678
+ },
2679
+ "url": {
2680
+ "type": "string",
2681
+ "format": "uri"
2682
+ },
2683
+ "security": {
2684
+ "$ref": "#/$defs/securityRequirementArray"
2685
+ }
2686
+ },
2687
+ "patternProperties": {
2688
+ "^x-": {
2689
+ "$ref": "#/$defs/specificationExtensionValue"
2690
+ }
2691
+ },
2692
+ "additionalProperties": false
2693
+ }
2694
+ ]
2695
+ },
2696
+ "capabilityTools": {
2697
+ "type": "object",
2698
+ "properties": {
2699
+ "listChanged": {
2700
+ "type": "boolean"
2701
+ }
2702
+ },
2703
+ "patternProperties": {
2704
+ "^x-": {
2705
+ "$ref": "#/$defs/specificationExtensionValue"
2706
+ }
2707
+ },
2708
+ "additionalProperties": false
2709
+ },
2710
+ "capabilityResources": {
2711
+ "type": "object",
2712
+ "properties": {
2713
+ "subscribe": {
2714
+ "type": "boolean"
2715
+ },
2716
+ "listChanged": {
2717
+ "type": "boolean"
2718
+ }
2719
+ },
2720
+ "patternProperties": {
2721
+ "^x-": {
2722
+ "$ref": "#/$defs/specificationExtensionValue"
2723
+ }
2724
+ },
2725
+ "additionalProperties": false
2726
+ },
2727
+ "capabilityPrompts": {
2728
+ "type": "object",
2729
+ "properties": {
2730
+ "listChanged": {
2731
+ "type": "boolean"
2732
+ }
2733
+ },
2734
+ "patternProperties": {
2735
+ "^x-": {
2736
+ "$ref": "#/$defs/specificationExtensionValue"
2737
+ }
2738
+ },
2739
+ "additionalProperties": false
2740
+ },
2741
+ "extensionCapabilities": {
2742
+ "type": "object",
2743
+ "minProperties": 1,
2744
+ "propertyNames": {
2745
+ "pattern": "^[A-Za-z](?:[A-Za-z0-9-]*[A-Za-z0-9])?(?:\\.[A-Za-z](?:[A-Za-z0-9-]*[A-Za-z0-9])?)*/[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$"
2746
+ },
2747
+ "additionalProperties": {
2748
+ "type": "object"
2749
+ }
2750
+ },
2751
+ "capabilities": {
2752
+ "type": "object",
2753
+ "properties": {
2754
+ "protocolVersions": {
2755
+ "$ref": "#/$defs/protocolVersionScope"
2756
+ },
2757
+ "tools": {
2758
+ "$ref": "#/$defs/capabilityTools"
2759
+ },
2760
+ "resources": {
2761
+ "$ref": "#/$defs/capabilityResources"
2762
+ },
2763
+ "prompts": {
2764
+ "$ref": "#/$defs/capabilityPrompts"
2765
+ },
2766
+ "completions": {
2767
+ "type": "object",
2768
+ "additionalProperties": true
2769
+ },
2770
+ "logging": {
2771
+ "type": "object",
2772
+ "additionalProperties": true
2773
+ },
2774
+ "tasks": {
2775
+ "type": "object",
2776
+ "properties": {
2777
+ "list": {
2778
+ "type": "object",
2779
+ "additionalProperties": true
2780
+ },
2781
+ "cancel": {
2782
+ "type": "object",
2783
+ "additionalProperties": true
2784
+ },
2785
+ "requests": {
2786
+ "type": "object",
2787
+ "properties": {
2788
+ "tools": {
2789
+ "type": "object",
2790
+ "properties": {
2791
+ "call": {
2792
+ "type": "object",
2793
+ "additionalProperties": true
2794
+ }
2795
+ },
2796
+ "additionalProperties": false
2797
+ }
2798
+ },
2799
+ "additionalProperties": false
2800
+ }
2801
+ },
2802
+ "additionalProperties": false
2803
+ },
2804
+ "extensions": {
2805
+ "$ref": "#/$defs/extensionCapabilities"
2806
+ },
2807
+ "experimental": {
2808
+ "type": "object",
2809
+ "additionalProperties": true
2810
+ }
2811
+ },
2812
+ "patternProperties": {
2813
+ "^x-": {
2814
+ "$ref": "#/$defs/specificationExtensionValue"
2815
+ }
2816
+ },
2817
+ "additionalProperties": false
2818
+ }
2819
+ }
2820
+ }