Skip to content

SEP-1309: Add spec and SDK versioning guidelines#1404

Open
pantanurag555 wants to merge 1 commit intomodelcontextprotocol:mainfrom
pantanurag555:main
Open

SEP-1309: Add spec and SDK versioning guidelines#1404
pantanurag555 wants to merge 1 commit intomodelcontextprotocol:mainfrom
pantanurag555:main

Conversation

@pantanurag555
Copy link

Motivation and Context

This PR adds the specification and SDK versioning guidelines introduced in the accepted #1309 to the specification documentation.

How Has This Been Tested?

Tested locally using the instructions in CONTRIBUTING.md.

Breaking Changes

None

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

There is some confusion regarding the best place to add these guidelines. The implementation tracking matrix should live in the SDKs section under Documentation tab. However, I am open to suggestion for the versioning guidelines. Currently I have added them in the Versioning section under Documentation tab. There can also be a case made to break them up and add them to the Governance and Stewardship section under the Community tab or to actually add them within the Specification tab somewhere near the Version Negotiation guidelines. Open to feedback on this.

@dend dend added proposal SEP proposal without a sponsor. SEP labels Sep 8, 2025
@localden localden linked an issue Nov 11, 2025 that may be closed by this pull request
@localden
Copy link
Contributor

@pantanurag555 @000-000-000-000-000

👋 just as a reminder, we're aiming to ensure that all SEPs that are on-deck for the 2025-11-25 spec release are verbiage-ready and merged by Friday, November 14, 2025. Please prioritize making the required changes (given that this is accepted with changes, per Core Maintainer review meeting) before then.

