skills.mdx: ReadResourceDirectoryRequest does not type-check against the 2026-07-28 base schema

Chiusa Adatta ai principianti
#156 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

@sambhav ci sta già lavorando.

Dal 11/10/2026.

  • #157 di @sambhav — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
85/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
api, documentation

Direzione di ricerca

Inizia in specification/stable/skills.mdx e confronta le sue interfacce delle richieste con le definizioni di 2026-07-28 schema.ts. Concatena i blocchi TypeScript della pagina ed esegui tsc --noEmit --strict per riprodurre l'errore. Il lavoro è completato quando le interfacce delle richieste interessate seguono le convenzioni dei parametri dello schema di base e i blocchi combinati vengono compilati senza errori.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

specification/stable/skills.mdx says its referenced type names are those of the base schema at 2026-07-28. Checked against that schema, one of the page's interfaces does not compile.

What fails
interface ReadResourceDirectoryRequest extends PaginatedRequest {
  method: "resources/directory/read";
  params: {
    uri: string;
    cursor?: Cursor;
  };
}

At 2026-07-28, PaginatedRequest fixes params to PaginatedRequestParams, which inherits a required _meta from RequestParams. The inline object drops it:

error TS2430: Interface 'ReadResourceDirectoryRequest' incorrectly extends interface 'PaginatedRequest'.
  Types of property 'params' are incompatible.
    Property '_meta' is missing in type '{ uri: string; cursor?: string | undefined; }'
    but required in type 'PaginatedRequestParams'.

The page already states that every request MUST carry the request metadata and that the examples omit it for brevity, so the intent is not in doubt. Only the interface disagrees with it.

Reproduction

Concatenate the page's typescript blocks, import Request, PaginatedRequest, PaginatedResult, CacheableResult, Resource and Cursor from the 2026-07-28 schema.ts, and run tsc --noEmit --strict (TypeScript 5). This is the only error.

Suggested fix

Follow the shape the base schema uses for its own requests, a named params interface:

interface ReadResourceDirectoryRequestParams extends PaginatedRequestParams {
  /** URI of the directory resource to read. */
  uri: string;
}

interface ReadResourceDirectoryRequest extends PaginatedRequest {
  method: "resources/directory/read";
  params: ReadResourceDirectoryRequestParams;
}
A related inconsistency

GetSkillRequest compiles, but it departs from the base convention in two ways. It extends Request where the base schema's concrete requests extend JSONRPCRequest, and its params is an inline { uri: string } with no _meta. The base equivalent would be:

interface GetSkillRequestParams extends RequestParams {
  /** URI of the skill's SKILL.md. */
  uri: string;
}

interface GetSkillRequest extends JSONRPCRequest {
  method: "skills/get";
  params: GetSkillRequestParams;
}

ListSkillsRequest, ListSkillsResult, GetSkillResult and ReadResourceDirectoryResult type-check as written.

Lingua principale
MDX
Stelle
760
Fork
66
Merge medio
1g 9h
PR unite (30g)
5

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di modelcontextprotocol/ext-skills

Tutte le issue di modelcontextprotocol/ext-skills

Issue simili

Altre issue su Backend & API Design

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.