Skip to content

feat: Add support for SEP-2640 Skills extension - #1141

Open
uc4w6c wants to merge 1 commit into
modelcontextprotocol:mainfrom
uc4w6c:sep/skills-extension
Open

uc4w6c wants to merge 1 commit into
modelcontextprotocol:mainfrom
uc4w6c:sep/skills-extension

Conversation

@uc4w6c

@uc4w6c uc4w6c commented Sep 22, 2026

Copy link
Copy Markdown

Closes #1140

Motivation and Context

Adds support for the SEP-2640 Skills extension.

This enables Java MCP clients to discover and retrieve Agent Skills, and stateless Java MCP servers to advertise and serve them. The implementation adds the extension schema and endpoints (skills/list, skills/get, and optional resources/directory/read), client APIs, server registration APIs, manifest validation, documentation, and tests.

This aligns the Java SDK with existing implementations in:

How Has This Been Tested?

  • Added schema serialization and deserialization tests.
  • Added client tests for skill listing, skill retrieval, directory reads, and extension capability checks.
  • Added stateless server tests for skill registration, endpoint handling, manifest validation, nested skills, and directory reads.
  • Manually tested a local MCP server and client using the new SDK APIs.
  • Ran ./mvnw clean test.

Breaking Changes

No. This change adds new APIs and protocol types without changing existing behavior.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

I prepared this implementation before realizing that the project prefers discussion with maintainers before non-trivial changes are submitted. I would appreciate feedback on the scope and API design, and I am happy to revise the implementation based on maintainer guidance.

oveddan added a commit to oveddan/chromatik-mcp that referenced this pull request Sep 23, 2026
Packages agent-plugin/skills/ into the jar and exposes each file as a
skill://<name>/<path> MCP resource (SEP-2640's resource-mapping half), so a
client that connects to chromatik-mcp gets the driving-chromatik house rules
without installing the agent plugin, and the served text is version-locked to
the jar rather than a separately-installed copy. The server's INSTRUCTIONS now
point the model at skill://driving-chromatik/SKILL.md.

SEP-2640's skills/list and skills/get methods (and the extensions capability)
are deliberately deferred: the MCP Java SDK 2.0.0-RC1's ServerCapabilities is a
fixed record and its request handlers are private, with no seam for either —
they wait on modelcontextprotocol/java-sdk#1141. A client can still read every
skill file directly via resources/read in the meantime, which is the
baseline SEP-2640 guarantees.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
oveddan added a commit to oveddan/chromatik-mcp that referenced this pull request Sep 23, 2026
Packages agent-plugin/skills/ into the jar and exposes each file as a
skill://<name>/<path> MCP resource (SEP-2640's resource-mapping half), so a
client that connects to chromatik-mcp gets the driving-chromatik house rules
without installing the agent plugin, and the served text is version-locked to
the jar rather than a separately-installed copy. The server's INSTRUCTIONS now
point the model at skill://driving-chromatik/SKILL.md.

SEP-2640's skills/list and skills/get methods (and the extensions capability)
are deliberately deferred: the MCP Java SDK 2.0.0-RC1's ServerCapabilities is a
fixed record and its request handlers are private, with no seam for either —
they wait on modelcontextprotocol/java-sdk#1141. A client can still read every
skill file directly via resources/read in the meantime, which is the
baseline SEP-2640 guarantees.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SEP-2640: Skills Extension

1 participant