Modern resources/directory/read results must carry ttlMs and cacheScope (ext-skills stable spec)
Maintainer thường phản hồi trong vòng 1 ngày
@olaservo đang làm issue này rồi.
Từ ngày 20/10/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Problem
core/mcp/skillsSchemas.ts parses resources/directory/read results with one schema for both eras, and its closing comment says there is deliberately no modern variant because SEP-2640 "states nothing of the kind" about caching attributes on that method. The stable ext-skills specification (specification/stable/skills.mdx, updated upstream 2026-10-15 in ext-skills#157, decision recorded in docs/decisions.md) now settles that question the same way it settled skills/get in #2404:
ReadResourceDirectoryResultextendsCacheableResult, sottlMsandcacheScopeare REQUIRED, as they are onresources/list, and carry the same semantics. They describe the freshness of the directory listing, not of the held entry, and do not alter Directory Reads and the Held Entry.
The spec's directory-read examples now carry "ttlMs": 300000, "cacheScope": "public".
As a result, the Inspector accepts a modern resources/directory/read result that is missing these required fields, so it reports a non-conforming server as clean. The test server has the same gap: readDirectoryPage in test-servers/src/skills.ts sends resultType only, with a comment saying a fixture that sent more than the SEP shows would make a client that wrongly required them look correct. Under the new text the fixture itself is non-conformant on the modern leg.
Expected
On modern (2026-07-28+) connections, validate resources/directory/read results against CacheableResult the same way skills/list and skills/get already are: require ttlMs as a non-negative integer and cacheScope as public or private. Legacy results stay permissive.
core/mcp/skillsSchemas.ts: add aModernDirectoryReadResultSchemaextendingDirectoryReadResultSchemawith the two attributes, and replace the "no modern variant" comment block with the new citation.core/mcp/inspectorClient.tsreadResourceDirectory: pick the schema fromisModernEra(), aslistSkillsandgetSkillResultdo.test-servers/src/skills.ts:readDirectoryPageandDirectoryReadResultShapesend and validate the full modern envelope, matching theskills/*results.- Tests: the modern integration cases for
resources/directory/readassert the attributes are required, mirroring the #2404 coverage forskills/get. The CLI--method resources/directory/readprints the result as received, so its output gains the two fields on modern connections and nothing else changes.
Checked and not affected
The same ext-skills change also added named params interfaces with required _meta on skills/get and resources/directory/read requests, optional _meta on Skill, and *ResultResponse types. The SDK already stamps the required request metadata on modern connections (the strict modern test server reads clientCapabilities from it, #2373), SkillEntrySchema is a looseObject so _meta passes through, and the response types are documentation only. No Inspector change is needed for those.
Context
Spec diff: ext-skills#157, fixing ext-skills#156. Precedent: #2404 (same change for skills/get), #2373 (why the modern schemas omit resultType).
- Ngôn ngữ chính
- TypeScript
- Star
- 11.1k
- Fork
- 1.6k
- Merge trung bình
- 5 giờ 41 phút
- Pull request đã merge (30 ngày)
- 149
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của modelcontextprotocol/inspector
-
blocked chore v2
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
modelcontextprotocol/inspector#2548 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
blocked chore v2
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
modelcontextprotocol/inspector#2547 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
chore v2
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
modelcontextprotocol/inspector#2544 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
chore v2
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
modelcontextprotocol/inspector#2543 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Nightly security sweep: turn Dependabot and code-scanning (CodeQL) alerts into board-tracked issuesĐang mởblocked chore v2
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
modelcontextprotocol/inspector#2542 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của modelcontextprotocol/inspector
Issue tương tự
-
engine-rs P3 review-deferral wasm
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
maniator/verticopolis#1154 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
telerik/kendo-react#3861 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[bug]: use-mobile.ts uses pixel logic, causing UI state de-sync with Tailwind CSS rem breakpointsĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
task
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100