Add first-class SEP-2640 Skills extension APIs

Author: tobi-oyeCreated Sep 12, 2026Updated Sep 16, 2026

Problem

SEP-2640 is accepted and conformance coverage landed in modelcontextprotocol/conformance#330. The official TypeScript SDK can express the extension through custom handlers, but it does not provide Skills-specific APIs.

Olaservo's reusable @olaservo/ext-skills prototype already provides server and client APIs and was previously proposed in modelcontextprotocol/ext-skills#71. That PR was closed with the note that the implementation would move to the TypeScript SDK.

PR #2797 adds a conformant TypeScript server fixture, but no public SDK API.

Proposed direction

Adapt Olaservo's Apache-2.0 implementation with attribution, in small phases:

  1. Shared schemas, types, and skills/list / skills/get operations.
  2. Server registration and filesystem discovery.
  3. Verified client resource reads.
  4. Optional resources/directory/read, documentation, and examples.

Use modelcontextprotocol/conformance#330 as the acceptance test.

Questions

  • Should this be a new workspace package or live in the existing client/server packages?
  • Should resources/directory/read be included initially or added separately?

Source: modelcontextprotocol/typescript-sdk