@mcpdesc/validator 0.1.0 → 0.2.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,2161 @@
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 2 (v0.8.0-draft.2; 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
+ "provenance": {
43
+ "$ref": "#/$defs/provenanceRegistry"
44
+ },
45
+ "components": {
46
+ "$ref": "#/$defs/components"
47
+ },
48
+ "capabilities": {
49
+ "type": "array",
50
+ "minItems": 1,
51
+ "items": {
52
+ "$ref": "#/$defs/capabilities"
53
+ }
54
+ },
55
+ "tools": {
56
+ "type": "array",
57
+ "minItems": 1,
58
+ "items": {
59
+ "$ref": "#/$defs/tool"
60
+ }
61
+ },
62
+ "resources": {
63
+ "type": "array",
64
+ "minItems": 1,
65
+ "items": {
66
+ "$ref": "#/$defs/resource"
67
+ }
68
+ },
69
+ "resourceTemplates": {
70
+ "type": "array",
71
+ "minItems": 1,
72
+ "items": {
73
+ "$ref": "#/$defs/resourceTemplate"
74
+ }
75
+ },
76
+ "prompts": {
77
+ "type": "array",
78
+ "minItems": 1,
79
+ "items": {
80
+ "$ref": "#/$defs/prompt"
81
+ }
82
+ },
83
+ "tags": {
84
+ "type": "array",
85
+ "minItems": 1,
86
+ "items": {
87
+ "$ref": "#/$defs/tag"
88
+ }
89
+ }
90
+ },
91
+ "patternProperties": {
92
+ "^x-": {
93
+ "$ref": "#/$defs/jsonValue"
94
+ }
95
+ },
96
+ "additionalProperties": false,
97
+ "$defs": {
98
+ "supportedProtocolVersion": {
99
+ "type": "string",
100
+ "enum": [
101
+ "2024-11-05",
102
+ "2025-03-26",
103
+ "2025-06-18",
104
+ "2025-11-25",
105
+ "2026-07-28"
106
+ ]
107
+ },
108
+ "protocolVersionScope": {
109
+ "type": "array",
110
+ "minItems": 1,
111
+ "uniqueItems": true,
112
+ "items": {
113
+ "$ref": "#/$defs/supportedProtocolVersion"
114
+ }
115
+ },
116
+ "jsonValue": {
117
+ "oneOf": [
118
+ {
119
+ "type": "object",
120
+ "additionalProperties": {
121
+ "$ref": "#/$defs/jsonValue"
122
+ }
123
+ },
124
+ {
125
+ "type": "array",
126
+ "items": {
127
+ "$ref": "#/$defs/jsonValue"
128
+ }
129
+ },
130
+ {
131
+ "type": "string"
132
+ },
133
+ {
134
+ "type": "number"
135
+ },
136
+ {
137
+ "type": "boolean"
138
+ },
139
+ {
140
+ "type": "null"
141
+ }
142
+ ]
143
+ },
144
+ "specificationExtensionValue": {
145
+ "$ref": "#/$defs/jsonValue"
146
+ },
147
+ "provenanceIds": {
148
+ "type": "array",
149
+ "minItems": 1,
150
+ "uniqueItems": true,
151
+ "items": {
152
+ "type": "string",
153
+ "minLength": 1
154
+ }
155
+ },
156
+ "clientCapabilityValue": {
157
+ "type": "object",
158
+ "additionalProperties": {
159
+ "$ref": "#/$defs/jsonValue"
160
+ }
161
+ },
162
+ "clientCapabilityRequirements": {
163
+ "type": "object",
164
+ "minProperties": 1,
165
+ "properties": {
166
+ "roots": {
167
+ "$ref": "#/$defs/clientCapabilityValue"
168
+ },
169
+ "sampling": {
170
+ "$ref": "#/$defs/clientCapabilityValue"
171
+ },
172
+ "elicitation": {
173
+ "$ref": "#/$defs/clientCapabilityValue"
174
+ },
175
+ "tasks": {
176
+ "$ref": "#/$defs/clientCapabilityValue"
177
+ },
178
+ "extensions": {
179
+ "$ref": "#/$defs/extensionCapabilities"
180
+ },
181
+ "experimental": {
182
+ "type": "object",
183
+ "additionalProperties": {
184
+ "$ref": "#/$defs/clientCapabilityValue"
185
+ }
186
+ }
187
+ },
188
+ "patternProperties": {
189
+ "^x-": {
190
+ "$ref": "#/$defs/specificationExtensionValue"
191
+ }
192
+ },
193
+ "additionalProperties": {
194
+ "$ref": "#/$defs/clientCapabilityValue"
195
+ }
196
+ },
197
+ "provenanceProducer": {
198
+ "type": "object",
199
+ "required": [
200
+ "name"
201
+ ],
202
+ "properties": {
203
+ "name": {
204
+ "type": "string",
205
+ "minLength": 1
206
+ },
207
+ "version": {
208
+ "type": "string",
209
+ "minLength": 1
210
+ }
211
+ },
212
+ "patternProperties": {
213
+ "^x-": {
214
+ "$ref": "#/$defs/specificationExtensionValue"
215
+ }
216
+ },
217
+ "additionalProperties": false
218
+ },
219
+ "provenanceArtifact": {
220
+ "type": "object",
221
+ "required": [
222
+ "uri"
223
+ ],
224
+ "properties": {
225
+ "uri": {
226
+ "type": "string",
227
+ "format": "uri"
228
+ },
229
+ "digest": {
230
+ "type": "string",
231
+ "minLength": 1
232
+ }
233
+ },
234
+ "patternProperties": {
235
+ "^x-": {
236
+ "$ref": "#/$defs/specificationExtensionValue"
237
+ }
238
+ },
239
+ "additionalProperties": false
240
+ },
241
+ "provenanceRecord": {
242
+ "type": "object",
243
+ "required": [
244
+ "kind"
245
+ ],
246
+ "properties": {
247
+ "kind": {
248
+ "enum": [
249
+ "curated",
250
+ "observed",
251
+ "generated"
252
+ ]
253
+ },
254
+ "producer": {
255
+ "$ref": "#/$defs/provenanceProducer"
256
+ },
257
+ "method": {
258
+ "type": "string",
259
+ "minLength": 1
260
+ },
261
+ "artifact": {
262
+ "$ref": "#/$defs/provenanceArtifact"
263
+ },
264
+ "recordedAt": {
265
+ "type": "string",
266
+ "format": "date-time"
267
+ }
268
+ },
269
+ "patternProperties": {
270
+ "^x-": {
271
+ "$ref": "#/$defs/specificationExtensionValue"
272
+ }
273
+ },
274
+ "additionalProperties": false
275
+ },
276
+ "provenanceRegistry": {
277
+ "type": "object",
278
+ "required": [
279
+ "records"
280
+ ],
281
+ "properties": {
282
+ "records": {
283
+ "type": "object",
284
+ "minProperties": 1,
285
+ "propertyNames": {
286
+ "minLength": 1
287
+ },
288
+ "additionalProperties": {
289
+ "$ref": "#/$defs/provenanceRecord"
290
+ }
291
+ },
292
+ "defaultIds": {
293
+ "$ref": "#/$defs/provenanceIds"
294
+ }
295
+ },
296
+ "patternProperties": {
297
+ "^x-": {
298
+ "$ref": "#/$defs/specificationExtensionValue"
299
+ }
300
+ },
301
+ "additionalProperties": false
302
+ },
303
+ "jsonSchemaObject": {
304
+ "type": "object",
305
+ "additionalProperties": true
306
+ },
307
+ "referenceObject": {
308
+ "type": "object",
309
+ "required": [
310
+ "$componentRef"
311
+ ],
312
+ "properties": {
313
+ "$componentRef": {
314
+ "type": "string",
315
+ "pattern": "^#/components/(schemas|toolExamples|resourceExamples|resourceTemplateExamples)/[A-Za-z0-9._-]+$"
316
+ }
317
+ },
318
+ "additionalProperties": false
319
+ },
320
+ "schemaComponentValue": {
321
+ "oneOf": [
322
+ {
323
+ "$ref": "#/$defs/referenceObject"
324
+ },
325
+ {
326
+ "allOf": [
327
+ {
328
+ "$ref": "#/$defs/jsonSchemaObject"
329
+ },
330
+ {
331
+ "not": {
332
+ "required": [
333
+ "$componentRef"
334
+ ]
335
+ }
336
+ }
337
+ ]
338
+ }
339
+ ]
340
+ },
341
+ "elicitationFormOption": {
342
+ "type": "object",
343
+ "required": [
344
+ "const",
345
+ "title"
346
+ ],
347
+ "properties": {
348
+ "const": {
349
+ "type": "string"
350
+ },
351
+ "title": {
352
+ "type": "string"
353
+ }
354
+ },
355
+ "additionalProperties": false
356
+ },
357
+ "elicitationFormProperty": {
358
+ "oneOf": [
359
+ {
360
+ "type": "object",
361
+ "required": [
362
+ "type"
363
+ ],
364
+ "properties": {
365
+ "type": {
366
+ "const": "string"
367
+ },
368
+ "title": {
369
+ "type": "string"
370
+ },
371
+ "description": {
372
+ "type": "string"
373
+ },
374
+ "minLength": {
375
+ "type": "integer",
376
+ "minimum": 0
377
+ },
378
+ "maxLength": {
379
+ "type": "integer",
380
+ "minimum": 0
381
+ },
382
+ "format": {
383
+ "enum": [
384
+ "email",
385
+ "uri",
386
+ "date",
387
+ "date-time"
388
+ ]
389
+ },
390
+ "default": {
391
+ "type": "string"
392
+ }
393
+ },
394
+ "additionalProperties": false
395
+ },
396
+ {
397
+ "type": "object",
398
+ "required": [
399
+ "type"
400
+ ],
401
+ "properties": {
402
+ "type": {
403
+ "enum": [
404
+ "number",
405
+ "integer"
406
+ ]
407
+ },
408
+ "title": {
409
+ "type": "string"
410
+ },
411
+ "description": {
412
+ "type": "string"
413
+ },
414
+ "minimum": {
415
+ "type": "number"
416
+ },
417
+ "maximum": {
418
+ "type": "number"
419
+ },
420
+ "default": {
421
+ "type": "number"
422
+ }
423
+ },
424
+ "additionalProperties": false
425
+ },
426
+ {
427
+ "type": "object",
428
+ "required": [
429
+ "type"
430
+ ],
431
+ "properties": {
432
+ "type": {
433
+ "const": "boolean"
434
+ },
435
+ "title": {
436
+ "type": "string"
437
+ },
438
+ "description": {
439
+ "type": "string"
440
+ },
441
+ "default": {
442
+ "type": "boolean"
443
+ }
444
+ },
445
+ "additionalProperties": false
446
+ },
447
+ {
448
+ "type": "object",
449
+ "required": [
450
+ "type",
451
+ "enum"
452
+ ],
453
+ "properties": {
454
+ "type": {
455
+ "const": "string"
456
+ },
457
+ "title": {
458
+ "type": "string"
459
+ },
460
+ "description": {
461
+ "type": "string"
462
+ },
463
+ "enum": {
464
+ "type": "array",
465
+ "items": {
466
+ "type": "string"
467
+ }
468
+ },
469
+ "enumNames": {
470
+ "type": "array",
471
+ "items": {
472
+ "type": "string"
473
+ }
474
+ },
475
+ "default": {
476
+ "type": "string"
477
+ }
478
+ },
479
+ "additionalProperties": false
480
+ },
481
+ {
482
+ "type": "object",
483
+ "required": [
484
+ "type",
485
+ "oneOf"
486
+ ],
487
+ "properties": {
488
+ "type": {
489
+ "const": "string"
490
+ },
491
+ "title": {
492
+ "type": "string"
493
+ },
494
+ "description": {
495
+ "type": "string"
496
+ },
497
+ "oneOf": {
498
+ "type": "array",
499
+ "items": {
500
+ "$ref": "#/$defs/elicitationFormOption"
501
+ }
502
+ },
503
+ "default": {
504
+ "type": "string"
505
+ }
506
+ },
507
+ "additionalProperties": false
508
+ },
509
+ {
510
+ "type": "object",
511
+ "required": [
512
+ "type",
513
+ "items"
514
+ ],
515
+ "properties": {
516
+ "type": {
517
+ "const": "array"
518
+ },
519
+ "title": {
520
+ "type": "string"
521
+ },
522
+ "description": {
523
+ "type": "string"
524
+ },
525
+ "minItems": {
526
+ "type": "integer",
527
+ "minimum": 0
528
+ },
529
+ "maxItems": {
530
+ "type": "integer",
531
+ "minimum": 0
532
+ },
533
+ "items": {
534
+ "oneOf": [
535
+ {
536
+ "type": "object",
537
+ "required": [
538
+ "type",
539
+ "enum"
540
+ ],
541
+ "properties": {
542
+ "type": {
543
+ "const": "string"
544
+ },
545
+ "enum": {
546
+ "type": "array",
547
+ "items": {
548
+ "type": "string"
549
+ }
550
+ }
551
+ },
552
+ "additionalProperties": false
553
+ },
554
+ {
555
+ "type": "object",
556
+ "required": [
557
+ "anyOf"
558
+ ],
559
+ "properties": {
560
+ "anyOf": {
561
+ "type": "array",
562
+ "items": {
563
+ "$ref": "#/$defs/elicitationFormOption"
564
+ }
565
+ }
566
+ },
567
+ "additionalProperties": false
568
+ }
569
+ ]
570
+ },
571
+ "default": {
572
+ "type": "array",
573
+ "items": {
574
+ "type": "string"
575
+ }
576
+ }
577
+ },
578
+ "additionalProperties": false
579
+ }
580
+ ]
581
+ },
582
+ "elicitationFormSchema": {
583
+ "type": "object",
584
+ "required": [
585
+ "type",
586
+ "properties"
587
+ ],
588
+ "properties": {
589
+ "$schema": {
590
+ "type": "string",
591
+ "format": "uri"
592
+ },
593
+ "type": {
594
+ "const": "object"
595
+ },
596
+ "properties": {
597
+ "type": "object",
598
+ "additionalProperties": {
599
+ "$ref": "#/$defs/elicitationFormProperty"
600
+ }
601
+ },
602
+ "required": {
603
+ "type": "array",
604
+ "uniqueItems": true,
605
+ "items": {
606
+ "type": "string"
607
+ }
608
+ }
609
+ },
610
+ "additionalProperties": false
611
+ },
612
+ "elicitationDeclaration": {
613
+ "type": "object",
614
+ "required": [
615
+ "name",
616
+ "mode",
617
+ "message"
618
+ ],
619
+ "properties": {
620
+ "name": {
621
+ "type": "string",
622
+ "pattern": "^[A-Za-z0-9._-]+$"
623
+ },
624
+ "mode": {
625
+ "enum": [
626
+ "form",
627
+ "url"
628
+ ]
629
+ },
630
+ "message": {
631
+ "type": "string",
632
+ "minLength": 1
633
+ },
634
+ "when": {
635
+ "type": "string",
636
+ "minLength": 1
637
+ },
638
+ "requestedSchema": {
639
+ "oneOf": [
640
+ {
641
+ "$ref": "#/$defs/referenceObject"
642
+ },
643
+ {
644
+ "$ref": "#/$defs/elicitationFormSchema"
645
+ }
646
+ ]
647
+ },
648
+ "url": {
649
+ "type": "string",
650
+ "format": "uri"
651
+ },
652
+ "onDecline": {
653
+ "type": "string",
654
+ "minLength": 1
655
+ },
656
+ "onCancel": {
657
+ "type": "string",
658
+ "minLength": 1
659
+ },
660
+ "protocolVersions": {
661
+ "$ref": "#/$defs/protocolVersionScope"
662
+ }
663
+ },
664
+ "oneOf": [
665
+ {
666
+ "properties": {
667
+ "mode": {
668
+ "const": "form"
669
+ }
670
+ },
671
+ "required": [
672
+ "requestedSchema"
673
+ ],
674
+ "not": {
675
+ "required": [
676
+ "url"
677
+ ]
678
+ }
679
+ },
680
+ {
681
+ "properties": {
682
+ "mode": {
683
+ "const": "url"
684
+ }
685
+ },
686
+ "not": {
687
+ "required": [
688
+ "requestedSchema"
689
+ ]
690
+ }
691
+ }
692
+ ],
693
+ "patternProperties": {
694
+ "^x-": {
695
+ "$ref": "#/$defs/specificationExtensionValue"
696
+ }
697
+ },
698
+ "additionalProperties": false
699
+ },
700
+ "tag": {
701
+ "type": "object",
702
+ "required": [
703
+ "name"
704
+ ],
705
+ "properties": {
706
+ "name": {
707
+ "type": "string",
708
+ "minLength": 1
709
+ },
710
+ "description": {
711
+ "type": "string"
712
+ }
713
+ },
714
+ "patternProperties": {
715
+ "^x-": {
716
+ "$ref": "#/$defs/specificationExtensionValue"
717
+ }
718
+ },
719
+ "additionalProperties": false
720
+ },
721
+ "icon": {
722
+ "type": "object",
723
+ "required": [
724
+ "src"
725
+ ],
726
+ "properties": {
727
+ "src": {
728
+ "type": "string",
729
+ "format": "uri"
730
+ },
731
+ "mimeType": {
732
+ "type": "string"
733
+ },
734
+ "sizes": {
735
+ "type": "array",
736
+ "items": {
737
+ "type": "string"
738
+ }
739
+ },
740
+ "theme": {
741
+ "type": "string",
742
+ "enum": [
743
+ "light",
744
+ "dark"
745
+ ]
746
+ }
747
+ },
748
+ "patternProperties": {
749
+ "^x-": {
750
+ "$ref": "#/$defs/specificationExtensionValue"
751
+ }
752
+ },
753
+ "additionalProperties": false
754
+ },
755
+ "icons": {
756
+ "type": "array",
757
+ "minItems": 1,
758
+ "items": {
759
+ "$ref": "#/$defs/icon"
760
+ }
761
+ },
762
+ "contact": {
763
+ "type": "object",
764
+ "properties": {
765
+ "name": {
766
+ "type": "string"
767
+ },
768
+ "url": {
769
+ "type": "string",
770
+ "format": "uri"
771
+ },
772
+ "email": {
773
+ "type": "string",
774
+ "format": "email"
775
+ }
776
+ },
777
+ "patternProperties": {
778
+ "^x-": {
779
+ "$ref": "#/$defs/specificationExtensionValue"
780
+ }
781
+ },
782
+ "additionalProperties": false
783
+ },
784
+ "license": {
785
+ "type": "object",
786
+ "required": [
787
+ "name"
788
+ ],
789
+ "properties": {
790
+ "name": {
791
+ "type": "string"
792
+ },
793
+ "url": {
794
+ "type": "string",
795
+ "format": "uri"
796
+ }
797
+ },
798
+ "patternProperties": {
799
+ "^x-": {
800
+ "$ref": "#/$defs/specificationExtensionValue"
801
+ }
802
+ },
803
+ "additionalProperties": false
804
+ },
805
+ "info": {
806
+ "type": "object",
807
+ "required": [
808
+ "name",
809
+ "version"
810
+ ],
811
+ "properties": {
812
+ "name": {
813
+ "type": "string",
814
+ "minLength": 1
815
+ },
816
+ "title": {
817
+ "type": "string"
818
+ },
819
+ "description": {
820
+ "type": "string"
821
+ },
822
+ "version": {
823
+ "type": "string",
824
+ "minLength": 1
825
+ },
826
+ "id": {
827
+ "type": "string"
828
+ },
829
+ "icons": {
830
+ "$ref": "#/$defs/icons"
831
+ },
832
+ "websiteUrl": {
833
+ "type": "string",
834
+ "format": "uri"
835
+ },
836
+ "contact": {
837
+ "$ref": "#/$defs/contact"
838
+ },
839
+ "license": {
840
+ "$ref": "#/$defs/license"
841
+ }
842
+ },
843
+ "patternProperties": {
844
+ "^x-": {
845
+ "$ref": "#/$defs/specificationExtensionValue"
846
+ }
847
+ },
848
+ "additionalProperties": false
849
+ },
850
+ "oauthFlow": {
851
+ "type": "object",
852
+ "properties": {
853
+ "authorizationUrl": {
854
+ "type": "string",
855
+ "format": "uri"
856
+ },
857
+ "tokenUrl": {
858
+ "type": "string",
859
+ "format": "uri"
860
+ },
861
+ "refreshUrl": {
862
+ "type": "string",
863
+ "format": "uri"
864
+ },
865
+ "scopes": {
866
+ "type": "object",
867
+ "additionalProperties": {
868
+ "type": "string"
869
+ }
870
+ }
871
+ },
872
+ "required": [
873
+ "scopes"
874
+ ],
875
+ "patternProperties": {
876
+ "^x-": {
877
+ "$ref": "#/$defs/specificationExtensionValue"
878
+ }
879
+ },
880
+ "additionalProperties": false
881
+ },
882
+ "oauthFlows": {
883
+ "type": "object",
884
+ "properties": {
885
+ "implicit": {
886
+ "allOf": [
887
+ {
888
+ "$ref": "#/$defs/oauthFlow"
889
+ },
890
+ {
891
+ "required": [
892
+ "authorizationUrl"
893
+ ]
894
+ }
895
+ ]
896
+ },
897
+ "password": {
898
+ "allOf": [
899
+ {
900
+ "$ref": "#/$defs/oauthFlow"
901
+ },
902
+ {
903
+ "required": [
904
+ "tokenUrl"
905
+ ]
906
+ }
907
+ ]
908
+ },
909
+ "clientCredentials": {
910
+ "allOf": [
911
+ {
912
+ "$ref": "#/$defs/oauthFlow"
913
+ },
914
+ {
915
+ "required": [
916
+ "tokenUrl"
917
+ ]
918
+ }
919
+ ]
920
+ },
921
+ "authorizationCode": {
922
+ "allOf": [
923
+ {
924
+ "$ref": "#/$defs/oauthFlow"
925
+ },
926
+ {
927
+ "required": [
928
+ "authorizationUrl",
929
+ "tokenUrl"
930
+ ]
931
+ }
932
+ ]
933
+ }
934
+ },
935
+ "patternProperties": {
936
+ "^x-": {
937
+ "$ref": "#/$defs/specificationExtensionValue"
938
+ }
939
+ },
940
+ "additionalProperties": false,
941
+ "anyOf": [
942
+ {
943
+ "required": [
944
+ "implicit"
945
+ ]
946
+ },
947
+ {
948
+ "required": [
949
+ "password"
950
+ ]
951
+ },
952
+ {
953
+ "required": [
954
+ "clientCredentials"
955
+ ]
956
+ },
957
+ {
958
+ "required": [
959
+ "authorizationCode"
960
+ ]
961
+ }
962
+ ]
963
+ },
964
+ "securityScheme": {
965
+ "oneOf": [
966
+ {
967
+ "type": "object",
968
+ "required": [
969
+ "type",
970
+ "scheme"
971
+ ],
972
+ "properties": {
973
+ "type": {
974
+ "const": "http"
975
+ },
976
+ "scheme": {
977
+ "type": "string"
978
+ },
979
+ "bearerFormat": {
980
+ "type": "string"
981
+ },
982
+ "description": {
983
+ "type": "string"
984
+ }
985
+ },
986
+ "patternProperties": {
987
+ "^x-": {
988
+ "$ref": "#/$defs/specificationExtensionValue"
989
+ }
990
+ },
991
+ "additionalProperties": false
992
+ },
993
+ {
994
+ "type": "object",
995
+ "required": [
996
+ "type",
997
+ "name",
998
+ "in"
999
+ ],
1000
+ "properties": {
1001
+ "type": {
1002
+ "const": "apiKey"
1003
+ },
1004
+ "name": {
1005
+ "type": "string"
1006
+ },
1007
+ "in": {
1008
+ "type": "string",
1009
+ "enum": [
1010
+ "header",
1011
+ "query",
1012
+ "cookie"
1013
+ ]
1014
+ },
1015
+ "description": {
1016
+ "type": "string"
1017
+ }
1018
+ },
1019
+ "patternProperties": {
1020
+ "^x-": {
1021
+ "$ref": "#/$defs/specificationExtensionValue"
1022
+ }
1023
+ },
1024
+ "additionalProperties": false
1025
+ },
1026
+ {
1027
+ "type": "object",
1028
+ "required": [
1029
+ "type",
1030
+ "flows"
1031
+ ],
1032
+ "properties": {
1033
+ "type": {
1034
+ "const": "oauth2"
1035
+ },
1036
+ "flows": {
1037
+ "$ref": "#/$defs/oauthFlows"
1038
+ },
1039
+ "description": {
1040
+ "type": "string"
1041
+ }
1042
+ },
1043
+ "patternProperties": {
1044
+ "^x-": {
1045
+ "$ref": "#/$defs/specificationExtensionValue"
1046
+ }
1047
+ },
1048
+ "additionalProperties": false
1049
+ },
1050
+ {
1051
+ "type": "object",
1052
+ "required": [
1053
+ "type",
1054
+ "openIdConnectUrl"
1055
+ ],
1056
+ "properties": {
1057
+ "type": {
1058
+ "const": "openIdConnect"
1059
+ },
1060
+ "openIdConnectUrl": {
1061
+ "type": "string",
1062
+ "format": "uri"
1063
+ },
1064
+ "description": {
1065
+ "type": "string"
1066
+ }
1067
+ },
1068
+ "patternProperties": {
1069
+ "^x-": {
1070
+ "$ref": "#/$defs/specificationExtensionValue"
1071
+ }
1072
+ },
1073
+ "additionalProperties": false
1074
+ }
1075
+ ]
1076
+ },
1077
+ "securitySchemeMap": {
1078
+ "type": "object",
1079
+ "minProperties": 1,
1080
+ "propertyNames": {
1081
+ "pattern": "^[A-Za-z0-9._-]+$"
1082
+ },
1083
+ "additionalProperties": {
1084
+ "$ref": "#/$defs/securityScheme"
1085
+ }
1086
+ },
1087
+ "securityRequirement": {
1088
+ "type": "object",
1089
+ "propertyNames": {
1090
+ "pattern": "^[A-Za-z0-9._-]+$"
1091
+ },
1092
+ "additionalProperties": {
1093
+ "type": "array",
1094
+ "items": {
1095
+ "type": "string"
1096
+ },
1097
+ "uniqueItems": true
1098
+ }
1099
+ },
1100
+ "securityRequirementArray": {
1101
+ "type": "array",
1102
+ "items": {
1103
+ "$ref": "#/$defs/securityRequirement"
1104
+ }
1105
+ },
1106
+ "toolAnnotations": {
1107
+ "type": "object",
1108
+ "properties": {
1109
+ "title": {
1110
+ "type": "string"
1111
+ },
1112
+ "readOnlyHint": {
1113
+ "type": "boolean"
1114
+ },
1115
+ "destructiveHint": {
1116
+ "type": "boolean"
1117
+ },
1118
+ "idempotentHint": {
1119
+ "type": "boolean"
1120
+ },
1121
+ "openWorldHint": {
1122
+ "type": "boolean"
1123
+ }
1124
+ },
1125
+ "additionalProperties": true
1126
+ },
1127
+ "execution": {
1128
+ "type": "object",
1129
+ "properties": {
1130
+ "taskSupport": {
1131
+ "type": "string",
1132
+ "enum": [
1133
+ "forbidden",
1134
+ "optional",
1135
+ "required"
1136
+ ]
1137
+ }
1138
+ },
1139
+ "additionalProperties": false
1140
+ },
1141
+ "metaObject": {
1142
+ "type": "object",
1143
+ "propertyNames": {
1144
+ "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])?)?$"
1145
+ },
1146
+ "additionalProperties": true
1147
+ },
1148
+ "resourceAnnotations": {
1149
+ "type": "object",
1150
+ "properties": {
1151
+ "audience": {
1152
+ "type": "array",
1153
+ "items": {
1154
+ "type": "string",
1155
+ "enum": [
1156
+ "user",
1157
+ "assistant"
1158
+ ]
1159
+ }
1160
+ },
1161
+ "priority": {
1162
+ "type": "number",
1163
+ "minimum": 0,
1164
+ "maximum": 1
1165
+ },
1166
+ "lastModified": {
1167
+ "type": "string"
1168
+ }
1169
+ },
1170
+ "additionalProperties": true
1171
+ },
1172
+ "resourceContents": {
1173
+ "oneOf": [
1174
+ {
1175
+ "type": "object",
1176
+ "required": [
1177
+ "uri",
1178
+ "text"
1179
+ ],
1180
+ "properties": {
1181
+ "uri": {
1182
+ "type": "string",
1183
+ "format": "uri"
1184
+ },
1185
+ "mimeType": {
1186
+ "type": "string"
1187
+ },
1188
+ "text": {
1189
+ "type": "string"
1190
+ },
1191
+ "_meta": {
1192
+ "$ref": "#/$defs/metaObject"
1193
+ }
1194
+ },
1195
+ "additionalProperties": false
1196
+ },
1197
+ {
1198
+ "type": "object",
1199
+ "required": [
1200
+ "uri",
1201
+ "blob"
1202
+ ],
1203
+ "properties": {
1204
+ "uri": {
1205
+ "type": "string",
1206
+ "format": "uri"
1207
+ },
1208
+ "mimeType": {
1209
+ "type": "string"
1210
+ },
1211
+ "blob": {
1212
+ "type": "string"
1213
+ },
1214
+ "_meta": {
1215
+ "$ref": "#/$defs/metaObject"
1216
+ }
1217
+ },
1218
+ "additionalProperties": false
1219
+ }
1220
+ ]
1221
+ },
1222
+ "toolResultContent": {
1223
+ "oneOf": [
1224
+ {
1225
+ "type": "object",
1226
+ "required": [
1227
+ "type",
1228
+ "text"
1229
+ ],
1230
+ "properties": {
1231
+ "type": {
1232
+ "const": "text"
1233
+ },
1234
+ "text": {
1235
+ "type": "string"
1236
+ },
1237
+ "annotations": {
1238
+ "$ref": "#/$defs/resourceAnnotations"
1239
+ },
1240
+ "_meta": {
1241
+ "$ref": "#/$defs/metaObject"
1242
+ }
1243
+ },
1244
+ "additionalProperties": false
1245
+ },
1246
+ {
1247
+ "type": "object",
1248
+ "required": [
1249
+ "type",
1250
+ "data",
1251
+ "mimeType"
1252
+ ],
1253
+ "properties": {
1254
+ "type": {
1255
+ "enum": [
1256
+ "image",
1257
+ "audio"
1258
+ ]
1259
+ },
1260
+ "data": {
1261
+ "type": "string"
1262
+ },
1263
+ "mimeType": {
1264
+ "type": "string"
1265
+ },
1266
+ "annotations": {
1267
+ "$ref": "#/$defs/resourceAnnotations"
1268
+ },
1269
+ "_meta": {
1270
+ "$ref": "#/$defs/metaObject"
1271
+ }
1272
+ },
1273
+ "additionalProperties": false
1274
+ },
1275
+ {
1276
+ "type": "object",
1277
+ "required": [
1278
+ "type",
1279
+ "resource"
1280
+ ],
1281
+ "properties": {
1282
+ "type": {
1283
+ "const": "resource"
1284
+ },
1285
+ "resource": {
1286
+ "$ref": "#/$defs/resourceContents"
1287
+ },
1288
+ "annotations": {
1289
+ "$ref": "#/$defs/resourceAnnotations"
1290
+ },
1291
+ "_meta": {
1292
+ "$ref": "#/$defs/metaObject"
1293
+ }
1294
+ },
1295
+ "additionalProperties": false
1296
+ },
1297
+ {
1298
+ "type": "object",
1299
+ "required": [
1300
+ "type",
1301
+ "uri",
1302
+ "name"
1303
+ ],
1304
+ "properties": {
1305
+ "type": {
1306
+ "const": "resource_link"
1307
+ },
1308
+ "uri": {
1309
+ "type": "string",
1310
+ "format": "uri"
1311
+ },
1312
+ "name": {
1313
+ "type": "string"
1314
+ },
1315
+ "title": {
1316
+ "type": "string"
1317
+ },
1318
+ "description": {
1319
+ "type": "string"
1320
+ },
1321
+ "mimeType": {
1322
+ "type": "string"
1323
+ },
1324
+ "size": {
1325
+ "type": "number"
1326
+ },
1327
+ "icons": {
1328
+ "$ref": "#/$defs/icons"
1329
+ },
1330
+ "annotations": {
1331
+ "$ref": "#/$defs/resourceAnnotations"
1332
+ },
1333
+ "_meta": {
1334
+ "$ref": "#/$defs/metaObject"
1335
+ }
1336
+ },
1337
+ "additionalProperties": false
1338
+ }
1339
+ ]
1340
+ },
1341
+ "completedToolResultExample": {
1342
+ "type": "object",
1343
+ "required": [
1344
+ "content"
1345
+ ],
1346
+ "properties": {
1347
+ "resultType": {
1348
+ "const": "complete"
1349
+ },
1350
+ "content": {
1351
+ "type": "array",
1352
+ "items": {
1353
+ "$ref": "#/$defs/toolResultContent"
1354
+ }
1355
+ },
1356
+ "structuredContent": {
1357
+ "$ref": "#/$defs/jsonValue"
1358
+ },
1359
+ "isError": {
1360
+ "type": "boolean"
1361
+ },
1362
+ "_meta": {
1363
+ "$ref": "#/$defs/metaObject"
1364
+ }
1365
+ },
1366
+ "additionalProperties": true
1367
+ },
1368
+ "toolExample": {
1369
+ "type": "object",
1370
+ "required": [
1371
+ "input",
1372
+ "result"
1373
+ ],
1374
+ "properties": {
1375
+ "input": {
1376
+ "type": "object",
1377
+ "additionalProperties": {
1378
+ "$ref": "#/$defs/jsonValue"
1379
+ }
1380
+ },
1381
+ "result": {
1382
+ "$ref": "#/$defs/completedToolResultExample"
1383
+ }
1384
+ },
1385
+ "patternProperties": {
1386
+ "^x-": {
1387
+ "$ref": "#/$defs/specificationExtensionValue"
1388
+ }
1389
+ },
1390
+ "additionalProperties": false
1391
+ },
1392
+ "toolExamples": {
1393
+ "type": "object",
1394
+ "minProperties": 1,
1395
+ "propertyNames": {
1396
+ "pattern": "^[A-Za-z0-9._-]+$"
1397
+ },
1398
+ "additionalProperties": {
1399
+ "oneOf": [
1400
+ {
1401
+ "$ref": "#/$defs/referenceObject"
1402
+ },
1403
+ {
1404
+ "$ref": "#/$defs/toolExample"
1405
+ }
1406
+ ]
1407
+ }
1408
+ },
1409
+ "completedReadResourceResultExample": {
1410
+ "type": "object",
1411
+ "required": [
1412
+ "contents"
1413
+ ],
1414
+ "properties": {
1415
+ "resultType": {
1416
+ "const": "complete"
1417
+ },
1418
+ "ttlMs": {
1419
+ "type": "number",
1420
+ "minimum": 0
1421
+ },
1422
+ "cacheScope": {
1423
+ "enum": [
1424
+ "public",
1425
+ "private"
1426
+ ]
1427
+ },
1428
+ "contents": {
1429
+ "type": "array",
1430
+ "minItems": 1,
1431
+ "items": {
1432
+ "$ref": "#/$defs/resourceContents"
1433
+ }
1434
+ },
1435
+ "_meta": {
1436
+ "$ref": "#/$defs/metaObject"
1437
+ }
1438
+ },
1439
+ "additionalProperties": true
1440
+ },
1441
+ "resourceExample": {
1442
+ "type": "object",
1443
+ "required": [
1444
+ "result"
1445
+ ],
1446
+ "properties": {
1447
+ "result": {
1448
+ "$ref": "#/$defs/completedReadResourceResultExample"
1449
+ }
1450
+ },
1451
+ "patternProperties": {
1452
+ "^x-": {
1453
+ "$ref": "#/$defs/specificationExtensionValue"
1454
+ }
1455
+ },
1456
+ "additionalProperties": false
1457
+ },
1458
+ "resourceExamples": {
1459
+ "type": "object",
1460
+ "minProperties": 1,
1461
+ "propertyNames": {
1462
+ "pattern": "^[A-Za-z0-9._-]+$"
1463
+ },
1464
+ "additionalProperties": {
1465
+ "oneOf": [
1466
+ {
1467
+ "$ref": "#/$defs/referenceObject"
1468
+ },
1469
+ {
1470
+ "$ref": "#/$defs/resourceExample"
1471
+ }
1472
+ ]
1473
+ }
1474
+ },
1475
+ "resourceTemplateExample": {
1476
+ "type": "object",
1477
+ "required": [
1478
+ "uri",
1479
+ "result"
1480
+ ],
1481
+ "properties": {
1482
+ "uri": {
1483
+ "type": "string",
1484
+ "format": "uri"
1485
+ },
1486
+ "result": {
1487
+ "$ref": "#/$defs/completedReadResourceResultExample"
1488
+ }
1489
+ },
1490
+ "patternProperties": {
1491
+ "^x-": {
1492
+ "$ref": "#/$defs/specificationExtensionValue"
1493
+ }
1494
+ },
1495
+ "additionalProperties": false
1496
+ },
1497
+ "resourceTemplateExamples": {
1498
+ "type": "object",
1499
+ "minProperties": 1,
1500
+ "propertyNames": {
1501
+ "pattern": "^[A-Za-z0-9._-]+$"
1502
+ },
1503
+ "additionalProperties": {
1504
+ "oneOf": [
1505
+ {
1506
+ "$ref": "#/$defs/referenceObject"
1507
+ },
1508
+ {
1509
+ "$ref": "#/$defs/resourceTemplateExample"
1510
+ }
1511
+ ]
1512
+ }
1513
+ },
1514
+ "componentMap": {
1515
+ "type": "object",
1516
+ "minProperties": 1,
1517
+ "propertyNames": {
1518
+ "pattern": "^[A-Za-z0-9._-]+$"
1519
+ }
1520
+ },
1521
+ "components": {
1522
+ "type": "object",
1523
+ "minProperties": 1,
1524
+ "properties": {
1525
+ "schemas": {
1526
+ "allOf": [
1527
+ {
1528
+ "$ref": "#/$defs/componentMap"
1529
+ },
1530
+ {
1531
+ "additionalProperties": {
1532
+ "$ref": "#/$defs/schemaComponentValue"
1533
+ }
1534
+ }
1535
+ ]
1536
+ },
1537
+ "toolExamples": {
1538
+ "allOf": [
1539
+ {
1540
+ "$ref": "#/$defs/componentMap"
1541
+ },
1542
+ {
1543
+ "additionalProperties": {
1544
+ "oneOf": [
1545
+ {
1546
+ "$ref": "#/$defs/referenceObject"
1547
+ },
1548
+ {
1549
+ "$ref": "#/$defs/toolExample"
1550
+ }
1551
+ ]
1552
+ }
1553
+ }
1554
+ ]
1555
+ },
1556
+ "resourceExamples": {
1557
+ "allOf": [
1558
+ {
1559
+ "$ref": "#/$defs/componentMap"
1560
+ },
1561
+ {
1562
+ "additionalProperties": {
1563
+ "oneOf": [
1564
+ {
1565
+ "$ref": "#/$defs/referenceObject"
1566
+ },
1567
+ {
1568
+ "$ref": "#/$defs/resourceExample"
1569
+ }
1570
+ ]
1571
+ }
1572
+ }
1573
+ ]
1574
+ },
1575
+ "resourceTemplateExamples": {
1576
+ "allOf": [
1577
+ {
1578
+ "$ref": "#/$defs/componentMap"
1579
+ },
1580
+ {
1581
+ "additionalProperties": {
1582
+ "oneOf": [
1583
+ {
1584
+ "$ref": "#/$defs/referenceObject"
1585
+ },
1586
+ {
1587
+ "$ref": "#/$defs/resourceTemplateExample"
1588
+ }
1589
+ ]
1590
+ }
1591
+ }
1592
+ ]
1593
+ }
1594
+ },
1595
+ "patternProperties": {
1596
+ "^x-": {
1597
+ "$ref": "#/$defs/specificationExtensionValue"
1598
+ }
1599
+ },
1600
+ "additionalProperties": false
1601
+ },
1602
+ "promptArgument": {
1603
+ "type": "object",
1604
+ "required": [
1605
+ "name"
1606
+ ],
1607
+ "properties": {
1608
+ "name": {
1609
+ "type": "string"
1610
+ },
1611
+ "title": {
1612
+ "type": "string"
1613
+ },
1614
+ "description": {
1615
+ "type": "string"
1616
+ },
1617
+ "required": {
1618
+ "type": "boolean"
1619
+ }
1620
+ },
1621
+ "patternProperties": {
1622
+ "^x-": {
1623
+ "$ref": "#/$defs/specificationExtensionValue"
1624
+ }
1625
+ },
1626
+ "additionalProperties": false
1627
+ },
1628
+ "tool": {
1629
+ "type": "object",
1630
+ "required": [
1631
+ "name",
1632
+ "inputSchema"
1633
+ ],
1634
+ "properties": {
1635
+ "protocolVersions": {
1636
+ "$ref": "#/$defs/protocolVersionScope"
1637
+ },
1638
+ "title": {
1639
+ "type": "string"
1640
+ },
1641
+ "description": {
1642
+ "type": "string"
1643
+ },
1644
+ "icons": {
1645
+ "$ref": "#/$defs/icons"
1646
+ },
1647
+ "tags": {
1648
+ "type": "array",
1649
+ "minItems": 1,
1650
+ "items": {
1651
+ "type": "string"
1652
+ },
1653
+ "uniqueItems": true
1654
+ },
1655
+ "deprecated": {
1656
+ "type": "boolean"
1657
+ },
1658
+ "_meta": {
1659
+ "$ref": "#/$defs/metaObject"
1660
+ },
1661
+ "security": {
1662
+ "$ref": "#/$defs/securityRequirementArray"
1663
+ },
1664
+ "clientRequirements": {
1665
+ "$ref": "#/$defs/clientCapabilityRequirements"
1666
+ },
1667
+ "provenanceIds": {
1668
+ "$ref": "#/$defs/provenanceIds"
1669
+ },
1670
+ "name": {
1671
+ "type": "string",
1672
+ "minLength": 1
1673
+ },
1674
+ "inputSchema": {
1675
+ "oneOf": [
1676
+ {
1677
+ "$ref": "#/$defs/referenceObject"
1678
+ },
1679
+ {
1680
+ "allOf": [
1681
+ {
1682
+ "$ref": "#/$defs/schemaComponentValue"
1683
+ },
1684
+ {
1685
+ "required": [
1686
+ "type"
1687
+ ],
1688
+ "properties": {
1689
+ "type": {
1690
+ "const": "object"
1691
+ }
1692
+ }
1693
+ }
1694
+ ]
1695
+ }
1696
+ ]
1697
+ },
1698
+ "outputSchema": {
1699
+ "$ref": "#/$defs/schemaComponentValue"
1700
+ },
1701
+ "annotations": {
1702
+ "$ref": "#/$defs/toolAnnotations"
1703
+ },
1704
+ "execution": {
1705
+ "$ref": "#/$defs/execution"
1706
+ },
1707
+ "examples": {
1708
+ "$ref": "#/$defs/toolExamples"
1709
+ },
1710
+ "elicitations": {
1711
+ "type": "array",
1712
+ "minItems": 1,
1713
+ "items": {
1714
+ "$ref": "#/$defs/elicitationDeclaration"
1715
+ }
1716
+ }
1717
+ },
1718
+ "patternProperties": {
1719
+ "^x-": {
1720
+ "$ref": "#/$defs/specificationExtensionValue"
1721
+ }
1722
+ },
1723
+ "additionalProperties": false
1724
+ },
1725
+ "resource": {
1726
+ "type": "object",
1727
+ "required": [
1728
+ "uri",
1729
+ "name"
1730
+ ],
1731
+ "properties": {
1732
+ "protocolVersions": {
1733
+ "$ref": "#/$defs/protocolVersionScope"
1734
+ },
1735
+ "title": {
1736
+ "type": "string"
1737
+ },
1738
+ "description": {
1739
+ "type": "string"
1740
+ },
1741
+ "icons": {
1742
+ "$ref": "#/$defs/icons"
1743
+ },
1744
+ "tags": {
1745
+ "type": "array",
1746
+ "minItems": 1,
1747
+ "items": {
1748
+ "type": "string"
1749
+ },
1750
+ "uniqueItems": true
1751
+ },
1752
+ "deprecated": {
1753
+ "type": "boolean"
1754
+ },
1755
+ "_meta": {
1756
+ "$ref": "#/$defs/metaObject"
1757
+ },
1758
+ "security": {
1759
+ "$ref": "#/$defs/securityRequirementArray"
1760
+ },
1761
+ "clientRequirements": {
1762
+ "$ref": "#/$defs/clientCapabilityRequirements"
1763
+ },
1764
+ "provenanceIds": {
1765
+ "$ref": "#/$defs/provenanceIds"
1766
+ },
1767
+ "uri": {
1768
+ "type": "string"
1769
+ },
1770
+ "name": {
1771
+ "type": "string"
1772
+ },
1773
+ "mimeType": {
1774
+ "type": "string"
1775
+ },
1776
+ "size": {
1777
+ "type": "number"
1778
+ },
1779
+ "annotations": {
1780
+ "$ref": "#/$defs/resourceAnnotations"
1781
+ },
1782
+ "examples": {
1783
+ "$ref": "#/$defs/resourceExamples"
1784
+ },
1785
+ "elicitations": {
1786
+ "type": "array",
1787
+ "minItems": 1,
1788
+ "items": {
1789
+ "$ref": "#/$defs/elicitationDeclaration"
1790
+ }
1791
+ }
1792
+ },
1793
+ "patternProperties": {
1794
+ "^x-": {
1795
+ "$ref": "#/$defs/specificationExtensionValue"
1796
+ }
1797
+ },
1798
+ "additionalProperties": false
1799
+ },
1800
+ "resourceTemplate": {
1801
+ "type": "object",
1802
+ "required": [
1803
+ "uriTemplate",
1804
+ "name"
1805
+ ],
1806
+ "properties": {
1807
+ "protocolVersions": {
1808
+ "$ref": "#/$defs/protocolVersionScope"
1809
+ },
1810
+ "title": {
1811
+ "type": "string"
1812
+ },
1813
+ "description": {
1814
+ "type": "string"
1815
+ },
1816
+ "icons": {
1817
+ "$ref": "#/$defs/icons"
1818
+ },
1819
+ "tags": {
1820
+ "type": "array",
1821
+ "minItems": 1,
1822
+ "items": {
1823
+ "type": "string"
1824
+ },
1825
+ "uniqueItems": true
1826
+ },
1827
+ "deprecated": {
1828
+ "type": "boolean"
1829
+ },
1830
+ "_meta": {
1831
+ "$ref": "#/$defs/metaObject"
1832
+ },
1833
+ "security": {
1834
+ "$ref": "#/$defs/securityRequirementArray"
1835
+ },
1836
+ "clientRequirements": {
1837
+ "$ref": "#/$defs/clientCapabilityRequirements"
1838
+ },
1839
+ "provenanceIds": {
1840
+ "$ref": "#/$defs/provenanceIds"
1841
+ },
1842
+ "uriTemplate": {
1843
+ "type": "string"
1844
+ },
1845
+ "name": {
1846
+ "type": "string"
1847
+ },
1848
+ "mimeType": {
1849
+ "type": "string"
1850
+ },
1851
+ "annotations": {
1852
+ "$ref": "#/$defs/resourceAnnotations"
1853
+ },
1854
+ "examples": {
1855
+ "$ref": "#/$defs/resourceTemplateExamples"
1856
+ },
1857
+ "elicitations": {
1858
+ "type": "array",
1859
+ "minItems": 1,
1860
+ "items": {
1861
+ "$ref": "#/$defs/elicitationDeclaration"
1862
+ }
1863
+ }
1864
+ },
1865
+ "patternProperties": {
1866
+ "^x-": {
1867
+ "$ref": "#/$defs/specificationExtensionValue"
1868
+ }
1869
+ },
1870
+ "additionalProperties": false
1871
+ },
1872
+ "prompt": {
1873
+ "type": "object",
1874
+ "required": [
1875
+ "name"
1876
+ ],
1877
+ "properties": {
1878
+ "protocolVersions": {
1879
+ "$ref": "#/$defs/protocolVersionScope"
1880
+ },
1881
+ "title": {
1882
+ "type": "string"
1883
+ },
1884
+ "description": {
1885
+ "type": "string"
1886
+ },
1887
+ "icons": {
1888
+ "$ref": "#/$defs/icons"
1889
+ },
1890
+ "tags": {
1891
+ "type": "array",
1892
+ "minItems": 1,
1893
+ "items": {
1894
+ "type": "string"
1895
+ },
1896
+ "uniqueItems": true
1897
+ },
1898
+ "deprecated": {
1899
+ "type": "boolean"
1900
+ },
1901
+ "_meta": {
1902
+ "$ref": "#/$defs/metaObject"
1903
+ },
1904
+ "security": {
1905
+ "$ref": "#/$defs/securityRequirementArray"
1906
+ },
1907
+ "clientRequirements": {
1908
+ "$ref": "#/$defs/clientCapabilityRequirements"
1909
+ },
1910
+ "provenanceIds": {
1911
+ "$ref": "#/$defs/provenanceIds"
1912
+ },
1913
+ "name": {
1914
+ "type": "string"
1915
+ },
1916
+ "arguments": {
1917
+ "type": "array",
1918
+ "minItems": 1,
1919
+ "items": {
1920
+ "$ref": "#/$defs/promptArgument"
1921
+ }
1922
+ },
1923
+ "elicitations": {
1924
+ "type": "array",
1925
+ "minItems": 1,
1926
+ "items": {
1927
+ "$ref": "#/$defs/elicitationDeclaration"
1928
+ }
1929
+ }
1930
+ },
1931
+ "patternProperties": {
1932
+ "^x-": {
1933
+ "$ref": "#/$defs/specificationExtensionValue"
1934
+ }
1935
+ },
1936
+ "additionalProperties": false
1937
+ },
1938
+ "transport": {
1939
+ "oneOf": [
1940
+ {
1941
+ "type": "object",
1942
+ "required": [
1943
+ "type",
1944
+ "url"
1945
+ ],
1946
+ "properties": {
1947
+ "protocolVersions": {
1948
+ "$ref": "#/$defs/protocolVersionScope"
1949
+ },
1950
+ "type": {
1951
+ "const": "streamable-http"
1952
+ },
1953
+ "url": {
1954
+ "type": "string",
1955
+ "format": "uri"
1956
+ },
1957
+ "security": {
1958
+ "$ref": "#/$defs/securityRequirementArray"
1959
+ }
1960
+ },
1961
+ "patternProperties": {
1962
+ "^x-": {
1963
+ "$ref": "#/$defs/specificationExtensionValue"
1964
+ }
1965
+ },
1966
+ "additionalProperties": false
1967
+ },
1968
+ {
1969
+ "type": "object",
1970
+ "required": [
1971
+ "type",
1972
+ "command"
1973
+ ],
1974
+ "properties": {
1975
+ "protocolVersions": {
1976
+ "$ref": "#/$defs/protocolVersionScope"
1977
+ },
1978
+ "type": {
1979
+ "const": "stdio"
1980
+ },
1981
+ "command": {
1982
+ "type": "string"
1983
+ },
1984
+ "args": {
1985
+ "type": "array",
1986
+ "items": {
1987
+ "type": "string"
1988
+ }
1989
+ },
1990
+ "env": {
1991
+ "type": "object",
1992
+ "additionalProperties": {
1993
+ "type": "string"
1994
+ }
1995
+ },
1996
+ "security": {
1997
+ "$ref": "#/$defs/securityRequirementArray"
1998
+ }
1999
+ },
2000
+ "patternProperties": {
2001
+ "^x-": {
2002
+ "$ref": "#/$defs/specificationExtensionValue"
2003
+ }
2004
+ },
2005
+ "additionalProperties": false
2006
+ },
2007
+ {
2008
+ "type": "object",
2009
+ "required": [
2010
+ "type",
2011
+ "url"
2012
+ ],
2013
+ "properties": {
2014
+ "protocolVersions": {
2015
+ "$ref": "#/$defs/protocolVersionScope"
2016
+ },
2017
+ "type": {
2018
+ "const": "sse"
2019
+ },
2020
+ "url": {
2021
+ "type": "string",
2022
+ "format": "uri"
2023
+ },
2024
+ "security": {
2025
+ "$ref": "#/$defs/securityRequirementArray"
2026
+ }
2027
+ },
2028
+ "patternProperties": {
2029
+ "^x-": {
2030
+ "$ref": "#/$defs/specificationExtensionValue"
2031
+ }
2032
+ },
2033
+ "additionalProperties": false
2034
+ }
2035
+ ]
2036
+ },
2037
+ "capabilityTools": {
2038
+ "type": "object",
2039
+ "properties": {
2040
+ "listChanged": {
2041
+ "type": "boolean"
2042
+ }
2043
+ },
2044
+ "patternProperties": {
2045
+ "^x-": {
2046
+ "$ref": "#/$defs/specificationExtensionValue"
2047
+ }
2048
+ },
2049
+ "additionalProperties": false
2050
+ },
2051
+ "capabilityResources": {
2052
+ "type": "object",
2053
+ "properties": {
2054
+ "subscribe": {
2055
+ "type": "boolean"
2056
+ },
2057
+ "listChanged": {
2058
+ "type": "boolean"
2059
+ }
2060
+ },
2061
+ "patternProperties": {
2062
+ "^x-": {
2063
+ "$ref": "#/$defs/specificationExtensionValue"
2064
+ }
2065
+ },
2066
+ "additionalProperties": false
2067
+ },
2068
+ "capabilityPrompts": {
2069
+ "type": "object",
2070
+ "properties": {
2071
+ "listChanged": {
2072
+ "type": "boolean"
2073
+ }
2074
+ },
2075
+ "patternProperties": {
2076
+ "^x-": {
2077
+ "$ref": "#/$defs/specificationExtensionValue"
2078
+ }
2079
+ },
2080
+ "additionalProperties": false
2081
+ },
2082
+ "extensionCapabilities": {
2083
+ "type": "object",
2084
+ "minProperties": 1,
2085
+ "propertyNames": {
2086
+ "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])?$"
2087
+ },
2088
+ "additionalProperties": {
2089
+ "type": "object"
2090
+ }
2091
+ },
2092
+ "capabilities": {
2093
+ "type": "object",
2094
+ "properties": {
2095
+ "protocolVersions": {
2096
+ "$ref": "#/$defs/protocolVersionScope"
2097
+ },
2098
+ "tools": {
2099
+ "$ref": "#/$defs/capabilityTools"
2100
+ },
2101
+ "resources": {
2102
+ "$ref": "#/$defs/capabilityResources"
2103
+ },
2104
+ "prompts": {
2105
+ "$ref": "#/$defs/capabilityPrompts"
2106
+ },
2107
+ "completions": {
2108
+ "type": "object",
2109
+ "additionalProperties": true
2110
+ },
2111
+ "logging": {
2112
+ "type": "object",
2113
+ "additionalProperties": true
2114
+ },
2115
+ "tasks": {
2116
+ "type": "object",
2117
+ "properties": {
2118
+ "list": {
2119
+ "type": "object",
2120
+ "additionalProperties": true
2121
+ },
2122
+ "cancel": {
2123
+ "type": "object",
2124
+ "additionalProperties": true
2125
+ },
2126
+ "requests": {
2127
+ "type": "object",
2128
+ "properties": {
2129
+ "tools": {
2130
+ "type": "object",
2131
+ "properties": {
2132
+ "call": {
2133
+ "type": "object",
2134
+ "additionalProperties": true
2135
+ }
2136
+ },
2137
+ "additionalProperties": false
2138
+ }
2139
+ },
2140
+ "additionalProperties": false
2141
+ }
2142
+ },
2143
+ "additionalProperties": false
2144
+ },
2145
+ "extensions": {
2146
+ "$ref": "#/$defs/extensionCapabilities"
2147
+ },
2148
+ "experimental": {
2149
+ "type": "object",
2150
+ "additionalProperties": true
2151
+ }
2152
+ },
2153
+ "patternProperties": {
2154
+ "^x-": {
2155
+ "$ref": "#/$defs/specificationExtensionValue"
2156
+ }
2157
+ },
2158
+ "additionalProperties": false
2159
+ }
2160
+ }
2161
+ }