Add 2025-11-25 as supported version (#1130)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
This commit is contained in:
Copilot 2026-01-15 09:59:42 -05:00 • committed by GitHub
commit 774411b22c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 28 additions and 28 deletions

View file

@ -5,7 +5,7 @@
POST {{HostAddress}}/
Accept: application/json, text/event-stream
Content-Type: application/json
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
{
"jsonrpc": "2.0",
@ -34,7 +34,7 @@ Content-Type: application/json
"capabilities": {
"elicitation": {}
},
"protocolVersion": "2025-06-18"
"protocolVersion": "2025-11-25"
}
}
@ -46,7 +46,7 @@ POST {{HostAddress}}/
Accept: application/json, text/event-stream
Content-Type: application/json
Mcp-Session-Id: {{SessionId}}
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
{
"jsonrpc": "2.0",

View file

@ -3,7 +3,7 @@
POST {{HostAddress}}/
Accept: application/json, text/event-stream
Content-Type: application/json
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
{
"jsonrpc": "2.0",

View file

@ -9,7 +9,7 @@ uid: logging
MCP servers can expose log messages to clients through the [Logging utility].
[Logging utility]: https://modelcontextprotocol.io/specification/2025-06-18/server/utilities/logging
[Logging utility]: https://modelcontextprotocol.io/specification/2025-11-25/server/utilities/logging
This document describes how to implement logging in MCP servers and how clients can consume log messages.
@ -43,7 +43,7 @@ dropped when sending messages to the client.
MCP servers that implement the Logging utility must declare this in the capabilities sent in the
[Initialization] phase at the beginning of the MCP session.
[Initialization]: https://modelcontextprotocol.io/specification/2025-06-18/basic/lifecycle#initialization
[Initialization]: https://modelcontextprotocol.io/specification/2025-11-25/basic/lifecycle#initialization
Servers built with the C# SDK always declare the logging capability. Doing so does not obligate the server
to send log messages&mdash;only allows it. Note that stateless MCP servers might not be capable of sending log

View file

@ -14,7 +14,7 @@ Content-Type: application/json
"version": "0.1.0"
},
"capabilities": {},
"protocolVersion": "2025-06-18"
"protocolVersion": "2025-11-25"
}
}
@ -27,7 +27,7 @@ Content-Type: application/json
POST {{HostAddress}}/
Accept: application/json, text/event-stream
Content-Type: application/json
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
Mcp-Session-Id: {{SessionId}}
{

View file

@ -9,7 +9,7 @@ uid: progress
The Model Context Protocol (MCP) supports [progress tracking] for long-running operations through notification messages.
[progress tracking]: https://modelcontextprotocol.io/specification/2025-06-18/basic/utilities/progress
[progress tracking]: https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/progress
Typically progress tracking is supported by server tools that perform operations that take a significant amount of time to complete, such as image generation or complex calculations.
However, progress tracking is defined in the MCP specification as a general feature that can be implemented for any request that's handled by either a server or a client.

View file

@ -3,7 +3,7 @@
POST {{HostAddress}}/
Accept: application/json, text/event-stream
Content-Type: application/json
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
{
"jsonrpc": "2.0",

View file

@ -14,7 +14,7 @@ Content-Type: application/json
"version": "0.1.0"
},
"capabilities": {},
"protocolVersion": "2025-06-18"
"protocolVersion": "2025-11-25"
}
}
@ -25,7 +25,7 @@ Content-Type: application/json
POST {{HostAddress}}/
Accept: application/json, text/event-stream
Content-Type: application/json
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
Mcp-Session-Id: {{SessionId}}
{
@ -41,7 +41,7 @@ Mcp-Session-Id: {{SessionId}}
POST {{HostAddress}}/
Accept: application/json, text/event-stream
Content-Type: application/json
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
Mcp-Session-Id: {{SessionId}}
{
@ -58,7 +58,7 @@ Mcp-Session-Id: {{SessionId}}
POST {{HostAddress}}/
Accept: application/json, text/event-stream
Content-Type: application/json
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
Mcp-Session-Id: {{SessionId}}
{
@ -73,5 +73,5 @@ Mcp-Session-Id: {{SessionId}}
###
DELETE {{HostAddress}}/
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
Mcp-Session-Id: {{SessionId}}

View file

@ -6,10 +6,10 @@ namespace ModelContextProtocol.AspNetCore;
/// <summary>
/// Represents configuration options for <see cref="M:McpEndpointRouteBuilderExtensions.MapMcp"/>,
/// which implements the Streaming HTTP transport for the Model Context Protocol.
/// See the protocol specification for details on the Streamable HTTP transport. <see href="https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http"/>
/// See the protocol specification for details on the Streamable HTTP transport. <see href="https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#streamable-http"/>
/// </summary>
/// <remarks>
/// For details on the Streamable HTTP transport, see the <see href="https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http">protocol specification</see>.
/// For details on the Streamable HTTP transport, see the <see href="https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#streamable-http">protocol specification</see>.
/// </remarks>
public class HttpServerTransportOptions
{

View file

@ -21,7 +21,7 @@ public static class McpEndpointRouteBuilderExtensions
/// <returns>Returns a builder for configuring additional endpoint conventions like authorization policies.</returns>
/// <exception cref="InvalidOperationException">The required MCP services have not been registered. Ensure <see cref="HttpMcpServerBuilderExtensions.WithHttpTransport"/> has been called during application startup.</exception>
/// <remarks>
/// For details about the Streamable HTTP transport, see the <see href="https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http">2025-06-18 protocol specification</see>.
/// For details about the Streamable HTTP transport, see the <see href="https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#streamable-http">2025-11-25 protocol specification</see>.
/// This method also maps legacy SSE endpoints for backward compatibility at the path "/sse" and "/message". For details about the HTTP with SSE transport, see the <see href="https://modelcontextprotocol.io/specification/2024-11-05/basic/transports#http-with-sse">2024-11-05 protocol specification</see>.
/// </remarks>
public static IEndpointConventionBuilder MapMcp(this IEndpointRouteBuilder endpoints, [StringSyntax("Route")] string pattern = "")

View file

@ -44,7 +44,7 @@ public sealed class HttpClientTransportOptions
/// When set to <see cref="HttpTransportMode.AutoDetect"/> (the default), the client will first attempt to use
/// Streamable HTTP transport and automatically fall back to SSE transport if the server doesn't support it.
/// </remarks>
/// <seealso href="https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http">Streamable HTTP transport specification</seealso>.
/// <seealso href="https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#streamable-http">Streamable HTTP transport specification</seealso>.
/// <seealso href="https://modelcontextprotocol.io/specification/2024-11-05/basic/transports#http-with-sse">HTTP with SSE transport specification</seealso>.
public HttpTransportMode TransportMode { get; set; } = HttpTransportMode.AutoDetect;

View file

@ -178,10 +178,10 @@ public class MapMcpStreamableHttpTests(ITestOutputHelper outputHelper) : MapMcpT
await using var mcpClient = await ConnectAsync(clientOptions: new()
{
ProtocolVersion = "2025-03-26",
ProtocolVersion = "2025-06-18",
});
Assert.Equal("2025-03-26", mcpClient.NegotiatedProtocolVersion);
Assert.Equal("2025-06-18", mcpClient.NegotiatedProtocolVersion);
await mcpClient.ListToolsAsync(cancellationToken: TestContext.Current.CancellationToken);
await mcpClient.DisposeAsync();
@ -190,7 +190,7 @@ public class MapMcpStreamableHttpTests(ITestOutputHelper outputHelper) : MapMcpT
// Stateless mode due to the lack of an Mcp-Session-Id, but the header should be included in the
// initialized notification and the tools/list call at a minimum.
Assert.True(protocolVersionHeaderValues.Count > 1);
Assert.All(protocolVersionHeaderValues, v => Assert.Equal("2025-03-26", v));
Assert.All(protocolVersionHeaderValues, v => Assert.Equal("2025-06-18", v));
}
[Fact]

View file

@ -217,7 +217,7 @@ public class StreamableHttpClientConformanceTests(ITestOutputHelper outputHelper
{
const string sessionId = "resume-session-123";
const string resumeInstructions = "Use cached instructions";
const string resumeProtocolVersion = "2025-06-18";
const string resumeProtocolVersion = "2025-11-25";
var resumeServer = await StartResumeServerAsync(sessionId);
await using var transport = new HttpClientTransport(new()

View file

@ -26,7 +26,7 @@ Content-Type: application/json
"version": "0.1.0"
},
"capabilities": {},
"protocolVersion": "2025-06-18"
"protocolVersion": "2025-11-25"
}
}
@ -37,7 +37,7 @@ Content-Type: application/json
POST {{HostAddress}}/
Accept: application/json, text/event-stream
Content-Type: application/json
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
Mcp-Session-Id: {{SessionId}}
{
@ -51,7 +51,7 @@ Mcp-Session-Id: {{SessionId}}
POST {{HostAddress}}/
Accept: application/json, text/event-stream
Content-Type: application/json
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
Mcp-Session-Id: {{SessionId}}
{
@ -65,7 +65,7 @@ Mcp-Session-Id: {{SessionId}}
POST {{HostAddress}}/
Accept: application/json, text/event-stream
Content-Type: application/json
MCP-Protocol-Version: 2025-06-18
MCP-Protocol-Version: 2025-11-25
Mcp-Session-Id: {{SessionId}}
{

View file

@ -585,7 +585,7 @@ public class McpClientTests : ClientServerTestBase
[Theory]
[InlineData(null)]
[InlineData("2025-03-26")]
[InlineData("2025-06-18")]
public async Task ReturnsNegotiatedProtocolVersion(string? protocolVersion)
{
await using McpClient client = await CreateMcpClientForServer(new() { ProtocolVersion = protocolVersion });