Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
One change · mcp

SEP-2640: Skills Extension changed

seps/2640-skills-extension

Nearest release: v2.1.274, published 7 hours after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+7added
Lines−7removed
From line 43 where the diff opens
First seen 13 Sep 2026 this site's first read of the page
Recorded edits2to this page, all time

The whole hunk

from line 43, old and new numbered
/
lines
from line 43
4343 
4444Native skills support in host applications demonstrates strong demand for rich, progressively disclosed workflow instructions. MCP does not currently offer a conventional way to ship this content alongside the tools it describes, which leads to:
4545 
46* **Fragmented distribution.** A server and the skill that teaches an agent to use it are versioned, discovered, and installed separately. Users installing a server from a registry have no signal that a companion skill exists. ([problem statement](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/problem-statement.md))
47* **Instruction size limits.** Server instructions are delivered as the `instructions` field of the `server/discover` result and are practically bounded in size. Complex workflows, such as the 875-line [mcpGraph skill](https://github.com/TeamSparkAI/mcpGraph/blob/main/skills/mcpgraphtoolkit/SKILL.md), do not fit this model. ([experimental findings](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/experimental-findings.md#mcpgraph-skills-in-mcp-server-repo))
46* **Fragmented distribution.** A server and the skill that teaches an agent to use it are versioned, discovered, and installed separately. Users installing a server from a registry have no signal that a companion skill exists. ([problem statement](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/archive/problem-statement.md))
47* **Instruction size limits.** Server instructions are delivered as the `instructions` field of the `server/discover` result and are practically bounded in size. Complex workflows, such as the 875-line [mcpGraph skill](https://github.com/TeamSparkAI/mcpGraph/blob/main/skills/mcpgraphtoolkit/SKILL.md), do not fit this model. ([experimental findings](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/archive/experimental-findings.md#mcpgraph-skills-in-mcp-server-repo))
4848* **Inconsistent ad-hoc solutions.** Absent a convention, several independent implementations have each invented their own `skill://` URI structure, with diverging semantics for authority, path, and sub-resource addressing.
4949 
5050## Specification
from line 590
590590 
591591This extension introduces three protocol methods. `skills/list` and `skills/get` are implemented by every server declaring the extension, so a client only issues those calls after seeing the declaration, and a client that predates the extension never issues them. `resources/directory/read` is additionally gated behind the `directoryRead` capability setting, so a server that does not declare it never receives the call. The extension introduces no other methods, message types, or schema changes. A server that does not implement this extension simply exposes no `skill://` resources; existing clients are unaffected. A client that does not implement this extension sees `skill://` resources as ordinary resources, which they are.
592592 
593Existing implementations using other `skill://` URI structures will need to adjust to conform. See the Working Group's [related-work survey](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/related-work.md) for a catalog. Notably, FastMCP's widely-used [SkillsProvider](https://gofastmcp.com/servers/providers/skills) diverges on URI structure, discovery (per-skill `_manifest` vs. central index), and metadata mapping; coordinating that migration is a near-term Working Group priority. These are mechanical changes, not semantic ones.
593Existing implementations using other `skill://` URI structures will need to adjust to conform. See the Working Group's [related-work survey](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/archive/related-work.md) for a catalog. Notably, FastMCP's widely-used [SkillsProvider](https://gofastmcp.com/servers/providers/skills) diverges on URI structure, discovery (per-skill `_manifest` vs. central index), and metadata mapping; coordinating that migration is a near-term Working Group priority. These are mechanical changes, not semantic ones.
594594 
595595## Security Implications
596596 
597Skill content is instructional text delivered to a model, which makes it a prompt-injection surface (background in [open-questions.md §10](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/open-questions.md#10-how-should-skills-handle-security-and-trust-boundaries)). This extension imposes the following requirements:
597Skill content is instructional text delivered to a model, which makes it a prompt-injection surface (background in [open-questions.md §10](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/archive/open-questions.md#10-how-should-skills-handle-security-and-trust-boundaries)). This extension imposes the following requirements:
598598 
599599* **Skill content is untrusted input.** Hosts MUST treat MCP-served skill content as untrusted model input, subject to the same prompt-injection defenses applied to any server-provided text. A server being connected does not make its skill content authoritative.
600600* **Origin MUST be visible to the model.** Hosts MUST tag MCP-served skill content with its originating server identity at the point it enters model context and MUST NOT present an MCP-served skill to the model as indistinguishable from a local filesystem skill. The model, not the host, decides whether to follow a skill's instructions. Withholding origin from it makes the untrusted-input requirement above unenforceable at the layer that acts on it.
from line 658
658658* [SEP-2076]: Agent Skills as first-class primitive (alternative approach)
659659* [Skills Over MCP Working Group charter](https://modelcontextprotocol.io/community/skills-over-mcp/charter)
660660* [Decision Log](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/decisions.md): Working Group decisions and rationale
661* [Experimental Findings](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/experimental-findings.md): results from implementations (WIP)
662* [Related Work](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/related-work.md): survey of existing skill-serving implementations
663* [Skill `_meta` Keys](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/skill-meta-keys.md): `_meta` key conventions for skill resources
661* [Experimental Findings](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/archive/experimental-findings.md): results from implementations (WIP)
662* [Related Work](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/archive/related-work.md): survey of existing skill-serving implementations
663* [Skill `_meta` Keys](https://github.com/modelcontextprotocol/ext-skills/blob/main/docs/archive/skill-meta-keys.md): `_meta` key conventions for skill resources
664664* [RFC 3986: URIs](https://datatracker.ietf.org/doc/html/rfc3986)
665665 
666666[SEP-2076]: https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2076