modelcontextprotocol / modelcontextprotocol/inspector
Modern skills/get results must carry ttlMs and cacheScope (ext-skills stable spec)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 10.9k
- Forks
- 1.5k
- Avg merge
- 6h 17m
- Merged PRs (30d)
- 151
Description
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:
GetSkillResultextendsCacheableResult, sottlMsandcacheScopeare REQUIRED, as they are onresources/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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in core/mcp/skillsSchemas.ts and compare modern skills/get validation with the existing skills/list handling of CacheableResult. Check the stable ext-skills specification in specification/stable/skills.mdx and confirm that modern results require non-negative integer ttlMs and public or private cacheScope while legacy results remain permissive. Done means the Inspector rejects non-conforming modern results and the outdated comments are updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 85/100