modelcontextprotocol / modelcontextprotocol/java-sdk

Support extensions SEP-2133

Open
#785 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/client area/server enhancement P1
Dominant language
Java
Stars
3.7k
Forks
1.1k
Avg merge
1d 15h
Merged PRs (30d)
9

Description

SEP-2133 Extensions was recently approved through the SEP process.

This has resulted in a new 'extension' fields in ClientCapabilities and ServerCapabilities.

Note that the capabilities extension fields are not in the 11-25-2025 schema and are distinct from the 'experimental' field...which is in the 11/25/2025 and the current Java SDK.

Expected Behavior

Support the extension fields in ClientCapabilities and ServerCapabilities so that extensions can be made connect interoperable with similar extensions in other language sdks (e.g. python and typescript).

Current Behavior

Explained above.

Context

I am in the process of implementing an extension to support grouping of primitives I already have a similar extension in python and for typescript. To make python clients that support the extension to connect to java servers that support the groups extension it's necessary that the new capabilities extension field be supported by the Java SDK.

In the immediate term I'm working around this by using the existing 'experimental' capabilities field. But interoperability with other sdks won't work.

If a pr implementing this feature is desired, I would be willing and able to create one. Please LMK on this issue or in direct conversation if you would like me to contribute this.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Java SDK representations and serialization paths for ClientCapabilities and ServerCapabilities. Compare them with the SEP-2133 schema linked in the issue and the referenced Python and TypeScript implementations. Done means both capability objects support interoperable extension fields without confusing them with experimental fields.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.