Problem
core/mcp/skillsSchemas.ts treats caching attributes on skills/get as optional, because SEP-2640 said whether they are required was "left open". The stable ext-skills specification (specification/stable/skills.mdx, updated upstream 2026-09-16) now settles that question:
GetSkillResult extends CacheableResult, so ttlMs and cacheScope are REQUIRED, as they are on resources/read, and carry the same semantics.
As a result, the Inspector accepts a modern skills/get result that is missing these required fields, so it reports a non-conforming server as clean.
Expected
On modern (2026-07-28+) connections, validate skills/get results against CacheableResult the same way skills/list already is: require ttlMs as a non-negative integer and cacheScope as public or private. Legacy results stay permissive. Update the "left open" comments to match.
Context
Found in Copilot review of #2401.
Problem
core/mcp/skillsSchemas.tstreats caching attributes onskills/getas optional, because SEP-2640 said whether they are required was "left open". The stable ext-skills specification (specification/stable/skills.mdx, updated upstream 2026-09-16) now settles that question:As a result, the Inspector accepts a modern
skills/getresult that is missing these required fields, so it reports a non-conforming server as clean.Expected
On modern (2026-07-28+) connections, validate
skills/getresults againstCacheableResultthe same wayskills/listalready is: requirettlMsas a non-negative integer andcacheScopeaspublicorprivate. Legacy results stay permissive. Update the "left open" comments to match.Context
Found in Copilot review of #2401.