Skip to content

Reference implementations in Python and Go #16

Description

@tadasant

Summary

The Extensions Track requires an SDK reference implementation before a SEP can advance — from SEP-2133: an extension "MUST have at least one reference implementation in an official SDK prior to review to ensure the extension is practical and implementable." SEP-2127's own Reference Implementation section is still "To be added."

python-sdk#2696 — "Add experimental Server Cards support (SEP-2127)" (by @dsp-ant) is that reference implementation, and it's the furthest-along artifact we have. This issue tracks reviewing/finalizing it. We should not move SEP-2127 forward (to Final / graduation) until this implementation is reviewed, agreed, and merged, and reflects the shape we've settled on. Related: #15 (refactor SEP-2127 to Extensions Track).

What #2696 provides

Status: open, REVIEW_REQUIRED, not merged (created 2026-05-26; supersedes #2692, which was example-app-only). It adds, under experimental namespaces:

  • Server sidebuild_server_card(...) to derive a card from a server's identity, plus mount_server_card / server_card_route to serve it via Starlette.
  • Client sidefetch_server_card / load_server_card / well_known_url to fetch and validate a card for pre-connection discovery.
  • Models — Pydantic ServerCard, Server, Remote, Package, transports, etc. in mcp.shared.experimental.server_card.
  • 28 tests, 100% line+branch coverage on the new modules; round-trips the SEP-2127 conformance example shapes.

Things to confirm before the SEP moves forward

Several decisions baked into #2696 intersect with open spec questions in this repo. We should make sure the reference impl and the spec agree (in both directions) before locking the SEP:

Proposed handling

Use this issue as the tracking record for the reference-implementation gate. Keep it open until #2696 (or its successor) is merged in python-sdk and the checklist items above are resolved in this repo / the SEP. Only then should SEP-2127 advance toward Final.

Links: python-sdk#2696! python-sdk#2951 · SEP-2127 (PR #2127) · #15 (Extensions Track refactor).

Metadata

Metadata

Labels

sep-2127-blockersMust be resolved before SEP-2127 can be ratified/advanced

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions