Mirror of https://github.com/modelcontextprotocol/ext-skills — MCP Extension for Skills discovery and distribution through MCP primitives. Maintained by the Skills Over MCP Working Group.
  • MDX 96.1%
  • TypeScript 3.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Oluwatobi Oyewole 420f8ef904
Feature/issue 66 skill resource loading prototype (#116)
* Add standalone prototype for issue #66 (skill:// discovery/loading)

Builds a from-scratch MCP server + client per the merged SEP-2640 draft
(resources + skill://index.json, no custom methods), exercising flat and
nested skill paths, relative sub-resource references, and the
"enumeration is optional but direct read must still work" baseline.
Findings recorded in docs/experimental-findings.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Trim prototype to essentials

Inline the four skill fixture files into server.mjs (the prototype
demonstrates the transport binding, not filesystem loading) and drop the
prototype README, whose content is already in the PR description.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Add findings from VS Code SEP-2640 skill discovery implementation

Records what implementing skill:// discovery in VS Code proper surfaced:
the client already had the full progressive-disclosure loop and only
lacked an MCP source, its mcp-resource:// FS provider means the loading
half needs no code at all, and a new skill source touches more type
surfaces than expected.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Drop prototype code; keep findings only

experimental-ext-skills is a working-group docs repo, so a runnable
Node server/client pair did not belong in it. The actual client-side
implementation for issue #66 now lives in VS Code, and what belongs
here is the write-up of what that surfaced.

Folds the still-transferable observations from the removed prototype
(URI- vs metadata-based identification per #54, and the index digest
doc inconsistency) into the VS Code findings entry.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Add findings from running the VS Code integration against a live server

Records what surfaced once the implementation was run from a source
build against the Hugging Face MCP server, rather than only
type-checked: the index wire format had already moved past the
checked-in draft, per-context-computation discovery is an easy
accidental DoS, a new skill source touches four type surfaces that must
agree, and cross-server name collisions are unspecified by the SEP.

None of the three defects were caught by tsc or the unit tests.

Also corrects the previous entry, which said the work was not verified
against a running server — it now is, for discovery. Model invocation
remains undemonstrated and is called out as such.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Tighten the issue #66 findings entry

Cut ~half the words to match the length of neighbouring entries and
make it reviewable at a glance. Same findings, less prose.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Link the findings entry to the VS Code implementation PR

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Restore the #54 identification note and reframe the digest point

Issue #66 asks explicitly for a URI- vs metadata-based identification
evaluation, so that belongs in the entry. The digest note is reframed
from a doc nitpick into the actionable version: the live server sends a
digest and this client ignores it, so nothing verifies skill integrity.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* docs: note VS Code findings were written against the pre-v1 draft

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: olaservo <olahungerford@gmail.com>
2026-08-28 09:51:14 -07:00
.github docs: transition from Interest Group to Working Group (#81) 2026-04-17 14:27:27 -07:00
docs Feature/issue 66 skill resource loading prototype (#116) 2026-08-28 09:51:14 -07:00
.gitignore Add .gitignore to exclude local settings file 2026-02-03 20:07:14 -07:00
AGENTS.md docs: sync SEP copy with v1 and add AGENTS.md (#117) 2026-08-02 20:56:31 -07:00
CLAUDE.md docs: sync SEP copy with v1 and add AGENTS.md (#117) 2026-08-02 20:56:31 -07:00
CONTRIBUTING.md docs: add experimental findings template (#112) 2026-08-28 09:49:35 -07:00
LICENSE Add Creative Commons license for project documentation 2026-02-04 07:33:09 -07:00
README.md docs: add skills-extension-candidates and client-mcp-support trackers (#92) 2026-08-28 09:49:18 -07:00

Skills Over MCP Working Group

⚠️ Experimental — This repository is an incubation space for the Skills Over MCP Working Group. Contents are exploratory and do not represent official MCP specifications or recommendations.

📄 SEP-2640 (Skills Extension): modelcontextprotocol#2640 — the source of truth for the v1 spec text. Review and comments belong on the PR. The copy in this repo is a synced baseline for discussion; see docs/sep-draft-skills-extension.md. Charter: modelcontextprotocol.io/community/skills-over-mcp/charter — mission, scope, membership, active work items, and success criteria. Project board: Skills Over MCP WG Meeting notes: Skills Over MCP WG discussions Discord: #skills-over-mcp-wg Open work: Pull requests — proposals, decisions, implementations, and other in-flight contributions welcome.

Why Skills Over MCP?

MCP servers give agents tools, but tools alone are insufficient for complex workflows — tool descriptions tell an agent what a tool does, not how to orchestrate multiple tools to achieve a goal. Skills bridge this gap. They are structured "how-to" knowledge: multi-step workflows, conditional logic, and orchestration instructions that can run to hundreds of lines.

Skills are context, and MCP is a context protocol. Agents already connect to remote services over MCP to get tools — they can get the know-how to use those tools through the same channel. A remote MCP server can serve both its tools and the instructions for using them together, as a single atomic unit. This also enables automatic discovery (connect to a server, find its skills), dynamic updates (server-side changes flow without reinstall), multi-server composition (skills orchestrating tools across servers), and enterprise distribution (RBAC, multi-tenant, version-adaptive content) — all through infrastructure MCP servers already provide.

See why-and-when.md for the full value proposition and a guide for when MCP distribution applies vs. simpler alternatives. For an accessible external framing of the premise, see Angie Jones's "Skills Over MCP" (Agentic AI Foundation) — "ship the manual with the product."

Problem Statement

Native "skills" support in host applications demonstrates demand for rich workflow instructions, but there's no convention for exposing equivalent functionality through MCP primitives. Current limitations include:

  • Server instructions load only at initialization — new or updated skills require re-initializing the server
  • Complex workflows exceed practical instruction size — some skills require hundreds of lines of markdown with references to bundled files
  • No discovery mechanism — users installing MCP servers don't know if there's a corresponding skill they should also install
  • Multi-server orchestration — skills may need to coordinate tools from multiple servers

See problem-statement.md for full details.

Repository Contents

Document Description
Problem Statement Current limitations and gaps
Why Skills Over MCP? Value proposition and decision guide
Use Cases Key use cases driving this work
Approaches Approaches being explored (not mutually exclusive)
SEP-2640: Skills Extension Proposal to serve skills over MCP via the Resources primitive. The v1 baseline text is kept at docs/sep-draft-skills-extension.md, synced from the canonical SEP. Comments and review of v1 happen on the PR; changes beyond v1 are proposed as entries in the decision log.
Open Questions Unresolved questions with community input (see also issues and meeting notes)
Experimental Findings Results from implementations and testing
Related Work SEPs, implementations, and external resources
Threat Model Threat model for skills served over MCP (SEP-2640), with delivery-model recommendations and an archive appendix
Skills Extension Candidates MCP servers, dev tools, SDKs, and skills repositories that are candidates for adopting the skills extension
Client MCP Support Survey of model-facing MCP resource loading and SEP-2640 support across open-source clients
Decision Log Record of key decisions with context and rationale
Rationale Design rationale for SEP-2640's Resources-based skills extension

Contributing

See CONTRIBUTING.md for how to participate.