SEP-2640: Skills Extension
@koic is already working on this.
Since Sep 22, 2026.
Assessment
This issue has not been assessed yet.
Description
Requesting support for SEP-2640 (Skills Extension, Extensions Track, Final), which serves Agent Skills over the existing Resources primitive.
Nothing in the SDK covers it today: no skills/* constants in lib/mcp/methods.rb, no helper module, and no match for skill anywhere under lib/ on main (1.6.0). ROADMAP.md names DPoP, workload identity federation, and the tasks extension as the unimplemented extensions — skills isn't listed.
What a server declaring the extension owes
skills/listandskills/get— both MUSTresources/directory/read— optional, gated behinddirectoryRead: true- the SEP-2133
capabilities.extensionsfragmentio.modelcontextprotocol/skills, alongside a declaredresourcescapability - on 2026-07-28,
skills/listresults carry the SEP-2549ttlMs/cacheScopehints
Prior art in the other official SDKs
- python-sdk: modelcontextprotocol/python-sdk#3486, modelcontextprotocol/python-sdk#3485
- typescript-sdk: modelcontextprotocol/typescript-sdk#2798, modelcontextprotocol/typescript-sdk#2818
- go-sdk: modelcontextprotocol/go-sdk#1238, modelcontextprotocol/go-sdk#1240
- csharp-sdk: modelcontextprotocol/csharp-sdk#1863, modelcontextprotocol/csharp-sdk#1864
Notes
MCP::Apps looks like the shape this would take: a helper module for an Extensions-Track SEP, with Capabilities#support_extensions for negotiation and the resources primitive underneath.
Most of it can be assembled today from define_custom_method plus resources_read_handler, and a custom method's result does get resultType stamped on the modern path. The SEP-2549 hints don't follow: Server::CACHEABLE_RESULT_METHODS is frozen and consulted internally, so a hand-rolled skills/list has to merge ttlMs/cacheScope into its own result. Worth folding into whatever first-class support lands.
- Dominant language
- Ruby
- Stars
- 914
- Forks
- 133
- Avg merge
- 1d 10m
- Merged PRs (30d)
- 33
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from modelcontextprotocol/ruby-sdk
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 40/100
modelcontextprotocol/ruby-sdk#572 ·
-
enhancement
modelcontextprotocol/ruby-sdk#391 · 1 reaction · 1 assignee ·
All issues in modelcontextprotocol/ruby-sdk
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
palladius/rails8-app-on-gcp#145 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
rubocop/rubocop-rspec#2236 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
riscv/riscv-unified-db#2624 · 1 reaction ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100