Skip to content

Modern skills/get results must carry ttlMs and cacheScope (ext-skills stable spec) #2404

Description

@cliffhall

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingv2Issues and PRs for v2

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions