@mcpdesc/validator 0.9.0 → 0.10.1

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,1648 +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 1 (v0.8.0-draft.1; unreleased).",
6
- "type": "object",
7
- "required": [
8
- "mcpdesc",
9
- "info",
10
- "protocolVersions",
11
- "transports"
12
- ],
13
- "properties": {
14
- "$schema": {
15
- "type": "string"
16
- },
17
- "mcpdesc": {
18
- "type": "string",
19
- "const": "0.8.0"
20
- },
21
- "info": {
22
- "$ref": "#/$defs/info"
23
- },
24
- "protocolVersions": {
25
- "$ref": "#/$defs/protocolVersionScope"
26
- },
27
- "instructions": {
28
- "type": "string"
29
- },
30
- "transports": {
31
- "type": "array",
32
- "minItems": 1,
33
- "items": {
34
- "$ref": "#/$defs/transport"
35
- }
36
- },
37
- "securitySchemes": {
38
- "$ref": "#/$defs/securitySchemeMap"
39
- },
40
- "security": {
41
- "$ref": "#/$defs/securityRequirementArray"
42
- },
43
- "capabilities": {
44
- "type": "array",
45
- "minItems": 1,
46
- "items": {
47
- "$ref": "#/$defs/capabilities"
48
- }
49
- },
50
- "tools": {
51
- "type": "array",
52
- "items": {
53
- "$ref": "#/$defs/tool"
54
- }
55
- },
56
- "resources": {
57
- "type": "array",
58
- "items": {
59
- "$ref": "#/$defs/resource"
60
- }
61
- },
62
- "resourceTemplates": {
63
- "type": "array",
64
- "items": {
65
- "$ref": "#/$defs/resourceTemplate"
66
- }
67
- },
68
- "prompts": {
69
- "type": "array",
70
- "items": {
71
- "$ref": "#/$defs/prompt"
72
- }
73
- },
74
- "tags": {
75
- "type": "array",
76
- "items": {
77
- "$ref": "#/$defs/tag"
78
- }
79
- }
80
- },
81
- "patternProperties": {
82
- "^x-": {
83
- "$ref": "#/$defs/jsonValue"
84
- }
85
- },
86
- "additionalProperties": false,
87
- "$defs": {
88
- "supportedProtocolVersion": {
89
- "type": "string",
90
- "enum": [
91
- "2024-11-05",
92
- "2025-03-26",
93
- "2025-06-18",
94
- "2025-11-25",
95
- "2026-07-28"
96
- ]
97
- },
98
- "protocolVersionScope": {
99
- "type": "array",
100
- "minItems": 1,
101
- "uniqueItems": true,
102
- "items": {
103
- "$ref": "#/$defs/supportedProtocolVersion"
104
- }
105
- },
106
- "jsonValue": {
107
- "oneOf": [
108
- {
109
- "type": "object",
110
- "additionalProperties": {
111
- "$ref": "#/$defs/jsonValue"
112
- }
113
- },
114
- {
115
- "type": "array",
116
- "items": {
117
- "$ref": "#/$defs/jsonValue"
118
- }
119
- },
120
- {
121
- "type": "string"
122
- },
123
- {
124
- "type": "number"
125
- },
126
- {
127
- "type": "boolean"
128
- },
129
- {
130
- "type": "null"
131
- }
132
- ]
133
- },
134
- "jsonSchemaObject": {
135
- "type": "object",
136
- "additionalProperties": true
137
- },
138
- "elicitationFormOption": {
139
- "type": "object",
140
- "required": [
141
- "const",
142
- "title"
143
- ],
144
- "properties": {
145
- "const": {
146
- "type": "string"
147
- },
148
- "title": {
149
- "type": "string"
150
- }
151
- },
152
- "additionalProperties": false
153
- },
154
- "elicitationFormProperty": {
155
- "oneOf": [
156
- {
157
- "type": "object",
158
- "required": [
159
- "type"
160
- ],
161
- "properties": {
162
- "type": {
163
- "const": "string"
164
- },
165
- "title": {
166
- "type": "string"
167
- },
168
- "description": {
169
- "type": "string"
170
- },
171
- "minLength": {
172
- "type": "integer",
173
- "minimum": 0
174
- },
175
- "maxLength": {
176
- "type": "integer",
177
- "minimum": 0
178
- },
179
- "format": {
180
- "enum": [
181
- "email",
182
- "uri",
183
- "date",
184
- "date-time"
185
- ]
186
- },
187
- "default": {
188
- "type": "string"
189
- }
190
- },
191
- "additionalProperties": false
192
- },
193
- {
194
- "type": "object",
195
- "required": [
196
- "type"
197
- ],
198
- "properties": {
199
- "type": {
200
- "enum": [
201
- "number",
202
- "integer"
203
- ]
204
- },
205
- "title": {
206
- "type": "string"
207
- },
208
- "description": {
209
- "type": "string"
210
- },
211
- "minimum": {
212
- "type": "number"
213
- },
214
- "maximum": {
215
- "type": "number"
216
- },
217
- "default": {
218
- "type": "number"
219
- }
220
- },
221
- "additionalProperties": false
222
- },
223
- {
224
- "type": "object",
225
- "required": [
226
- "type"
227
- ],
228
- "properties": {
229
- "type": {
230
- "const": "boolean"
231
- },
232
- "title": {
233
- "type": "string"
234
- },
235
- "description": {
236
- "type": "string"
237
- },
238
- "default": {
239
- "type": "boolean"
240
- }
241
- },
242
- "additionalProperties": false
243
- },
244
- {
245
- "type": "object",
246
- "required": [
247
- "type",
248
- "enum"
249
- ],
250
- "properties": {
251
- "type": {
252
- "const": "string"
253
- },
254
- "title": {
255
- "type": "string"
256
- },
257
- "description": {
258
- "type": "string"
259
- },
260
- "enum": {
261
- "type": "array",
262
- "items": {
263
- "type": "string"
264
- }
265
- },
266
- "enumNames": {
267
- "type": "array",
268
- "items": {
269
- "type": "string"
270
- }
271
- },
272
- "default": {
273
- "type": "string"
274
- }
275
- },
276
- "additionalProperties": false
277
- },
278
- {
279
- "type": "object",
280
- "required": [
281
- "type",
282
- "oneOf"
283
- ],
284
- "properties": {
285
- "type": {
286
- "const": "string"
287
- },
288
- "title": {
289
- "type": "string"
290
- },
291
- "description": {
292
- "type": "string"
293
- },
294
- "oneOf": {
295
- "type": "array",
296
- "items": {
297
- "$ref": "#/$defs/elicitationFormOption"
298
- }
299
- },
300
- "default": {
301
- "type": "string"
302
- }
303
- },
304
- "additionalProperties": false
305
- },
306
- {
307
- "type": "object",
308
- "required": [
309
- "type",
310
- "items"
311
- ],
312
- "properties": {
313
- "type": {
314
- "const": "array"
315
- },
316
- "title": {
317
- "type": "string"
318
- },
319
- "description": {
320
- "type": "string"
321
- },
322
- "minItems": {
323
- "type": "integer",
324
- "minimum": 0
325
- },
326
- "maxItems": {
327
- "type": "integer",
328
- "minimum": 0
329
- },
330
- "items": {
331
- "oneOf": [
332
- {
333
- "type": "object",
334
- "required": [
335
- "type",
336
- "enum"
337
- ],
338
- "properties": {
339
- "type": {
340
- "const": "string"
341
- },
342
- "enum": {
343
- "type": "array",
344
- "items": {
345
- "type": "string"
346
- }
347
- }
348
- },
349
- "additionalProperties": false
350
- },
351
- {
352
- "type": "object",
353
- "required": [
354
- "anyOf"
355
- ],
356
- "properties": {
357
- "anyOf": {
358
- "type": "array",
359
- "items": {
360
- "$ref": "#/$defs/elicitationFormOption"
361
- }
362
- }
363
- },
364
- "additionalProperties": false
365
- }
366
- ]
367
- },
368
- "default": {
369
- "type": "array",
370
- "items": {
371
- "type": "string"
372
- }
373
- }
374
- },
375
- "additionalProperties": false
376
- }
377
- ]
378
- },
379
- "elicitationFormSchema": {
380
- "type": "object",
381
- "required": [
382
- "type",
383
- "properties"
384
- ],
385
- "properties": {
386
- "$schema": {
387
- "type": "string",
388
- "format": "uri"
389
- },
390
- "type": {
391
- "const": "object"
392
- },
393
- "properties": {
394
- "type": "object",
395
- "additionalProperties": {
396
- "$ref": "#/$defs/elicitationFormProperty"
397
- }
398
- },
399
- "required": {
400
- "type": "array",
401
- "uniqueItems": true,
402
- "items": {
403
- "type": "string"
404
- }
405
- }
406
- },
407
- "additionalProperties": false
408
- },
409
- "elicitationDeclaration": {
410
- "type": "object",
411
- "required": [
412
- "name",
413
- "mode",
414
- "message"
415
- ],
416
- "properties": {
417
- "name": {
418
- "type": "string",
419
- "pattern": "^[A-Za-z0-9._-]+$"
420
- },
421
- "mode": {
422
- "enum": [
423
- "form",
424
- "url"
425
- ]
426
- },
427
- "message": {
428
- "type": "string",
429
- "minLength": 1
430
- },
431
- "when": {
432
- "type": "string",
433
- "minLength": 1
434
- },
435
- "requestedSchema": {
436
- "$ref": "#/$defs/elicitationFormSchema"
437
- },
438
- "url": {
439
- "type": "string",
440
- "format": "uri"
441
- },
442
- "onDecline": {
443
- "type": "string",
444
- "minLength": 1
445
- },
446
- "onCancel": {
447
- "type": "string",
448
- "minLength": 1
449
- },
450
- "protocolVersions": {
451
- "$ref": "#/$defs/protocolVersionScope"
452
- }
453
- },
454
- "oneOf": [
455
- {
456
- "properties": {
457
- "mode": {
458
- "const": "form"
459
- }
460
- },
461
- "required": [
462
- "requestedSchema"
463
- ],
464
- "not": {
465
- "required": [
466
- "url"
467
- ]
468
- }
469
- },
470
- {
471
- "properties": {
472
- "mode": {
473
- "const": "url"
474
- }
475
- },
476
- "not": {
477
- "required": [
478
- "requestedSchema"
479
- ]
480
- }
481
- }
482
- ],
483
- "additionalProperties": false
484
- },
485
- "tag": {
486
- "type": "object",
487
- "required": [
488
- "name"
489
- ],
490
- "properties": {
491
- "name": {
492
- "type": "string",
493
- "minLength": 1
494
- },
495
- "description": {
496
- "type": "string"
497
- }
498
- },
499
- "additionalProperties": false
500
- },
501
- "icon": {
502
- "type": "object",
503
- "required": [
504
- "src"
505
- ],
506
- "properties": {
507
- "src": {
508
- "type": "string",
509
- "format": "uri"
510
- },
511
- "mimeType": {
512
- "type": "string"
513
- },
514
- "sizes": {
515
- "type": "array",
516
- "items": {
517
- "type": "string"
518
- }
519
- },
520
- "theme": {
521
- "type": "string",
522
- "enum": [
523
- "light",
524
- "dark"
525
- ]
526
- }
527
- },
528
- "additionalProperties": false
529
- },
530
- "icons": {
531
- "type": "array",
532
- "items": {
533
- "$ref": "#/$defs/icon"
534
- }
535
- },
536
- "contact": {
537
- "type": "object",
538
- "properties": {
539
- "name": {
540
- "type": "string"
541
- },
542
- "url": {
543
- "type": "string",
544
- "format": "uri"
545
- },
546
- "email": {
547
- "type": "string",
548
- "format": "email"
549
- }
550
- },
551
- "additionalProperties": false
552
- },
553
- "license": {
554
- "type": "object",
555
- "required": [
556
- "name"
557
- ],
558
- "properties": {
559
- "name": {
560
- "type": "string"
561
- },
562
- "url": {
563
- "type": "string",
564
- "format": "uri"
565
- }
566
- },
567
- "additionalProperties": false
568
- },
569
- "info": {
570
- "type": "object",
571
- "required": [
572
- "name",
573
- "version"
574
- ],
575
- "properties": {
576
- "name": {
577
- "type": "string",
578
- "minLength": 1
579
- },
580
- "title": {
581
- "type": "string"
582
- },
583
- "description": {
584
- "type": "string"
585
- },
586
- "version": {
587
- "type": "string",
588
- "minLength": 1
589
- },
590
- "id": {
591
- "type": "string"
592
- },
593
- "icons": {
594
- "$ref": "#/$defs/icons"
595
- },
596
- "websiteUrl": {
597
- "type": "string",
598
- "format": "uri"
599
- },
600
- "contact": {
601
- "$ref": "#/$defs/contact"
602
- },
603
- "license": {
604
- "$ref": "#/$defs/license"
605
- }
606
- },
607
- "additionalProperties": false
608
- },
609
- "oauthFlow": {
610
- "type": "object",
611
- "properties": {
612
- "authorizationUrl": {
613
- "type": "string",
614
- "format": "uri"
615
- },
616
- "tokenUrl": {
617
- "type": "string",
618
- "format": "uri"
619
- },
620
- "refreshUrl": {
621
- "type": "string",
622
- "format": "uri"
623
- },
624
- "scopes": {
625
- "type": "object",
626
- "additionalProperties": {
627
- "type": "string"
628
- }
629
- }
630
- },
631
- "required": [
632
- "scopes"
633
- ],
634
- "additionalProperties": false
635
- },
636
- "oauthFlows": {
637
- "type": "object",
638
- "properties": {
639
- "implicit": {
640
- "allOf": [
641
- {
642
- "$ref": "#/$defs/oauthFlow"
643
- },
644
- {
645
- "required": [
646
- "authorizationUrl"
647
- ]
648
- }
649
- ]
650
- },
651
- "password": {
652
- "allOf": [
653
- {
654
- "$ref": "#/$defs/oauthFlow"
655
- },
656
- {
657
- "required": [
658
- "tokenUrl"
659
- ]
660
- }
661
- ]
662
- },
663
- "clientCredentials": {
664
- "allOf": [
665
- {
666
- "$ref": "#/$defs/oauthFlow"
667
- },
668
- {
669
- "required": [
670
- "tokenUrl"
671
- ]
672
- }
673
- ]
674
- },
675
- "authorizationCode": {
676
- "allOf": [
677
- {
678
- "$ref": "#/$defs/oauthFlow"
679
- },
680
- {
681
- "required": [
682
- "authorizationUrl",
683
- "tokenUrl"
684
- ]
685
- }
686
- ]
687
- }
688
- },
689
- "additionalProperties": false,
690
- "minProperties": 1
691
- },
692
- "securityScheme": {
693
- "oneOf": [
694
- {
695
- "type": "object",
696
- "required": [
697
- "type",
698
- "scheme"
699
- ],
700
- "properties": {
701
- "type": {
702
- "const": "http"
703
- },
704
- "scheme": {
705
- "type": "string"
706
- },
707
- "bearerFormat": {
708
- "type": "string"
709
- },
710
- "description": {
711
- "type": "string"
712
- }
713
- },
714
- "additionalProperties": false
715
- },
716
- {
717
- "type": "object",
718
- "required": [
719
- "type",
720
- "name",
721
- "in"
722
- ],
723
- "properties": {
724
- "type": {
725
- "const": "apiKey"
726
- },
727
- "name": {
728
- "type": "string"
729
- },
730
- "in": {
731
- "type": "string",
732
- "enum": [
733
- "header",
734
- "query",
735
- "cookie"
736
- ]
737
- },
738
- "description": {
739
- "type": "string"
740
- }
741
- },
742
- "additionalProperties": false
743
- },
744
- {
745
- "type": "object",
746
- "required": [
747
- "type",
748
- "flows"
749
- ],
750
- "properties": {
751
- "type": {
752
- "const": "oauth2"
753
- },
754
- "flows": {
755
- "$ref": "#/$defs/oauthFlows"
756
- },
757
- "description": {
758
- "type": "string"
759
- }
760
- },
761
- "additionalProperties": false
762
- },
763
- {
764
- "type": "object",
765
- "required": [
766
- "type",
767
- "openIdConnectUrl"
768
- ],
769
- "properties": {
770
- "type": {
771
- "const": "openIdConnect"
772
- },
773
- "openIdConnectUrl": {
774
- "type": "string",
775
- "format": "uri"
776
- },
777
- "description": {
778
- "type": "string"
779
- }
780
- },
781
- "additionalProperties": false
782
- }
783
- ]
784
- },
785
- "securitySchemeMap": {
786
- "type": "object",
787
- "propertyNames": {
788
- "pattern": "^[A-Za-z0-9._-]+$"
789
- },
790
- "additionalProperties": {
791
- "$ref": "#/$defs/securityScheme"
792
- }
793
- },
794
- "securityRequirement": {
795
- "type": "object",
796
- "propertyNames": {
797
- "pattern": "^[A-Za-z0-9._-]+$"
798
- },
799
- "additionalProperties": {
800
- "type": "array",
801
- "items": {
802
- "type": "string"
803
- },
804
- "uniqueItems": true
805
- }
806
- },
807
- "securityRequirementArray": {
808
- "type": "array",
809
- "items": {
810
- "$ref": "#/$defs/securityRequirement"
811
- }
812
- },
813
- "toolAnnotations": {
814
- "type": "object",
815
- "properties": {
816
- "title": {
817
- "type": "string"
818
- },
819
- "readOnlyHint": {
820
- "type": "boolean"
821
- },
822
- "destructiveHint": {
823
- "type": "boolean"
824
- },
825
- "idempotentHint": {
826
- "type": "boolean"
827
- },
828
- "openWorldHint": {
829
- "type": "boolean"
830
- }
831
- },
832
- "additionalProperties": true
833
- },
834
- "execution": {
835
- "type": "object",
836
- "properties": {
837
- "taskSupport": {
838
- "type": "string",
839
- "enum": [
840
- "forbidden",
841
- "optional",
842
- "required"
843
- ]
844
- }
845
- },
846
- "additionalProperties": false
847
- },
848
- "metaObject": {
849
- "type": "object",
850
- "propertyNames": {
851
- "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])?)?$"
852
- },
853
- "additionalProperties": true
854
- },
855
- "resourceAnnotations": {
856
- "type": "object",
857
- "properties": {
858
- "audience": {
859
- "type": "array",
860
- "items": {
861
- "type": "string",
862
- "enum": [
863
- "user",
864
- "assistant"
865
- ]
866
- }
867
- },
868
- "priority": {
869
- "type": "number",
870
- "minimum": 0,
871
- "maximum": 1
872
- },
873
- "lastModified": {
874
- "type": "string"
875
- }
876
- },
877
- "additionalProperties": true
878
- },
879
- "resourceContents": {
880
- "oneOf": [
881
- {
882
- "type": "object",
883
- "required": [
884
- "uri",
885
- "text"
886
- ],
887
- "properties": {
888
- "uri": {
889
- "type": "string",
890
- "format": "uri"
891
- },
892
- "mimeType": {
893
- "type": "string"
894
- },
895
- "text": {
896
- "type": "string"
897
- },
898
- "_meta": {
899
- "$ref": "#/$defs/metaObject"
900
- }
901
- },
902
- "additionalProperties": false
903
- },
904
- {
905
- "type": "object",
906
- "required": [
907
- "uri",
908
- "blob"
909
- ],
910
- "properties": {
911
- "uri": {
912
- "type": "string",
913
- "format": "uri"
914
- },
915
- "mimeType": {
916
- "type": "string"
917
- },
918
- "blob": {
919
- "type": "string"
920
- },
921
- "_meta": {
922
- "$ref": "#/$defs/metaObject"
923
- }
924
- },
925
- "additionalProperties": false
926
- }
927
- ]
928
- },
929
- "toolResultContent": {
930
- "oneOf": [
931
- {
932
- "type": "object",
933
- "required": [
934
- "type",
935
- "text"
936
- ],
937
- "properties": {
938
- "type": {
939
- "const": "text"
940
- },
941
- "text": {
942
- "type": "string"
943
- },
944
- "annotations": {
945
- "$ref": "#/$defs/resourceAnnotations"
946
- },
947
- "_meta": {
948
- "$ref": "#/$defs/metaObject"
949
- }
950
- },
951
- "additionalProperties": false
952
- },
953
- {
954
- "type": "object",
955
- "required": [
956
- "type",
957
- "data",
958
- "mimeType"
959
- ],
960
- "properties": {
961
- "type": {
962
- "enum": [
963
- "image",
964
- "audio"
965
- ]
966
- },
967
- "data": {
968
- "type": "string"
969
- },
970
- "mimeType": {
971
- "type": "string"
972
- },
973
- "annotations": {
974
- "$ref": "#/$defs/resourceAnnotations"
975
- },
976
- "_meta": {
977
- "$ref": "#/$defs/metaObject"
978
- }
979
- },
980
- "additionalProperties": false
981
- },
982
- {
983
- "type": "object",
984
- "required": [
985
- "type",
986
- "resource"
987
- ],
988
- "properties": {
989
- "type": {
990
- "const": "resource"
991
- },
992
- "resource": {
993
- "$ref": "#/$defs/resourceContents"
994
- },
995
- "annotations": {
996
- "$ref": "#/$defs/resourceAnnotations"
997
- },
998
- "_meta": {
999
- "$ref": "#/$defs/metaObject"
1000
- }
1001
- },
1002
- "additionalProperties": false
1003
- },
1004
- {
1005
- "type": "object",
1006
- "required": [
1007
- "type",
1008
- "uri",
1009
- "name"
1010
- ],
1011
- "properties": {
1012
- "type": {
1013
- "const": "resource_link"
1014
- },
1015
- "uri": {
1016
- "type": "string",
1017
- "format": "uri"
1018
- },
1019
- "name": {
1020
- "type": "string"
1021
- },
1022
- "title": {
1023
- "type": "string"
1024
- },
1025
- "description": {
1026
- "type": "string"
1027
- },
1028
- "mimeType": {
1029
- "type": "string"
1030
- },
1031
- "size": {
1032
- "type": "number"
1033
- },
1034
- "icons": {
1035
- "$ref": "#/$defs/icons"
1036
- },
1037
- "annotations": {
1038
- "$ref": "#/$defs/resourceAnnotations"
1039
- },
1040
- "_meta": {
1041
- "$ref": "#/$defs/metaObject"
1042
- }
1043
- },
1044
- "additionalProperties": false
1045
- }
1046
- ]
1047
- },
1048
- "completedToolResultExample": {
1049
- "type": "object",
1050
- "required": [
1051
- "content"
1052
- ],
1053
- "properties": {
1054
- "resultType": {
1055
- "const": "complete"
1056
- },
1057
- "content": {
1058
- "type": "array",
1059
- "items": {
1060
- "$ref": "#/$defs/toolResultContent"
1061
- }
1062
- },
1063
- "structuredContent": {
1064
- "$ref": "#/$defs/jsonValue"
1065
- },
1066
- "isError": {
1067
- "type": "boolean"
1068
- },
1069
- "_meta": {
1070
- "$ref": "#/$defs/metaObject"
1071
- }
1072
- },
1073
- "additionalProperties": true
1074
- },
1075
- "toolExample": {
1076
- "type": "object",
1077
- "required": [
1078
- "input",
1079
- "result"
1080
- ],
1081
- "properties": {
1082
- "input": {
1083
- "type": "object",
1084
- "additionalProperties": {
1085
- "$ref": "#/$defs/jsonValue"
1086
- }
1087
- },
1088
- "result": {
1089
- "$ref": "#/$defs/completedToolResultExample"
1090
- }
1091
- },
1092
- "additionalProperties": false
1093
- },
1094
- "toolExamples": {
1095
- "type": "object",
1096
- "minProperties": 1,
1097
- "propertyNames": {
1098
- "pattern": "^[A-Za-z0-9._-]+$"
1099
- },
1100
- "additionalProperties": {
1101
- "$ref": "#/$defs/toolExample"
1102
- }
1103
- },
1104
- "completedReadResourceResultExample": {
1105
- "type": "object",
1106
- "required": [
1107
- "contents"
1108
- ],
1109
- "properties": {
1110
- "resultType": {
1111
- "const": "complete"
1112
- },
1113
- "ttlMs": {
1114
- "type": "number",
1115
- "minimum": 0
1116
- },
1117
- "cacheScope": {
1118
- "enum": [
1119
- "public",
1120
- "private"
1121
- ]
1122
- },
1123
- "contents": {
1124
- "type": "array",
1125
- "minItems": 1,
1126
- "items": {
1127
- "$ref": "#/$defs/resourceContents"
1128
- }
1129
- },
1130
- "_meta": {
1131
- "$ref": "#/$defs/metaObject"
1132
- }
1133
- },
1134
- "additionalProperties": true
1135
- },
1136
- "resourceExample": {
1137
- "type": "object",
1138
- "required": [
1139
- "result"
1140
- ],
1141
- "properties": {
1142
- "result": {
1143
- "$ref": "#/$defs/completedReadResourceResultExample"
1144
- }
1145
- },
1146
- "additionalProperties": false
1147
- },
1148
- "resourceExamples": {
1149
- "type": "object",
1150
- "minProperties": 1,
1151
- "propertyNames": {
1152
- "pattern": "^[A-Za-z0-9._-]+$"
1153
- },
1154
- "additionalProperties": {
1155
- "$ref": "#/$defs/resourceExample"
1156
- }
1157
- },
1158
- "resourceTemplateExample": {
1159
- "type": "object",
1160
- "required": [
1161
- "uri",
1162
- "result"
1163
- ],
1164
- "properties": {
1165
- "uri": {
1166
- "type": "string",
1167
- "format": "uri"
1168
- },
1169
- "result": {
1170
- "$ref": "#/$defs/completedReadResourceResultExample"
1171
- }
1172
- },
1173
- "additionalProperties": false
1174
- },
1175
- "resourceTemplateExamples": {
1176
- "type": "object",
1177
- "minProperties": 1,
1178
- "propertyNames": {
1179
- "pattern": "^[A-Za-z0-9._-]+$"
1180
- },
1181
- "additionalProperties": {
1182
- "$ref": "#/$defs/resourceTemplateExample"
1183
- }
1184
- },
1185
- "promptArgument": {
1186
- "type": "object",
1187
- "required": [
1188
- "name"
1189
- ],
1190
- "properties": {
1191
- "name": {
1192
- "type": "string"
1193
- },
1194
- "title": {
1195
- "type": "string"
1196
- },
1197
- "description": {
1198
- "type": "string"
1199
- },
1200
- "required": {
1201
- "type": "boolean"
1202
- }
1203
- },
1204
- "additionalProperties": false
1205
- },
1206
- "tool": {
1207
- "type": "object",
1208
- "required": [
1209
- "name",
1210
- "inputSchema"
1211
- ],
1212
- "properties": {
1213
- "protocolVersions": {
1214
- "$ref": "#/$defs/protocolVersionScope"
1215
- },
1216
- "title": {
1217
- "type": "string"
1218
- },
1219
- "description": {
1220
- "type": "string"
1221
- },
1222
- "icons": {
1223
- "$ref": "#/$defs/icons"
1224
- },
1225
- "tags": {
1226
- "type": "array",
1227
- "items": {
1228
- "type": "string"
1229
- },
1230
- "uniqueItems": true
1231
- },
1232
- "deprecated": {
1233
- "type": "boolean"
1234
- },
1235
- "_meta": {
1236
- "$ref": "#/$defs/metaObject"
1237
- },
1238
- "security": {
1239
- "$ref": "#/$defs/securityRequirementArray"
1240
- },
1241
- "name": {
1242
- "type": "string",
1243
- "minLength": 1
1244
- },
1245
- "inputSchema": {
1246
- "allOf": [
1247
- {
1248
- "$ref": "#/$defs/jsonSchemaObject"
1249
- },
1250
- {
1251
- "required": [
1252
- "type"
1253
- ],
1254
- "properties": {
1255
- "type": {
1256
- "const": "object"
1257
- }
1258
- }
1259
- }
1260
- ]
1261
- },
1262
- "outputSchema": {
1263
- "$ref": "#/$defs/jsonSchemaObject"
1264
- },
1265
- "annotations": {
1266
- "$ref": "#/$defs/toolAnnotations"
1267
- },
1268
- "execution": {
1269
- "$ref": "#/$defs/execution"
1270
- },
1271
- "examples": {
1272
- "$ref": "#/$defs/toolExamples"
1273
- },
1274
- "elicitations": {
1275
- "type": "array",
1276
- "items": {
1277
- "$ref": "#/$defs/elicitationDeclaration"
1278
- }
1279
- }
1280
- },
1281
- "additionalProperties": false
1282
- },
1283
- "resource": {
1284
- "type": "object",
1285
- "required": [
1286
- "uri",
1287
- "name"
1288
- ],
1289
- "properties": {
1290
- "protocolVersions": {
1291
- "$ref": "#/$defs/protocolVersionScope"
1292
- },
1293
- "title": {
1294
- "type": "string"
1295
- },
1296
- "description": {
1297
- "type": "string"
1298
- },
1299
- "icons": {
1300
- "$ref": "#/$defs/icons"
1301
- },
1302
- "tags": {
1303
- "type": "array",
1304
- "items": {
1305
- "type": "string"
1306
- },
1307
- "uniqueItems": true
1308
- },
1309
- "deprecated": {
1310
- "type": "boolean"
1311
- },
1312
- "_meta": {
1313
- "$ref": "#/$defs/metaObject"
1314
- },
1315
- "security": {
1316
- "$ref": "#/$defs/securityRequirementArray"
1317
- },
1318
- "uri": {
1319
- "type": "string"
1320
- },
1321
- "name": {
1322
- "type": "string"
1323
- },
1324
- "mimeType": {
1325
- "type": "string"
1326
- },
1327
- "size": {
1328
- "type": "number"
1329
- },
1330
- "annotations": {
1331
- "$ref": "#/$defs/resourceAnnotations"
1332
- },
1333
- "examples": {
1334
- "$ref": "#/$defs/resourceExamples"
1335
- },
1336
- "elicitations": {
1337
- "type": "array",
1338
- "items": {
1339
- "$ref": "#/$defs/elicitationDeclaration"
1340
- }
1341
- }
1342
- },
1343
- "additionalProperties": false
1344
- },
1345
- "resourceTemplate": {
1346
- "type": "object",
1347
- "required": [
1348
- "uriTemplate",
1349
- "name"
1350
- ],
1351
- "properties": {
1352
- "protocolVersions": {
1353
- "$ref": "#/$defs/protocolVersionScope"
1354
- },
1355
- "title": {
1356
- "type": "string"
1357
- },
1358
- "description": {
1359
- "type": "string"
1360
- },
1361
- "icons": {
1362
- "$ref": "#/$defs/icons"
1363
- },
1364
- "tags": {
1365
- "type": "array",
1366
- "items": {
1367
- "type": "string"
1368
- },
1369
- "uniqueItems": true
1370
- },
1371
- "deprecated": {
1372
- "type": "boolean"
1373
- },
1374
- "_meta": {
1375
- "$ref": "#/$defs/metaObject"
1376
- },
1377
- "security": {
1378
- "$ref": "#/$defs/securityRequirementArray"
1379
- },
1380
- "uriTemplate": {
1381
- "type": "string"
1382
- },
1383
- "name": {
1384
- "type": "string"
1385
- },
1386
- "mimeType": {
1387
- "type": "string"
1388
- },
1389
- "annotations": {
1390
- "$ref": "#/$defs/resourceAnnotations"
1391
- },
1392
- "examples": {
1393
- "$ref": "#/$defs/resourceTemplateExamples"
1394
- },
1395
- "elicitations": {
1396
- "type": "array",
1397
- "items": {
1398
- "$ref": "#/$defs/elicitationDeclaration"
1399
- }
1400
- }
1401
- },
1402
- "additionalProperties": false
1403
- },
1404
- "prompt": {
1405
- "type": "object",
1406
- "required": [
1407
- "name"
1408
- ],
1409
- "properties": {
1410
- "protocolVersions": {
1411
- "$ref": "#/$defs/protocolVersionScope"
1412
- },
1413
- "title": {
1414
- "type": "string"
1415
- },
1416
- "description": {
1417
- "type": "string"
1418
- },
1419
- "icons": {
1420
- "$ref": "#/$defs/icons"
1421
- },
1422
- "tags": {
1423
- "type": "array",
1424
- "items": {
1425
- "type": "string"
1426
- },
1427
- "uniqueItems": true
1428
- },
1429
- "deprecated": {
1430
- "type": "boolean"
1431
- },
1432
- "_meta": {
1433
- "$ref": "#/$defs/metaObject"
1434
- },
1435
- "security": {
1436
- "$ref": "#/$defs/securityRequirementArray"
1437
- },
1438
- "name": {
1439
- "type": "string"
1440
- },
1441
- "arguments": {
1442
- "type": "array",
1443
- "items": {
1444
- "$ref": "#/$defs/promptArgument"
1445
- }
1446
- },
1447
- "elicitations": {
1448
- "type": "array",
1449
- "items": {
1450
- "$ref": "#/$defs/elicitationDeclaration"
1451
- }
1452
- }
1453
- },
1454
- "additionalProperties": false
1455
- },
1456
- "transport": {
1457
- "oneOf": [
1458
- {
1459
- "type": "object",
1460
- "required": [
1461
- "type",
1462
- "url"
1463
- ],
1464
- "properties": {
1465
- "protocolVersions": {
1466
- "$ref": "#/$defs/protocolVersionScope"
1467
- },
1468
- "type": {
1469
- "const": "streamable-http"
1470
- },
1471
- "url": {
1472
- "type": "string",
1473
- "format": "uri"
1474
- },
1475
- "security": {
1476
- "$ref": "#/$defs/securityRequirementArray"
1477
- }
1478
- },
1479
- "additionalProperties": false
1480
- },
1481
- {
1482
- "type": "object",
1483
- "required": [
1484
- "type",
1485
- "command"
1486
- ],
1487
- "properties": {
1488
- "protocolVersions": {
1489
- "$ref": "#/$defs/protocolVersionScope"
1490
- },
1491
- "type": {
1492
- "const": "stdio"
1493
- },
1494
- "command": {
1495
- "type": "string"
1496
- },
1497
- "args": {
1498
- "type": "array",
1499
- "items": {
1500
- "type": "string"
1501
- }
1502
- },
1503
- "env": {
1504
- "type": "object",
1505
- "additionalProperties": {
1506
- "type": "string"
1507
- }
1508
- },
1509
- "security": {
1510
- "$ref": "#/$defs/securityRequirementArray"
1511
- }
1512
- },
1513
- "additionalProperties": false
1514
- },
1515
- {
1516
- "type": "object",
1517
- "required": [
1518
- "type",
1519
- "url"
1520
- ],
1521
- "properties": {
1522
- "protocolVersions": {
1523
- "$ref": "#/$defs/protocolVersionScope"
1524
- },
1525
- "type": {
1526
- "const": "sse"
1527
- },
1528
- "url": {
1529
- "type": "string",
1530
- "format": "uri"
1531
- },
1532
- "security": {
1533
- "$ref": "#/$defs/securityRequirementArray"
1534
- }
1535
- },
1536
- "additionalProperties": false
1537
- }
1538
- ]
1539
- },
1540
- "capabilityTools": {
1541
- "type": "object",
1542
- "properties": {
1543
- "listChanged": {
1544
- "type": "boolean"
1545
- }
1546
- },
1547
- "additionalProperties": false
1548
- },
1549
- "capabilityResources": {
1550
- "type": "object",
1551
- "properties": {
1552
- "subscribe": {
1553
- "type": "boolean"
1554
- },
1555
- "listChanged": {
1556
- "type": "boolean"
1557
- }
1558
- },
1559
- "additionalProperties": false
1560
- },
1561
- "capabilityPrompts": {
1562
- "type": "object",
1563
- "properties": {
1564
- "listChanged": {
1565
- "type": "boolean"
1566
- }
1567
- },
1568
- "additionalProperties": false
1569
- },
1570
- "extensionCapabilities": {
1571
- "type": "object",
1572
- "propertyNames": {
1573
- "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])?$"
1574
- },
1575
- "additionalProperties": {
1576
- "type": "object"
1577
- }
1578
- },
1579
- "capabilities": {
1580
- "type": "object",
1581
- "properties": {
1582
- "protocolVersions": {
1583
- "$ref": "#/$defs/protocolVersionScope"
1584
- },
1585
- "tools": {
1586
- "$ref": "#/$defs/capabilityTools"
1587
- },
1588
- "resources": {
1589
- "$ref": "#/$defs/capabilityResources"
1590
- },
1591
- "prompts": {
1592
- "$ref": "#/$defs/capabilityPrompts"
1593
- },
1594
- "completions": {
1595
- "type": "object",
1596
- "additionalProperties": true
1597
- },
1598
- "logging": {
1599
- "type": "object",
1600
- "additionalProperties": true
1601
- },
1602
- "tasks": {
1603
- "type": "object",
1604
- "properties": {
1605
- "list": {
1606
- "type": "object",
1607
- "additionalProperties": true
1608
- },
1609
- "cancel": {
1610
- "type": "object",
1611
- "additionalProperties": true
1612
- },
1613
- "requests": {
1614
- "type": "object",
1615
- "properties": {
1616
- "tools": {
1617
- "type": "object",
1618
- "properties": {
1619
- "call": {
1620
- "type": "object",
1621
- "additionalProperties": true
1622
- }
1623
- },
1624
- "additionalProperties": false
1625
- }
1626
- },
1627
- "additionalProperties": false
1628
- }
1629
- },
1630
- "additionalProperties": false
1631
- },
1632
- "extensions": {
1633
- "$ref": "#/$defs/extensionCapabilities"
1634
- },
1635
- "experimental": {
1636
- "type": "object",
1637
- "additionalProperties": true
1638
- }
1639
- },
1640
- "patternProperties": {
1641
- "^x-": {
1642
- "$ref": "#/$defs/jsonValue"
1643
- }
1644
- },
1645
- "additionalProperties": true
1646
- }
1647
- }
1648
- }