@mcpdesc/validator 0.2.0 → 0.3.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,2031 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://mcpdesc.org/schema/0.8.0.json",
4
+ "title": "MCP Description",
5
+ "description": "MCP Description 0.8.0 Community Working Draft 3 (v0.8.0-draft.3; unreleased).",
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)/[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
+ "completedReadResourceResultExample": {
1292
+ "type": "object",
1293
+ "required": [
1294
+ "contents"
1295
+ ],
1296
+ "properties": {
1297
+ "resultType": {
1298
+ "const": "complete"
1299
+ },
1300
+ "ttlMs": {
1301
+ "type": "number",
1302
+ "minimum": 0
1303
+ },
1304
+ "cacheScope": {
1305
+ "enum": [
1306
+ "public",
1307
+ "private"
1308
+ ]
1309
+ },
1310
+ "contents": {
1311
+ "type": "array",
1312
+ "minItems": 1,
1313
+ "items": {
1314
+ "$ref": "#/$defs/resourceContents"
1315
+ }
1316
+ },
1317
+ "_meta": {
1318
+ "$ref": "#/$defs/metaObject"
1319
+ }
1320
+ },
1321
+ "additionalProperties": true
1322
+ },
1323
+ "resourceExample": {
1324
+ "type": "object",
1325
+ "required": [
1326
+ "result"
1327
+ ],
1328
+ "properties": {
1329
+ "result": {
1330
+ "$ref": "#/$defs/completedReadResourceResultExample"
1331
+ }
1332
+ },
1333
+ "patternProperties": {
1334
+ "^x-": {
1335
+ "$ref": "#/$defs/specificationExtensionValue"
1336
+ }
1337
+ },
1338
+ "additionalProperties": false
1339
+ },
1340
+ "resourceExamples": {
1341
+ "type": "object",
1342
+ "minProperties": 1,
1343
+ "propertyNames": {
1344
+ "pattern": "^[A-Za-z0-9._-]+$"
1345
+ },
1346
+ "additionalProperties": {
1347
+ "oneOf": [
1348
+ {
1349
+ "$ref": "#/$defs/referenceObject"
1350
+ },
1351
+ {
1352
+ "$ref": "#/$defs/resourceExample"
1353
+ }
1354
+ ]
1355
+ }
1356
+ },
1357
+ "resourceTemplateExample": {
1358
+ "type": "object",
1359
+ "required": [
1360
+ "uri",
1361
+ "result"
1362
+ ],
1363
+ "properties": {
1364
+ "uri": {
1365
+ "type": "string",
1366
+ "format": "uri"
1367
+ },
1368
+ "result": {
1369
+ "$ref": "#/$defs/completedReadResourceResultExample"
1370
+ }
1371
+ },
1372
+ "patternProperties": {
1373
+ "^x-": {
1374
+ "$ref": "#/$defs/specificationExtensionValue"
1375
+ }
1376
+ },
1377
+ "additionalProperties": false
1378
+ },
1379
+ "resourceTemplateExamples": {
1380
+ "type": "object",
1381
+ "minProperties": 1,
1382
+ "propertyNames": {
1383
+ "pattern": "^[A-Za-z0-9._-]+$"
1384
+ },
1385
+ "additionalProperties": {
1386
+ "oneOf": [
1387
+ {
1388
+ "$ref": "#/$defs/referenceObject"
1389
+ },
1390
+ {
1391
+ "$ref": "#/$defs/resourceTemplateExample"
1392
+ }
1393
+ ]
1394
+ }
1395
+ },
1396
+ "componentMap": {
1397
+ "type": "object",
1398
+ "minProperties": 1,
1399
+ "propertyNames": {
1400
+ "pattern": "^[A-Za-z0-9._-]+$"
1401
+ }
1402
+ },
1403
+ "components": {
1404
+ "type": "object",
1405
+ "minProperties": 1,
1406
+ "properties": {
1407
+ "schemas": {
1408
+ "allOf": [
1409
+ {
1410
+ "$ref": "#/$defs/componentMap"
1411
+ },
1412
+ {
1413
+ "additionalProperties": {
1414
+ "$ref": "#/$defs/schemaComponentValue"
1415
+ }
1416
+ }
1417
+ ]
1418
+ },
1419
+ "toolExamples": {
1420
+ "allOf": [
1421
+ {
1422
+ "$ref": "#/$defs/componentMap"
1423
+ },
1424
+ {
1425
+ "additionalProperties": {
1426
+ "oneOf": [
1427
+ {
1428
+ "$ref": "#/$defs/referenceObject"
1429
+ },
1430
+ {
1431
+ "$ref": "#/$defs/toolExample"
1432
+ }
1433
+ ]
1434
+ }
1435
+ }
1436
+ ]
1437
+ },
1438
+ "resourceExamples": {
1439
+ "allOf": [
1440
+ {
1441
+ "$ref": "#/$defs/componentMap"
1442
+ },
1443
+ {
1444
+ "additionalProperties": {
1445
+ "oneOf": [
1446
+ {
1447
+ "$ref": "#/$defs/referenceObject"
1448
+ },
1449
+ {
1450
+ "$ref": "#/$defs/resourceExample"
1451
+ }
1452
+ ]
1453
+ }
1454
+ }
1455
+ ]
1456
+ },
1457
+ "resourceTemplateExamples": {
1458
+ "allOf": [
1459
+ {
1460
+ "$ref": "#/$defs/componentMap"
1461
+ },
1462
+ {
1463
+ "additionalProperties": {
1464
+ "oneOf": [
1465
+ {
1466
+ "$ref": "#/$defs/referenceObject"
1467
+ },
1468
+ {
1469
+ "$ref": "#/$defs/resourceTemplateExample"
1470
+ }
1471
+ ]
1472
+ }
1473
+ }
1474
+ ]
1475
+ }
1476
+ },
1477
+ "patternProperties": {
1478
+ "^x-": {
1479
+ "$ref": "#/$defs/specificationExtensionValue"
1480
+ }
1481
+ },
1482
+ "additionalProperties": false
1483
+ },
1484
+ "promptArgument": {
1485
+ "type": "object",
1486
+ "required": [
1487
+ "name"
1488
+ ],
1489
+ "properties": {
1490
+ "name": {
1491
+ "type": "string"
1492
+ },
1493
+ "title": {
1494
+ "type": "string"
1495
+ },
1496
+ "description": {
1497
+ "type": "string"
1498
+ },
1499
+ "required": {
1500
+ "type": "boolean"
1501
+ }
1502
+ },
1503
+ "patternProperties": {
1504
+ "^x-": {
1505
+ "$ref": "#/$defs/specificationExtensionValue"
1506
+ }
1507
+ },
1508
+ "additionalProperties": false
1509
+ },
1510
+ "tool": {
1511
+ "type": "object",
1512
+ "required": [
1513
+ "name",
1514
+ "inputSchema"
1515
+ ],
1516
+ "properties": {
1517
+ "protocolVersions": {
1518
+ "$ref": "#/$defs/protocolVersionScope"
1519
+ },
1520
+ "title": {
1521
+ "type": "string"
1522
+ },
1523
+ "description": {
1524
+ "type": "string"
1525
+ },
1526
+ "icons": {
1527
+ "$ref": "#/$defs/icons"
1528
+ },
1529
+ "tags": {
1530
+ "type": "array",
1531
+ "minItems": 1,
1532
+ "items": {
1533
+ "type": "string"
1534
+ },
1535
+ "uniqueItems": true
1536
+ },
1537
+ "deprecated": {
1538
+ "type": "boolean"
1539
+ },
1540
+ "_meta": {
1541
+ "$ref": "#/$defs/metaObject"
1542
+ },
1543
+ "security": {
1544
+ "$ref": "#/$defs/securityRequirementArray"
1545
+ },
1546
+ "clientRequirements": {
1547
+ "$ref": "#/$defs/clientCapabilityRequirements"
1548
+ },
1549
+ "name": {
1550
+ "type": "string",
1551
+ "minLength": 1
1552
+ },
1553
+ "inputSchema": {
1554
+ "oneOf": [
1555
+ {
1556
+ "$ref": "#/$defs/referenceObject"
1557
+ },
1558
+ {
1559
+ "allOf": [
1560
+ {
1561
+ "$ref": "#/$defs/schemaComponentValue"
1562
+ },
1563
+ {
1564
+ "required": [
1565
+ "type"
1566
+ ],
1567
+ "properties": {
1568
+ "type": {
1569
+ "const": "object"
1570
+ }
1571
+ }
1572
+ }
1573
+ ]
1574
+ }
1575
+ ]
1576
+ },
1577
+ "outputSchema": {
1578
+ "$ref": "#/$defs/schemaComponentValue"
1579
+ },
1580
+ "annotations": {
1581
+ "$ref": "#/$defs/toolAnnotations"
1582
+ },
1583
+ "execution": {
1584
+ "$ref": "#/$defs/execution"
1585
+ },
1586
+ "examples": {
1587
+ "$ref": "#/$defs/toolExamples"
1588
+ },
1589
+ "elicitations": {
1590
+ "type": "array",
1591
+ "minItems": 1,
1592
+ "items": {
1593
+ "$ref": "#/$defs/elicitationDeclaration"
1594
+ }
1595
+ }
1596
+ },
1597
+ "patternProperties": {
1598
+ "^x-": {
1599
+ "$ref": "#/$defs/specificationExtensionValue"
1600
+ }
1601
+ },
1602
+ "additionalProperties": false
1603
+ },
1604
+ "resource": {
1605
+ "type": "object",
1606
+ "required": [
1607
+ "uri",
1608
+ "name"
1609
+ ],
1610
+ "properties": {
1611
+ "protocolVersions": {
1612
+ "$ref": "#/$defs/protocolVersionScope"
1613
+ },
1614
+ "title": {
1615
+ "type": "string"
1616
+ },
1617
+ "description": {
1618
+ "type": "string"
1619
+ },
1620
+ "icons": {
1621
+ "$ref": "#/$defs/icons"
1622
+ },
1623
+ "tags": {
1624
+ "type": "array",
1625
+ "minItems": 1,
1626
+ "items": {
1627
+ "type": "string"
1628
+ },
1629
+ "uniqueItems": true
1630
+ },
1631
+ "deprecated": {
1632
+ "type": "boolean"
1633
+ },
1634
+ "_meta": {
1635
+ "$ref": "#/$defs/metaObject"
1636
+ },
1637
+ "security": {
1638
+ "$ref": "#/$defs/securityRequirementArray"
1639
+ },
1640
+ "clientRequirements": {
1641
+ "$ref": "#/$defs/clientCapabilityRequirements"
1642
+ },
1643
+ "uri": {
1644
+ "type": "string"
1645
+ },
1646
+ "name": {
1647
+ "type": "string"
1648
+ },
1649
+ "mimeType": {
1650
+ "type": "string"
1651
+ },
1652
+ "size": {
1653
+ "type": "number"
1654
+ },
1655
+ "annotations": {
1656
+ "$ref": "#/$defs/resourceAnnotations"
1657
+ },
1658
+ "examples": {
1659
+ "$ref": "#/$defs/resourceExamples"
1660
+ },
1661
+ "elicitations": {
1662
+ "type": "array",
1663
+ "minItems": 1,
1664
+ "items": {
1665
+ "$ref": "#/$defs/elicitationDeclaration"
1666
+ }
1667
+ }
1668
+ },
1669
+ "patternProperties": {
1670
+ "^x-": {
1671
+ "$ref": "#/$defs/specificationExtensionValue"
1672
+ }
1673
+ },
1674
+ "additionalProperties": false
1675
+ },
1676
+ "resourceTemplate": {
1677
+ "type": "object",
1678
+ "required": [
1679
+ "uriTemplate",
1680
+ "name"
1681
+ ],
1682
+ "properties": {
1683
+ "protocolVersions": {
1684
+ "$ref": "#/$defs/protocolVersionScope"
1685
+ },
1686
+ "title": {
1687
+ "type": "string"
1688
+ },
1689
+ "description": {
1690
+ "type": "string"
1691
+ },
1692
+ "icons": {
1693
+ "$ref": "#/$defs/icons"
1694
+ },
1695
+ "tags": {
1696
+ "type": "array",
1697
+ "minItems": 1,
1698
+ "items": {
1699
+ "type": "string"
1700
+ },
1701
+ "uniqueItems": true
1702
+ },
1703
+ "deprecated": {
1704
+ "type": "boolean"
1705
+ },
1706
+ "_meta": {
1707
+ "$ref": "#/$defs/metaObject"
1708
+ },
1709
+ "security": {
1710
+ "$ref": "#/$defs/securityRequirementArray"
1711
+ },
1712
+ "clientRequirements": {
1713
+ "$ref": "#/$defs/clientCapabilityRequirements"
1714
+ },
1715
+ "uriTemplate": {
1716
+ "type": "string"
1717
+ },
1718
+ "name": {
1719
+ "type": "string"
1720
+ },
1721
+ "mimeType": {
1722
+ "type": "string"
1723
+ },
1724
+ "annotations": {
1725
+ "$ref": "#/$defs/resourceAnnotations"
1726
+ },
1727
+ "examples": {
1728
+ "$ref": "#/$defs/resourceTemplateExamples"
1729
+ },
1730
+ "elicitations": {
1731
+ "type": "array",
1732
+ "minItems": 1,
1733
+ "items": {
1734
+ "$ref": "#/$defs/elicitationDeclaration"
1735
+ }
1736
+ }
1737
+ },
1738
+ "patternProperties": {
1739
+ "^x-": {
1740
+ "$ref": "#/$defs/specificationExtensionValue"
1741
+ }
1742
+ },
1743
+ "additionalProperties": false
1744
+ },
1745
+ "prompt": {
1746
+ "type": "object",
1747
+ "required": [
1748
+ "name"
1749
+ ],
1750
+ "properties": {
1751
+ "protocolVersions": {
1752
+ "$ref": "#/$defs/protocolVersionScope"
1753
+ },
1754
+ "title": {
1755
+ "type": "string"
1756
+ },
1757
+ "description": {
1758
+ "type": "string"
1759
+ },
1760
+ "icons": {
1761
+ "$ref": "#/$defs/icons"
1762
+ },
1763
+ "tags": {
1764
+ "type": "array",
1765
+ "minItems": 1,
1766
+ "items": {
1767
+ "type": "string"
1768
+ },
1769
+ "uniqueItems": true
1770
+ },
1771
+ "deprecated": {
1772
+ "type": "boolean"
1773
+ },
1774
+ "_meta": {
1775
+ "$ref": "#/$defs/metaObject"
1776
+ },
1777
+ "security": {
1778
+ "$ref": "#/$defs/securityRequirementArray"
1779
+ },
1780
+ "clientRequirements": {
1781
+ "$ref": "#/$defs/clientCapabilityRequirements"
1782
+ },
1783
+ "name": {
1784
+ "type": "string"
1785
+ },
1786
+ "arguments": {
1787
+ "type": "array",
1788
+ "minItems": 1,
1789
+ "items": {
1790
+ "$ref": "#/$defs/promptArgument"
1791
+ }
1792
+ },
1793
+ "elicitations": {
1794
+ "type": "array",
1795
+ "minItems": 1,
1796
+ "items": {
1797
+ "$ref": "#/$defs/elicitationDeclaration"
1798
+ }
1799
+ }
1800
+ },
1801
+ "patternProperties": {
1802
+ "^x-": {
1803
+ "$ref": "#/$defs/specificationExtensionValue"
1804
+ }
1805
+ },
1806
+ "additionalProperties": false
1807
+ },
1808
+ "transport": {
1809
+ "oneOf": [
1810
+ {
1811
+ "type": "object",
1812
+ "required": [
1813
+ "type",
1814
+ "url"
1815
+ ],
1816
+ "properties": {
1817
+ "protocolVersions": {
1818
+ "$ref": "#/$defs/protocolVersionScope"
1819
+ },
1820
+ "type": {
1821
+ "const": "streamable-http"
1822
+ },
1823
+ "url": {
1824
+ "type": "string",
1825
+ "format": "uri"
1826
+ },
1827
+ "security": {
1828
+ "$ref": "#/$defs/securityRequirementArray"
1829
+ }
1830
+ },
1831
+ "patternProperties": {
1832
+ "^x-": {
1833
+ "$ref": "#/$defs/specificationExtensionValue"
1834
+ }
1835
+ },
1836
+ "additionalProperties": false
1837
+ },
1838
+ {
1839
+ "type": "object",
1840
+ "required": [
1841
+ "type",
1842
+ "command"
1843
+ ],
1844
+ "properties": {
1845
+ "protocolVersions": {
1846
+ "$ref": "#/$defs/protocolVersionScope"
1847
+ },
1848
+ "type": {
1849
+ "const": "stdio"
1850
+ },
1851
+ "command": {
1852
+ "type": "string"
1853
+ },
1854
+ "args": {
1855
+ "type": "array",
1856
+ "items": {
1857
+ "type": "string"
1858
+ }
1859
+ },
1860
+ "env": {
1861
+ "type": "object",
1862
+ "additionalProperties": {
1863
+ "type": "string"
1864
+ }
1865
+ },
1866
+ "security": {
1867
+ "$ref": "#/$defs/securityRequirementArray"
1868
+ }
1869
+ },
1870
+ "patternProperties": {
1871
+ "^x-": {
1872
+ "$ref": "#/$defs/specificationExtensionValue"
1873
+ }
1874
+ },
1875
+ "additionalProperties": false
1876
+ },
1877
+ {
1878
+ "type": "object",
1879
+ "required": [
1880
+ "type",
1881
+ "url"
1882
+ ],
1883
+ "properties": {
1884
+ "protocolVersions": {
1885
+ "$ref": "#/$defs/protocolVersionScope"
1886
+ },
1887
+ "type": {
1888
+ "const": "sse"
1889
+ },
1890
+ "url": {
1891
+ "type": "string",
1892
+ "format": "uri"
1893
+ },
1894
+ "security": {
1895
+ "$ref": "#/$defs/securityRequirementArray"
1896
+ }
1897
+ },
1898
+ "patternProperties": {
1899
+ "^x-": {
1900
+ "$ref": "#/$defs/specificationExtensionValue"
1901
+ }
1902
+ },
1903
+ "additionalProperties": false
1904
+ }
1905
+ ]
1906
+ },
1907
+ "capabilityTools": {
1908
+ "type": "object",
1909
+ "properties": {
1910
+ "listChanged": {
1911
+ "type": "boolean"
1912
+ }
1913
+ },
1914
+ "patternProperties": {
1915
+ "^x-": {
1916
+ "$ref": "#/$defs/specificationExtensionValue"
1917
+ }
1918
+ },
1919
+ "additionalProperties": false
1920
+ },
1921
+ "capabilityResources": {
1922
+ "type": "object",
1923
+ "properties": {
1924
+ "subscribe": {
1925
+ "type": "boolean"
1926
+ },
1927
+ "listChanged": {
1928
+ "type": "boolean"
1929
+ }
1930
+ },
1931
+ "patternProperties": {
1932
+ "^x-": {
1933
+ "$ref": "#/$defs/specificationExtensionValue"
1934
+ }
1935
+ },
1936
+ "additionalProperties": false
1937
+ },
1938
+ "capabilityPrompts": {
1939
+ "type": "object",
1940
+ "properties": {
1941
+ "listChanged": {
1942
+ "type": "boolean"
1943
+ }
1944
+ },
1945
+ "patternProperties": {
1946
+ "^x-": {
1947
+ "$ref": "#/$defs/specificationExtensionValue"
1948
+ }
1949
+ },
1950
+ "additionalProperties": false
1951
+ },
1952
+ "extensionCapabilities": {
1953
+ "type": "object",
1954
+ "minProperties": 1,
1955
+ "propertyNames": {
1956
+ "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])?$"
1957
+ },
1958
+ "additionalProperties": {
1959
+ "type": "object"
1960
+ }
1961
+ },
1962
+ "capabilities": {
1963
+ "type": "object",
1964
+ "properties": {
1965
+ "protocolVersions": {
1966
+ "$ref": "#/$defs/protocolVersionScope"
1967
+ },
1968
+ "tools": {
1969
+ "$ref": "#/$defs/capabilityTools"
1970
+ },
1971
+ "resources": {
1972
+ "$ref": "#/$defs/capabilityResources"
1973
+ },
1974
+ "prompts": {
1975
+ "$ref": "#/$defs/capabilityPrompts"
1976
+ },
1977
+ "completions": {
1978
+ "type": "object",
1979
+ "additionalProperties": true
1980
+ },
1981
+ "logging": {
1982
+ "type": "object",
1983
+ "additionalProperties": true
1984
+ },
1985
+ "tasks": {
1986
+ "type": "object",
1987
+ "properties": {
1988
+ "list": {
1989
+ "type": "object",
1990
+ "additionalProperties": true
1991
+ },
1992
+ "cancel": {
1993
+ "type": "object",
1994
+ "additionalProperties": true
1995
+ },
1996
+ "requests": {
1997
+ "type": "object",
1998
+ "properties": {
1999
+ "tools": {
2000
+ "type": "object",
2001
+ "properties": {
2002
+ "call": {
2003
+ "type": "object",
2004
+ "additionalProperties": true
2005
+ }
2006
+ },
2007
+ "additionalProperties": false
2008
+ }
2009
+ },
2010
+ "additionalProperties": false
2011
+ }
2012
+ },
2013
+ "additionalProperties": false
2014
+ },
2015
+ "extensions": {
2016
+ "$ref": "#/$defs/extensionCapabilities"
2017
+ },
2018
+ "experimental": {
2019
+ "type": "object",
2020
+ "additionalProperties": true
2021
+ }
2022
+ },
2023
+ "patternProperties": {
2024
+ "^x-": {
2025
+ "$ref": "#/$defs/specificationExtensionValue"
2026
+ }
2027
+ },
2028
+ "additionalProperties": false
2029
+ }
2030
+ }
2031
+ }