This is the documentation for v2 — looking for the v1 documentation?
Skip to content

MCP TypeScript SDK (V2) / @modelcontextprotocol/client / ext/skills/pageSchemas

ext/skills/pageSchemas ​

Variables ​

LEGACY_ENVELOPES ​

const LEGACY_ENVELOPES: object

Defined in: packages/client/src/ext/skills/pageSchemas.ts:31

The 2025-11-25 result envelopes: the backport has no caching fields, so they are optional.

Type Declaration ​

directory ​

directory: ZodObject<{ _meta: ZodOptional<ZodObject<{ get io.modelcontextprotocol/serverInfo(): ZodCatch<ZodOptional<ZodObject<{ description: ZodOptional<...>; icons: ZodOptional<...>; name: ZodString; title: ZodOptional<...>; version: ZodString; websiteUrl: ZodOptional<...>; }, $strip>>>; }, $loose>>; cacheScope: ZodOptional<ZodEnum<{ private: "private"; public: "public"; }>>; nextCursor: ZodOptional<ZodString>; resources: ZodArray<ZodObject<{ _meta: ZodOptional<ZodObject<{ }, $loose>>; annotations: ZodOptional<ZodObject<{ audience: ZodOptional<ZodArray<...>>; lastModified: ZodOptional<ZodISODateTime>; priority: ZodOptional<ZodNumber>; }, $strip>>; description: ZodOptional<ZodString>; icons: ZodOptional<ZodArray<ZodObject<{ mimeType: ZodOptional<...>; sizes: ZodOptional<...>; src: ZodString; theme: ZodOptional<...>; }, $strip>>>; mimeType: ZodOptional<ZodString>; name: ZodString; size: ZodOptional<ZodNumber>; title: ZodOptional<ZodString>; uri: ZodString; }, $loose>>; ttlMs: ZodOptional<ZodNumber>; }, $loose>

get ​

get: ZodObject<{ cacheScope: ZodOptional<ZodEnum<{ private: "private"; public: "public"; }>>; skill: ZodUnknown; ttlMs: ZodOptional<ZodNumber>; }, $loose>

list ​

list: ZodObject<{ cacheScope: ZodOptional<ZodEnum<{ private: "private"; public: "public"; }>>; nextCursor: ZodOptional<ZodString>; skills: ZodArray<ZodUnknown>; ttlMs: ZodOptional<ZodNumber>; }, $loose>


MODERN_ENVELOPES ​

const MODERN_ENVELOPES: object

Defined in: packages/client/src/ext/skills/pageSchemas.ts:26

The 2026-07-28 result envelopes: each result extends CacheableResult, so both caching fields are required.

Type Declaration ​

directory ​

directory: ZodObject<{ _meta: ZodOptional<ZodObject<{ get io.modelcontextprotocol/serverInfo(): ZodCatch<ZodOptional<ZodObject<{ description: ZodOptional<...>; icons: ZodOptional<...>; name: ZodString; title: ZodOptional<...>; version: ZodString; websiteUrl: ZodOptional<...>; }, $strip>>>; }, $loose>>; cacheScope: ZodEnum<{ private: "private"; public: "public"; }>; nextCursor: ZodOptional<ZodString>; resources: ZodArray<ZodObject<{ _meta: ZodOptional<ZodObject<{ }, $loose>>; annotations: ZodOptional<ZodObject<{ audience: ZodOptional<ZodArray<...>>; lastModified: ZodOptional<ZodISODateTime>; priority: ZodOptional<ZodNumber>; }, $strip>>; description: ZodOptional<ZodString>; icons: ZodOptional<ZodArray<ZodObject<{ mimeType: ZodOptional<...>; sizes: ZodOptional<...>; src: ZodString; theme: ZodOptional<...>; }, $strip>>>; mimeType: ZodOptional<ZodString>; name: ZodString; size: ZodOptional<ZodNumber>; title: ZodOptional<ZodString>; uri: ZodString; }, $loose>>; ttlMs: ZodNumber; }, $loose> = ReadResourceDirectoryResultSchema

get ​

get: ZodObject<{ cacheScope: ZodEnum<{ private: "private"; public: "public"; }>; skill: ZodUnknown; ttlMs: ZodNumber; }, $loose> = GetSkillEnvelopeSchema

list ​

list: ZodObject<{ cacheScope: ZodEnum<{ private: "private"; public: "public"; }>; nextCursor: ZodOptional<ZodString>; skills: ZodArray<ZodUnknown>; ttlMs: ZodNumber; }, $loose> = SkillsPageSchema