Skip to content

Commit 86dbcfe

Browse files
authored
Merge pull request #630 from modelcontextprotocol/ihrpr/additinal-meta
Adds _meta to additional interface types
2 parents 9bf5c62 + e7284d2 commit 86dbcfe

File tree

1 file changed

+40
-5
lines changed

1 file changed

+40
-5
lines changed

src/types.ts

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ export const RequestSchema = z.object({
4444
const BaseNotificationParamsSchema = z
4545
.object({
4646
/**
47-
* This parameter name is reserved by MCP to allow clients and servers to attach additional metadata to their notifications.
48-
*/
47+
* Reserved by MCP for protocol-level metadata; implementations must not make assumptions about its contents.
48+
*/
4949
_meta: z.optional(z.object({}).passthrough()),
5050
})
5151
.passthrough();
@@ -58,8 +58,8 @@ export const NotificationSchema = z.object({
5858
export const ResultSchema = z
5959
.object({
6060
/**
61-
* This result property is reserved by the protocol to allow clients and servers to attach additional metadata to their responses.
62-
*/
61+
* Reserved by MCP for protocol-level metadata; implementations must not make assumptions about its contents.
62+
*/
6363
_meta: z.optional(z.object({}).passthrough()),
6464
})
6565
.passthrough();
@@ -463,6 +463,11 @@ export const ResourceSchema = z
463463
* The MIME type of this resource, if known.
464464
*/
465465
mimeType: z.optional(z.string()),
466+
467+
/**
468+
* Reserved by MCP for protocol-level metadata; implementations must not make assumptions about its contents.
469+
*/
470+
_meta: z.optional(z.object({}).passthrough()),
466471
})
467472
.passthrough();
468473

@@ -494,6 +499,11 @@ export const ResourceTemplateSchema = z
494499
* The MIME type for all resources that match this template. This should only be included if all resources matching this template have the same type.
495500
*/
496501
mimeType: z.optional(z.string()),
502+
503+
/**
504+
* Reserved by MCP for protocol-level metadata; implementations must not make assumptions about its contents.
505+
*/
506+
_meta: z.optional(z.object({}).passthrough()),
497507
})
498508
.passthrough();
499509

@@ -677,6 +687,11 @@ export const TextContentSchema = z
677687
* The text content of the message.
678688
*/
679689
text: z.string(),
690+
691+
/**
692+
* Reserved by MCP for protocol-level metadata; implementations must not make assumptions about its contents.
693+
*/
694+
_meta: z.optional(z.object({}).passthrough()),
680695
})
681696
.passthrough();
682697

@@ -694,6 +709,11 @@ export const ImageContentSchema = z
694709
* The MIME type of the image. Different providers may support different image types.
695710
*/
696711
mimeType: z.string(),
712+
713+
/**
714+
* Reserved by MCP for protocol-level metadata; implementations must not make assumptions about its contents.
715+
*/
716+
_meta: z.optional(z.object({}).passthrough()),
697717
})
698718
.passthrough();
699719

@@ -711,6 +731,11 @@ export const AudioContentSchema = z
711731
* The MIME type of the audio. Different providers may support different audio types.
712732
*/
713733
mimeType: z.string(),
734+
735+
/**
736+
* Reserved by MCP for protocol-level metadata; implementations must not make assumptions about its contents.
737+
*/
738+
_meta: z.optional(z.object({}).passthrough()),
714739
})
715740
.passthrough();
716741

@@ -847,12 +872,17 @@ export const ToolSchema = z
847872
properties: z.optional(z.object({}).passthrough()),
848873
required: z.optional(z.array(z.string())),
849874
})
850-
.passthrough()
875+
.passthrough()
851876
),
852877
/**
853878
* Optional additional tool information.
854879
*/
855880
annotations: z.optional(ToolAnnotationsSchema),
881+
882+
/**
883+
* Reserved by MCP for protocol-level metadata; implementations must not make assumptions about its contents.
884+
*/
885+
_meta: z.optional(z.object({}).passthrough()),
856886
})
857887
.passthrough();
858888

@@ -1182,6 +1212,11 @@ export const RootSchema = z
11821212
* An optional name for the root.
11831213
*/
11841214
name: z.optional(z.string()),
1215+
1216+
/**
1217+
* Reserved by MCP for protocol-level metadata; implementations must not make assumptions about its contents.
1218+
*/
1219+
_meta: z.optional(z.object({}).passthrough()),
11851220
})
11861221
.passthrough();
11871222

0 commit comments

Comments
 (0)