@mcpdesc/validator 0.10.0 → 0.11.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.
@@ -1,2161 +0,0 @@
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
- }