Skip to content

Cover optional extension capability preservation in legacy initialize handshakes #517

Description

@sambhav

Follow-up to modelcontextprotocol/modelcontextprotocol#3364 and SEP-2133 negotiation.

Add opt-in client and server scenarios for 2025-11-25 initialization-based extension negotiation. Check both serialization and SDK-visible deserialization of capabilities.extensions, with empty objects and structured settings. A diagnostic tool should expose the peer capabilities actually seen by the SDK so a wire-only test cannot hide parsing loss.

Keep these checks outside core/Tier-1 requirements: extension support is optional. Include passing TypeScript SDK examples and deliberately broken implementations that drop advertisements/settings or fail to report received capabilities. Exclude the newer per-request capability flow from these legacy checks.

This targets the serialization gap documented in #3364; it does not claim that every extension works on every legacy protocol version.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions