Add Skills Extension SEP reference implementation#71
Open
Conversation
Reference implementation demonstrating the Skills Extension SEP with: - skill:// resource convention with multi-segment paths - Extension declaration (io.modelcontextprotocol/skills) via SEP-2133 - SEP-2093 shims: resources/metadata, URI-scoped resources/list, per-resource capabilities via _meta - SDK with server-side discovery/registration and client-side wrappers (listSkills, readSkillUri, fetchSkillMetadata, READ_RESOURCE_TOOL) - 4 sample skills: 2 single-segment, 2 multi-segment under acme/ - End-to-end client demo exercising all 7 features Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Each shim function now has a TODO with the specific PR link for when/if it can be removed. Uses "if" not "when" since the upstream PRs are drafts not guaranteed to merge. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ASCII diagrams showing: overall system structure, URI anatomy, discovery flow, SDK-to-protocol mapping, and what's permanent SEP design vs temporary SDK shims. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reference implementation of the Skills Extension SEP with working client and server SDK extensions. Demonstrates:
skill://resource convention — multi-segment paths with organizational prefixes (skill://acme/billing/refunds/SKILL.md)io.modelcontextprotocol/skillsin server capabilitiesresources/metadata(metadata without content), URI-scopedresources/list, per-resource capabilities via_metalistSkills(),readSkillUri(),fetchSkillMetadata(),READ_RESOURCE_TOOLWhat's included
typescript/sdk/examples/skills-server/examples/skills-client/examples/sample-skills/acme/examples/README.mdSEP compliance
Audited point-by-point against PR #69:
name(validated at discovery time)resources/listreturns only SKILL.md entriesread_resourcetool matches SEP schema exactly (server+uriparams)capabilities.extensionsSDK shims
The MCP TypeScript SDK (v1.27.1) doesn't support SEP-2093 or SEP-2133 natively. The
resource-extensions.tsmodule provides workarounds with TODO links to the upstream PRs:resources/metadata,uriparam onresources/list, per-resourcecapabilitiesRelated PRs
Test plan
cd typescript/sdk && npm install && npm run build— SDK compilescd examples/skills-server/typescript && npm install && npm run build— Server compilescd examples/skills-client/typescript && npm install && npm run build— Client compilesnode examples/skills-client/typescript/dist/index.js— Full 7-step demo runs end-to-endresources/metadatareturns metadata without content🦉 Generated with Claude Code