@@ -110,6 +112,29 @@ All proposals must have a **sponsor** from the MCP steering group (maintainer, c

Once proposals have a sponsor, they are assigned to the sponsor and are tagged `draft`.

### SDK Versioning

SDK maintainers have the freedom to do SDK version releases at their own pace. Each SDK version release **SHOULD** contain, as part of its code, the specification versions that are supported by the SDK version release.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be reframed.

Suggested change
SDK maintainers have the freedom to do SDK version releases at their own pace. Each SDK version release **SHOULD** contain, as part of its code, the specification versions that are supported by the SDK version release.
SDK maintainers can release new SDK versions at the pace suitable for their respective libraries.
Each SDK release **MUST** be clear about the protocol specification versions that are supported by the library.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am fine with reframing the first statement. I do want to leave the SHOULD statement in there for the reason I mentioned above. Let me know if you don't agree with having the statement in there.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have left the SHOULD statement in there but reframed the first sentence. Let me know if you disagree with the current structure.

@localden
Copy link
Contributor

@pantanurag555 another thing to mention is that some SDKs are community-driven. This needs to be captured in the verbiage above.

@pantanurag555
Copy link
Author

@localden I was unsure what is the ideal place to mention community-driven in the verbiage given that even those SDKs should have SDK maintainers. Can you suggest where you think it would be appropriate?

@pantanurag555
Copy link
Author

@ihrpr Would really appreciate if you could take a look at the PR as well. As discussed in the SDKs WG, the tiering SEP #1730 is also making significant changes around SDK governance. Would appreciate insight on how this PR can align itself and be cohesive with the changes from the tiering SEP.

Comment on lines +364 to +387
{
"source": "/docs/concepts/cancellation",
"destination": "/specification/2025-06-18/basic/utilities/cancellation"
},
{
"source": "/docs/concepts/ping",
"destination": "/specification/2025-06-18/basic/utilities/ping"
},
{
"source": "/docs/concepts/progress",
"destination": "/specification/2025-06-18/basic/utilities/progress"
},
{
"source": "/docs/concepts/completion",
"destination": "/specification/2025-06-18/server/utilities/completion"
},
{
"source": "/docs/concepts/logging",
"destination": "/specification/2025-06-18/server/utilities/logging"
},
{
"source": "/docs/concepts/pagination",
"destination": "/specification/2025-06-18/server/utilities/pagination"
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's this?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are redirect links that are used for the table. Added a few for the new features that we have used in these tables.

Comment on lines +80 to +85
| Specification Version | Status | [Typescript] | [Python] | [Go] | [Kotlin] | [Swift] | [Java] | [C#] | [Ruby] | [Rust] |
|-------------------------- |---------- |-------------- |---------- |------ |---------- |--------- |-------- |------ |-------- |-------- |
| [2024-11-05][2024-11-05] | ✅ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| [2025-03-26][2025-03-26] | ✅ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| [2025-06-18][2025-06-18] | ✅ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we get this filled out? Also what about the thanksgiving spec release?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added the thanksgiving spec release.

This needs to be filled out by the SDK maintainers since they will be the most familiar with the version releases that are compliant with a given protocol spec (and when support was dropped). Eventually conformance tests can help with filling out this matrix.


</div>

### Client Features
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what about auth stuff like CIMD?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auth was discussed but we didn't classify it as a feature to prevent feature creep. I also think of auth as an umbrella term and we would need to go more granular otherwise a simple mark indicating compliance, partial compliance or not compliant won't signify much.

Comment on lines +194 to +203
| [Typescript] | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| [Python] | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| [Go] | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| [Kotlin] | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| [Swift] | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| [Java] | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| [C#] | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| [Ruby] | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| [Rust] | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how are we going to get this stuff filled out?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be filled out by the SDK maintainers since they will be the most intimately familiar with whether a certain feature in an SDK is compliant according to the latest spec version or not.
Eventually this will be updated based on conformance tests specific for each feature (either manually or in an automated manner).

@chr-hertel
Copy link
Member

currently php sdk is missing 😢

@pantanurag555
Copy link
Author

My bad 😅 Adding it right now. Thanks for the callout.

@paoloricciuti
Copy link
Contributor

Is this only for the official SDK? I've build an alternative typescript SDK and would be cool to feature community ones.

@dsp-ant dsp-ant added draft SEP proposal with a sponsor. and removed proposal SEP proposal without a sponsor. labels Jan 17, 2026
@github-actions
Copy link
Contributor

Maintainer Activity Check

Hi @000-000-000-000-000!

You're assigned to this SEP but there hasn't been any activity from you in 66 days.

Please provide an update on:

  • Current status of your review/work
  • Any blockers or concerns
  • Expected timeline for next steps

If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer.


This is an automated message from the SEP lifecycle bot.

@localden localden moved this to Draft in SEP Review Pipeline Jan 21, 2026
dsp-ant added a commit that referenced this pull request Jan 22, 2026
Add 10 SEPs that were missed during the initial migration in PR #1804:
- SEP-991: OAuth Client ID Metadata Documents (Final)
- SEP-1024: MCP Client Security Requirements (Final - PR #1025 merged)
- SEP-1034: Default values for elicitation schemas (Final)
- SEP-1036: URL Mode Elicitation (Final)
- SEP-1303: Input Validation Errors (Final)
- SEP-1577: Sampling With Tools (Final)
- SEP-1613: JSON Schema 2020-12 Default Dialect (Final)
- SEP-1686: Tasks (Final)
- SEP-1699: SSE Polling via server-side disconnect (Final)
- SEP-1730: SDKs Tiering System (Final)

Note: SEP-1309 (Specification Version Management) was NOT included as
PR #1404 implementing it is still open.

Also fixes formatting issues in SEP metadata (Type, Author fields).
dsp-ant added a commit that referenced this pull request Jan 22, 2026
Add 10 SEPs that were missed during the initial migration in PR #1804:
- SEP-991: OAuth Client ID Metadata Documents (Final)
- SEP-1024: MCP Client Security Requirements (Final - PR #1025 merged)
- SEP-1034: Default values for elicitation schemas (Final)
- SEP-1036: URL Mode Elicitation (Final)
- SEP-1303: Input Validation Errors (Final)
- SEP-1577: Sampling With Tools (Final)
- SEP-1613: JSON Schema 2020-12 Default Dialect (Final)
- SEP-1686: Tasks (Final)
- SEP-1699: SSE Polling via server-side disconnect (Final)
- SEP-1730: SDKs Tiering System (Final)

Note: SEP-1309 (Specification Version Management) was NOT included as
PR #1404 implementing it is still open.

Also fixes formatting issues in SEP metadata (Type, Author fields).
@sep-automation-bot
Copy link

Maintainer Activity Check

Hi @000-000-000-000-000!

You're assigned to this SEP but there hasn't been any activity from you in 15 days.

Please provide an update on:

  • Current status of your review/work
  • Any blockers or concerns
  • Expected timeline for next steps

If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer.


This is an automated message from the SEP lifecycle bot.

@sep-automation-bot
Copy link

Maintainer Activity Check

Hi @000-000-000-000-000!

You're assigned to this SEP but there hasn't been any activity from you in 14 days.

Please provide an update on:

  • Current status of your review/work
  • Any blockers or concerns
  • Expected timeline for next steps

If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer.


This is an automated message from the SEP lifecycle bot.

shivankgoel pushed a commit to shivankgoel/modelcontextprotocol that referenced this pull request Feb 16, 2026
…ontextprotocol#2136)

Add 10 SEPs that were missed during the initial migration in PR modelcontextprotocol#1804:
- SEP-991: OAuth Client ID Metadata Documents (Final)
- SEP-1024: MCP Client Security Requirements (Final - PR modelcontextprotocol#1025 merged)
- SEP-1034: Default values for elicitation schemas (Final)
- SEP-1036: URL Mode Elicitation (Final)
- SEP-1303: Input Validation Errors (Final)
- SEP-1577: Sampling With Tools (Final)
- SEP-1613: JSON Schema 2020-12 Default Dialect (Final)
- SEP-1686: Tasks (Final)
- SEP-1699: SSE Polling via server-side disconnect (Final)
- SEP-1730: SDKs Tiering System (Final)

Note: SEP-1309 (Specification Version Management) was NOT included as
PR modelcontextprotocol#1404 implementing it is still open.

Also fixes formatting issues in SEP metadata (Type, Author fields).
@sep-automation-bot
Copy link

Maintainer Activity Check

Hi @000-000-000-000-000!

You're assigned to this SEP but there hasn't been any activity from you in 20 days.

Please provide an update on:

  • Current status of your review/work
  • Any blockers or concerns
  • Expected timeline for next steps

If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer.


This is an automated message from the SEP lifecycle bot.

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

Labels

draft SEP proposal with a sponsor. SEP

Projects

Status: Draft

Development

Successfully merging this pull request may close these issues.

SEP-1309: Specification Version Management

8 participants