Skip to content

Commit 6453961

Browse files
Remove experimental attributes from official APIs
Co-authored-by: PranavSenthilnathan <12225508+PranavSenthilnathan@users.noreply.github.com>
1 parent 7032746 commit 6453961

16 files changed

Lines changed: 25 additions & 30 deletions

docs/list-of-diagnostics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ If you use experimental APIs, you will get one of the diagnostics shown below. T
2323

2424
| Diagnostic ID | Description |
2525
| :------------ | :---------- |
26-
| `MCPEXP001` | Experimental APIs for features in the MCP specification itself, including Tasks and Extensions. Tasks provide a mechanism for asynchronous long-running operations that can be polled for status and results (see [SEP-2663](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/seps/2663-tasks-extension.md)). Extensions provide a framework for extending the Model Context Protocol while maintaining interoperability (see [SEP-2133](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2133)). |
26+
| `MCPEXP001` | Reserved diagnostic ID for APIs that were previously experimental and tied to MCP specification features (including Tasks, Extensions, and MRTR). This ID is intentionally kept and not reused for future diagnostics. |
2727
| `MCPEXP002` | Experimental SDK APIs unrelated to the MCP specification itself, including subclassing `McpClient`/`McpServer` (see [#1363](https://github.com/modelcontextprotocol/csharp-sdk/pull/1363)) and `RunSessionHandler`, which may be removed or change signatures in a future release (consider using `ConfigureSessionOptions` instead). |
2828

2929
## Obsolete APIs

src/ModelContextProtocol.Core/Protocol/ClientCapabilities.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.ComponentModel;
2-
using System.Diagnostics.CodeAnalysis;
32
using System.Text.Json.Serialization;
43
using ModelContextProtocol.Client;
54
using ModelContextProtocol.Server;
@@ -82,7 +81,6 @@ public sealed class ClientCapabilities
8281
/// interoperability. Clients advertise extension support via this field during the initialization handshake.
8382
/// </para>
8483
/// </remarks>
85-
[Experimental(Experimentals.Extensions_DiagnosticId, UrlFormat = Experimentals.Extensions_Url)]
8684
[JsonIgnore]
8785
public IDictionary<string, object>? Extensions
8886
{

src/ModelContextProtocol.Core/Protocol/InputRequest.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using System.Diagnostics.CodeAnalysis;
21
using System.Text.Json;
32
using System.Text.Json.Serialization;
43

@@ -20,7 +19,6 @@ namespace ModelContextProtocol.Protocol;
2019
/// parameters can be accessed via the typed accessor properties.
2120
/// </para>
2221
/// </remarks>
23-
[Experimental(Experimentals.Mrtr_DiagnosticId, UrlFormat = Experimentals.Mrtr_Url)]
2422
[JsonConverter(typeof(Converter))]
2523
public sealed class InputRequest
2624
{

src/ModelContextProtocol.Core/Protocol/InputRequiredException.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
using System.Diagnostics.CodeAnalysis;
2-
31
namespace ModelContextProtocol.Protocol;
42

53
/// <summary>
@@ -54,7 +52,6 @@ namespace ModelContextProtocol.Protocol;
5452
/// }
5553
/// </code>
5654
/// </example>
57-
[Experimental(Experimentals.Mrtr_DiagnosticId, UrlFormat = Experimentals.Mrtr_Url)]
5855
public class InputRequiredException : Exception
5956
{
6057
/// <summary>

src/ModelContextProtocol.Core/Protocol/InputRequiredResult.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using System.Diagnostics.CodeAnalysis;
21
using System.Text.Json.Serialization;
32

43
namespace ModelContextProtocol.Protocol;
@@ -22,7 +21,6 @@ namespace ModelContextProtocol.Protocol;
2221
/// This type is part of the Multi Round-Trip Requests (MRTR) mechanism defined in SEP-2322.
2322
/// </para>
2423
/// </remarks>
25-
[Experimental(Experimentals.Mrtr_DiagnosticId, UrlFormat = Experimentals.Mrtr_Url)]
2624
public sealed class InputRequiredResult : Result
2725
{
2826
/// <summary>

src/ModelContextProtocol.Core/Protocol/InputResponse.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using System.Diagnostics.CodeAnalysis;
21
using System.Text.Json;
32
using System.Text.Json.Serialization;
43
using System.Text.Json.Serialization.Metadata;
@@ -21,7 +20,6 @@ namespace ModelContextProtocol.Protocol;
2120
/// the corresponding <see cref="InputRequest.Method"/> key in the <see cref="InputRequiredResult.InputRequests"/> map.
2221
/// </para>
2322
/// </remarks>
24-
[Experimental(Experimentals.Mrtr_DiagnosticId, UrlFormat = Experimentals.Mrtr_Url)]
2523
[JsonConverter(typeof(Converter))]
2624
public sealed class InputResponse
2725
{

src/ModelContextProtocol.Core/Protocol/RequestParams.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using System.Diagnostics.CodeAnalysis;
21
using System.Text.Json.Nodes;
32
using System.Text.Json.Serialization;
43

@@ -36,7 +35,6 @@ private protected RequestParams()
3635
/// the value is the client's response to that input request.
3736
/// </para>
3837
/// </remarks>
39-
[Experimental(Experimentals.Mrtr_DiagnosticId, UrlFormat = Experimentals.Mrtr_Url)]
4038
[JsonIgnore]
4139
public IDictionary<string, InputResponse>? InputResponses
4240
{
@@ -59,7 +57,6 @@ public IDictionary<string, InputResponse>? InputResponses
5957
/// exact value without modification.
6058
/// </para>
6159
/// </remarks>
62-
[Experimental(Experimentals.Mrtr_DiagnosticId, UrlFormat = Experimentals.Mrtr_Url)]
6360
[JsonIgnore]
6461
public string? RequestState
6562
{

src/ModelContextProtocol.Core/Protocol/ServerCapabilities.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.ComponentModel;
2-
using System.Diagnostics.CodeAnalysis;
32
using System.Text.Json.Serialization;
43
using ModelContextProtocol.Server;
54

@@ -81,7 +80,6 @@ public sealed class ServerCapabilities
8180
/// interoperability. Servers advertise extension support via this field during the initialization handshake.
8281
/// </para>
8382
/// </remarks>
84-
[Experimental(Experimentals.Extensions_DiagnosticId, UrlFormat = Experimentals.Extensions_Url)]
8583
[JsonIgnore]
8684
public IDictionary<string, object>? Extensions
8785
{

src/ModelContextProtocol.Core/Server/IMcpTaskStore.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using ModelContextProtocol.Protocol;
2-
using System.Diagnostics.CodeAnalysis;
32
using System.Text.Json;
43

54
namespace ModelContextProtocol.Server;
@@ -31,7 +30,6 @@ namespace ModelContextProtocol.Server;
3130
/// specification for details on the tasks extension.
3231
/// </para>
3332
/// </remarks>
34-
[Experimental(Experimentals.Extensions_DiagnosticId, UrlFormat = Experimentals.Extensions_Url)]
3533
public interface IMcpTaskStore
3634
{
3735
/// <summary>

src/ModelContextProtocol.Core/Server/InMemoryMcpTaskStore.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using ModelContextProtocol.Protocol;
22
using System.Collections.Concurrent;
33
using System.Collections.Immutable;
4-
using System.Diagnostics.CodeAnalysis;
54
using System.Text.Json;
65

76
namespace ModelContextProtocol.Server;
@@ -20,7 +19,6 @@ namespace ModelContextProtocol.Server;
2019
/// implement a custom <see cref="IMcpTaskStore"/>.
2120
/// </para>
2221
/// </remarks>
23-
[Experimental(Experimentals.Extensions_DiagnosticId, UrlFormat = Experimentals.Extensions_Url)]
2422
public class InMemoryMcpTaskStore : IMcpTaskStore
2523
{
2624
private readonly ConcurrentDictionary<string, McpTaskInfo> _tasks = new();

0 commit comments

Comments
 (0)