* docs: add skills-extension-candidates tracker Scaffold a candidates list for MCP servers, dev tools, SDKs, and skills repositories that could adopt SEP-2640. Initial entries: FastMCP 3.0 Skills, chrome-devtools-mcp, hf-mcp-server, Hugging Face skills library, github-mcp-server (PR #2428 demo), Azure Skills Plugin. Cross-link from related-work.md and add a row to the README docs table. * docs: add Issue/PR tracker column to candidates table * docs: add client-mcp-support survey alongside candidates tracker * docs: link Azure MCP Server source in candidates table * docs: remove gemini-cli from client MCP support survey * docs: verify hermes-agent, switch source refs to main-branch links, refresh takeaways - Promote hermes-agent from first-pass to verified; note its per-server tool pattern (`mcp_{server}_read_resource` + `mcp_{server}_list_resources`) and confirm end-user docs exist - Drop stale line numbers throughout; convert path refs to GitHub source-file links on `main` (commit-pinned URLs decayed once files moved) - Goose: PR #8989 has landed, so describe current `(extension_name, uri)` required signature and drop the now-closed issue/PR tracking - Takeaways: collapse to three implementation patterns (Goose now fits the `(server, uri)` bucket), fix open-source count to fourteen, drop the smolagents name-drop (not in survey), add strands-agents alongside mastra for the internal-SDK-only pattern, and reframe the signature recommendation around server-resolution reliability rather than URI portability * docs: verify remaining first-pass clients, flip cline/Roo-Code to Yes Verified adk-python, agent-framework, crewAI, mastra, cline, Roo-Code against local source clones. Two corrections to prior state: - cline and Roo-Code both expose access_mcp_resource(server, uri) as a model-facing tool via McpHub.readResource. Flipped from No to Yes. - adk-python's load_mcp_resource takes resource_names: array[string] in a single call (not two-shot); opt-in via use_mcp_resources flag. Headline count updated from six to eight of fourteen open-source clients satisfying #2527. Cross-cutting observations and takeaways adjusted for the new (server, uri) family members and the four-pattern signature breakdown. Trust-model list extended. * docs: add Figma and Adobe MCP as SEP-2640 testing candidates * docs: update FastMCP 3.0 Skills entry with detailed notes on SEP-2640 compliance * docs: drop unconfirmed Cursor SEP-2640 entry, track latest SEP-2640 wire-contract PRs Remove the Cursor row + deep dive (reported WIP never confirmed). Add the in-flight PRs realigning to the 2026-06-05/06-09 SEP-2640 schema (frontmatter + archives[] index, resources/directory/read): hf-mcp-server#174, fast-agent#825, huggingface/skills#172. * docs: add Slack (interested) and Bloomberg (internal use) as SEP-2640 candidates * docs: remove archived Roo-Code from client survey, update strands repo to harness-sdk * docs: re-verify SEP-2640 implementations against current upstream main Both reference implementations have migrated to the July 2026 v1 shape, verified against fresh clones rather than the prior June commit pins: - hf-mcp-server (d794b10, v0.4.6): skills/list + skills/get, per-file {uri,digest} resources manifest, directoryRead:true, no index.json or archives. Migrated in #219 (merged 2026-08-03). Also records the snapshot/TTL model and HTTP-transport-only constraint. - fast-agent (79b903c, 0.10.1): pins SEP-2640 revision d7490ec, treats legacy index.json skill-md/archive entries as unsupported. Requires --prerelease=allow (pins fastmcp-slim 4.0.0b1), per @evalstate. Corrects the earlier note claiming implementations lagged the SEP: the #174/#825/#172 round merged 2026-06-19 and was never in flight, and a second realignment followed the v1 rework. Also fixes drift found while re-checking fast-agent's resource tool: smart_agent.py is gone (now core/harness_tools.py), get_resource is opt-in via harness_tools (default False, was unconditional), and server_name is now optional - the one surveyed client where the model may omit server identity. Runtime skill loading is still unshipped; #816 remains open. 🦉 Generated with [Claude Code](https://claude.com/claude-code) * docs: track SEP revision 0eb05fe and add mcpkit to the candidates tracker The SEP moved from d7490ec to 0eb05fe (2026-08-05). The delta is editorial for the wire contract -- skills/list, skills/get, and the per-file resources manifest are unchanged -- so d7490ec-pinned implementations stay compatible. Records what it does change: a soft reg-name constraint on the first skill-path segment, the skill root URI fixed as skill://<skill-path> with no trailing slash, whether skills/get carries ttlMs/cacheScope reopened, and normative host obligations in the security section. Adds mcpkit (panyam/mcpkit, Go, v0.3.0) from #118 as a candidate. It implements the pre-v1 index.json catalog shape with per-file digests, so the ecosystem is now split across draft revisions rather than uniformly caught up. 🦉 Generated with [Claude Code](https://claude.com/claude-code) * docs: refine mcpkit entry — deliberate tracking, partial v1 migration Checked mcpkit's issues and PRs rather than inferring alignment from code shape. Its lag is a tracked decision, not drift: - #1185 (merged 2026-08-04) implements origin-tagging and per-origin resolve citing SEP L179/L183/L185 -- the host obligations 0eb05fe made normative -- so it is already on v1 for the security section. #1187 adds a SEP-2640 security/conformance harness as a WG demo. - #780 is an explicit index-schema tracking issue that has absorbed the archives removal and the resources:[{uri,digest}] direction but waits on WG confirmation; its conformance fork pins provenance at 556154c. - The carrier change is still unbooked: nothing references skills/list or skills/get. - Archives are kept as a non-spec extended surface rather than deleted, unlike fast-agent -- a counter-case for whether deferring a feature removes it from the ecosystem. Sharpens the callout accordingly: the draft split runs within an implementation, not only between them, so "which draft does X implement" often has no single answer. 🦉 Generated with [Claude Code](https://claude.com/claude-code)
8.8 KiB
Skills Extension Candidates
A tracker of MCP servers, dev tools, SDKs, and skills repositories that are candidates for adopting the skills extension proposed in SEP-2640.
Inclusion criterion. An entry belongs here if it already ships skills in some non-MCP form (separate install path, plugin marketplace, framework-native provider), pairs an MCP server with a separate skills repo, or has an in-flight SEP-2640 implementation.
ℹ️ Implementations track the SEP by draft revision, and have realigned twice. SEP-2640 was reworked into a v1 scope between July 8–15, 2026 (see the 2026-07-16 decision record): archives removed,
skill://index.jsonreplaced by askills/listmethod, the single per-entry digest replaced by a per-fileresourcesmanifest,skills/getadded, andresources/directory/readmade optional behind adirectoryReadcapability. As of 2026-08-04 the reference server and client have both caught up — hf-mcp-server migrated in #219 (merged 2026-08-03) and fast-agent pins draft revisiond7490ec— after an earlier realignment round on 2026-06-19 (hf#174, fast-agent#825, huggingface/skills#172). Both now reject the olderskill://index.json+ archive shape outright — while mcpkit (below) still serves the index-catalog shape, so the ecosystem is split across draft revisions. Note that the split runs within an implementation, not just between them: mcpkit is current on v1's normative security obligations while deliberately holding its index schema pending WG confirmation. Adoption tracks the SEP section by section, so "which draft does X implement" often has no single answer. Since the SEP is still a draft under review, treat any "implemented" claim here as implements a pinned draft revision and re-verify against the revision the SEP is at when you read this. The SEP has since moved to0eb05fe(2026-08-05); that delta is editorial for the wire contract —skills/list,skills/get, and the per-fileresourcesmanifest are unchanged — sod7490ec-pinned implementations remain compatible. It does add one soft constraint (the first<skill-path>segment SHOULD be a valid RFC 3986reg-name, since it occupies the authority component), pins the skill root URI asskill://<skill-path>with no trailing slash, reopens whetherskills/getshould carryttlMs/cacheScope, and makes the security section's host obligations normative rather than a recorded WG position.
See also client-mcp-support.md for the matching client-side survey: which open-source MCP hosts already let the model load resources by URI (the prerequisite for any client to consume what these candidates would expose).
Snapshot
| Server | Repo | Author / Org | Issue/PR tracker | Notes |
|---|---|---|---|---|
| FastMCP 3.0 Skills | jlowin/fastmcp — docs | FastMCP | #2694 | Framework with its own native skills provider using MCP Resources; doesn't yet reflect SEP-2640 |
| chrome-devtools-mcp | ChromeDevTools/chrome-devtools-mcp | Google (ChromeDevTools) | none yet | Bundles a skills/ folder, but requires separate install — not served via MCP |
| hf-mcp-server | huggingface/hf-mcp-server | Hugging Face | #219, #174, #164 (all merged) | SEP-2640 v1 implemented (server side). Verified at d794b10 (v0.4.6, 2026-08-03). Implements skills/list, skills/get, resources/read, and optional resources/directory/read; entries carry uri + verbatim frontmatter + a per-file {uri, digest} resources manifest (skill-types.ts, skill-resources.ts). Advertises io.modelcontextprotocol/skills with directoryRead: true plus resources: { subscribe: false, listChanged: false } (capability-utils.ts). No skill://index.json, no archives — both removed by #219 (merged 2026-08-03), which migrated from the 2026-06-05 shape that #174 had landed. Operational shape: skills come from a prebuilt snapshot (HF_SKILLS_DIR) with every digest verified before an atomic in-memory swap, a three-hour freshness TTL with stale-while-revalidate, and HTTP transports only — skills are not served over long-lived STDIO. First server we interoperated with end-to-end (against fast-agent, see client-mcp-support.md). #164 adds a client denylist (default cursor-vscode) after that client's resources/subscribe retry-loop flooded the server (~100k req/min). Distribution producer: huggingface/skills#172 |
mcpkit (ext/skills) |
panyam/mcpkit | Sri Panyam | #780 (open, index-schema tracking); #1185, #1187 (merged) | Partially migrated, and tracking the SEP deliberately. Go SDK covering both server and host: SKILL.md, skill:// resources, progressive disclosure via a skill://index.json catalog + a host-side load_skill tool, per-supporting-file digests with verified reads, resource-fetch size and per-server byte budgets, and resources/directory/read; no code-execution surface (enforced by a build-failing test). Released in v0.3.0. Already on v1 for the security section — #1185 (merged 2026-08-04) implements origin-tagging and per-origin resolve, citing SEP lines L179/L183/L185, i.e. the host obligations 0eb05fe made normative; #1187 adds a SEP-2640 security/conformance harness as a WG demo. Deliberately holding on the index schema — #780 is an explicit tracking vehicle (body rewritten 2026-07-14) that has already absorbed the archives removal and the resources: [{uri, digest}] direction, but is waiting on WG confirmation before refactoring; its conformance fork "deliberately holds provenance at pre-PR-97 commit 556154c." Not yet absorbed: the carrier change — no issue or code references skills/list/skills/get, so the index-resource → method move is still unbooked. Also resolved the archive deferral differently from fast-agent: archives are retained as an explicitly non-spec "extended surface" rather than deleted, a useful counter-case for whether deferring a feature actually removes it from the ecosystem. The only Go implementation tracked, and the only one pairing a server and host in one SDK |
| github-mcp-server | github/github-mcp-server | GitHub | #2428 (WIP demo, not for merge) | SEP-2640 demo branch |
| Azure Skills Plugin | microsoft/azure-skills | Microsoft | none yet | 25 Azure SKILL.md skills bundled with Azure MCP Server + Foundry MCP; distributed as a plugin, not via MCP |
| Figma MCP | TBD | Figma | none yet | Contact: Discord adityamuttur — candidate for SEP-2640 testing |
| Adobe MCP | TBD | Adobe | none yet | Contact: Discord justinmathew8592 — candidate for SEP-2640 testing |
| Slack | TBD | Slack | none yet | Expressed interest in SEP-2640 — candidate for testing |
| Bloomberg | internal | Bloomberg | none yet | Using skills-over-MCP internally; not public |