modelcontextprotocol / modelcontextprotocol/inspector

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

Open Beginner friendly
#2,404 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug v2
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:

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.