Skip to content

Commit 854776f

Browse files
committed
Use common obsoletion pattern for
1 parent 138cf02 commit 854776f

3 files changed

Lines changed: 19 additions & 16 deletions

File tree

src/Common/Obsoletions.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,9 @@ internal static class Obsoletions
2222
public const string LegacyTitledEnumSchema_DiagnosticId = "MCP9001";
2323
public const string LegacyTitledEnumSchema_Message = "The EnumSchema and LegacyTitledEnumSchema APIs are deprecated as of specification version 2025-11-25 and will be removed in a future major version. See SEP-1330 for more information.";
2424
public const string LegacyTitledEnumSchema_Url = "https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1330";
25+
26+
public const string MessageAndRequestFilter_DiagnosticId = "MCP9002";
27+
public const string MessageAndRequestFilter_Url = "https://github.com/modelcontextprotocol/csharp-sdk/pull/1308";
28+
public const string MessageFilter_Message = "Use WithMessageFilters() instead.";
29+
public const string RequestFilter_Message = "Use WithRequestFilters() instead.";
2530
}

src/ModelContextProtocol/McpServerBuilderExtensions.cs

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -836,9 +836,6 @@ public static IMcpServerBuilder WithSetLoggingLevelHandler(this IMcpServerBuilde
836836
#endregion
837837

838838
#region Filters
839-
private const string MessageFilterObsoleteMessage = "Use WithMessageFilters() instead.";
840-
private const string RequestFilterObsoleteMessage = "Use WithRequestFilters() instead.";
841-
842839
/// <summary>
843840
/// Configures message-level filters for the MCP server.
844841
/// </summary>
@@ -879,7 +876,7 @@ public static IMcpServerBuilder WithRequestFilters(this IMcpServerBuilder builde
879876
/// <param name="builder">The builder instance.</param>
880877
/// <param name="filter">The filter function that wraps the handler.</param>
881878
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
882-
[Obsolete(RequestFilterObsoleteMessage)]
879+
[Obsolete(Obsoletions.RequestFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
883880
public static IMcpServerBuilder AddListResourceTemplatesFilter(this IMcpServerBuilder builder, McpRequestFilter<ListResourceTemplatesRequestParams, ListResourceTemplatesResult> filter) =>
884881
builder.WithRequestFilters(filters => filters.AddListResourceTemplatesFilter(filter));
885882

@@ -889,7 +886,7 @@ public static IMcpServerBuilder AddListResourceTemplatesFilter(this IMcpServerBu
889886
/// <param name="builder">The builder instance.</param>
890887
/// <param name="filter">The filter function that wraps the handler.</param>
891888
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
892-
[Obsolete(RequestFilterObsoleteMessage)]
889+
[Obsolete(Obsoletions.RequestFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
893890
public static IMcpServerBuilder AddListToolsFilter(this IMcpServerBuilder builder, McpRequestFilter<ListToolsRequestParams, ListToolsResult> filter) =>
894891
builder.WithRequestFilters(filters => filters.AddListToolsFilter(filter));
895892

@@ -899,7 +896,7 @@ public static IMcpServerBuilder AddListToolsFilter(this IMcpServerBuilder builde
899896
/// <param name="builder">The builder instance.</param>
900897
/// <param name="filter">The filter function that wraps the handler.</param>
901898
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
902-
[Obsolete(RequestFilterObsoleteMessage)]
899+
[Obsolete(Obsoletions.RequestFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
903900
public static IMcpServerBuilder AddCallToolFilter(this IMcpServerBuilder builder, McpRequestFilter<CallToolRequestParams, CallToolResult> filter) =>
904901
builder.WithRequestFilters(filters => filters.AddCallToolFilter(filter));
905902

@@ -909,7 +906,7 @@ public static IMcpServerBuilder AddCallToolFilter(this IMcpServerBuilder builder
909906
/// <param name="builder">The builder instance.</param>
910907
/// <param name="filter">The filter function that wraps the handler.</param>
911908
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
912-
[Obsolete(RequestFilterObsoleteMessage)]
909+
[Obsolete(Obsoletions.RequestFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
913910
public static IMcpServerBuilder AddListPromptsFilter(this IMcpServerBuilder builder, McpRequestFilter<ListPromptsRequestParams, ListPromptsResult> filter) =>
914911
builder.WithRequestFilters(filters => filters.AddListPromptsFilter(filter));
915912

@@ -919,7 +916,7 @@ public static IMcpServerBuilder AddListPromptsFilter(this IMcpServerBuilder buil
919916
/// <param name="builder">The builder instance.</param>
920917
/// <param name="filter">The filter function that wraps the handler.</param>
921918
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
922-
[Obsolete(RequestFilterObsoleteMessage)]
919+
[Obsolete(Obsoletions.RequestFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
923920
public static IMcpServerBuilder AddGetPromptFilter(this IMcpServerBuilder builder, McpRequestFilter<GetPromptRequestParams, GetPromptResult> filter) =>
924921
builder.WithRequestFilters(filters => filters.AddGetPromptFilter(filter));
925922

@@ -929,7 +926,7 @@ public static IMcpServerBuilder AddGetPromptFilter(this IMcpServerBuilder builde
929926
/// <param name="builder">The builder instance.</param>
930927
/// <param name="filter">The filter function that wraps the handler.</param>
931928
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
932-
[Obsolete(RequestFilterObsoleteMessage)]
929+
[Obsolete(Obsoletions.RequestFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
933930
public static IMcpServerBuilder AddListResourcesFilter(this IMcpServerBuilder builder, McpRequestFilter<ListResourcesRequestParams, ListResourcesResult> filter) =>
934931
builder.WithRequestFilters(filters => filters.AddListResourcesFilter(filter));
935932

@@ -939,7 +936,7 @@ public static IMcpServerBuilder AddListResourcesFilter(this IMcpServerBuilder bu
939936
/// <param name="builder">The builder instance.</param>
940937
/// <param name="filter">The filter function that wraps the handler.</param>
941938
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
942-
[Obsolete(RequestFilterObsoleteMessage)]
939+
[Obsolete(Obsoletions.RequestFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
943940
public static IMcpServerBuilder AddReadResourceFilter(this IMcpServerBuilder builder, McpRequestFilter<ReadResourceRequestParams, ReadResourceResult> filter) =>
944941
builder.WithRequestFilters(filters => filters.AddReadResourceFilter(filter));
945942

@@ -949,7 +946,7 @@ public static IMcpServerBuilder AddReadResourceFilter(this IMcpServerBuilder bui
949946
/// <param name="builder">The builder instance.</param>
950947
/// <param name="filter">The filter function that wraps the handler.</param>
951948
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
952-
[Obsolete(RequestFilterObsoleteMessage)]
949+
[Obsolete(Obsoletions.RequestFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
953950
public static IMcpServerBuilder AddCompleteFilter(this IMcpServerBuilder builder, McpRequestFilter<CompleteRequestParams, CompleteResult> filter) =>
954951
builder.WithRequestFilters(filters => filters.AddCompleteFilter(filter));
955952

@@ -959,7 +956,7 @@ public static IMcpServerBuilder AddCompleteFilter(this IMcpServerBuilder builder
959956
/// <param name="builder">The builder instance.</param>
960957
/// <param name="filter">The filter function that wraps the handler.</param>
961958
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
962-
[Obsolete(RequestFilterObsoleteMessage)]
959+
[Obsolete(Obsoletions.RequestFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
963960
public static IMcpServerBuilder AddSubscribeToResourcesFilter(this IMcpServerBuilder builder, McpRequestFilter<SubscribeRequestParams, EmptyResult> filter) =>
964961
builder.WithRequestFilters(filters => filters.AddSubscribeToResourcesFilter(filter));
965962

@@ -969,7 +966,7 @@ public static IMcpServerBuilder AddSubscribeToResourcesFilter(this IMcpServerBui
969966
/// <param name="builder">The builder instance.</param>
970967
/// <param name="filter">The filter function that wraps the handler.</param>
971968
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
972-
[Obsolete(RequestFilterObsoleteMessage)]
969+
[Obsolete(Obsoletions.RequestFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
973970
public static IMcpServerBuilder AddUnsubscribeFromResourcesFilter(this IMcpServerBuilder builder, McpRequestFilter<UnsubscribeRequestParams, EmptyResult> filter) =>
974971
builder.WithRequestFilters(filters => filters.AddUnsubscribeFromResourcesFilter(filter));
975972

@@ -979,7 +976,7 @@ public static IMcpServerBuilder AddUnsubscribeFromResourcesFilter(this IMcpServe
979976
/// <param name="builder">The builder instance.</param>
980977
/// <param name="filter">The filter function that wraps the handler.</param>
981978
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
982-
[Obsolete(RequestFilterObsoleteMessage)]
979+
[Obsolete(Obsoletions.RequestFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
983980
public static IMcpServerBuilder AddSetLoggingLevelFilter(this IMcpServerBuilder builder, McpRequestFilter<SetLevelRequestParams, EmptyResult> filter) =>
984981
builder.WithRequestFilters(filters => filters.AddSetLoggingLevelFilter(filter));
985982

@@ -989,7 +986,7 @@ public static IMcpServerBuilder AddSetLoggingLevelFilter(this IMcpServerBuilder
989986
/// <param name="builder">The builder instance.</param>
990987
/// <param name="filter">The filter function that wraps the message handler.</param>
991988
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
992-
[Obsolete(MessageFilterObsoleteMessage)]
989+
[Obsolete(Obsoletions.MessageFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
993990
public static IMcpServerBuilder AddIncomingMessageFilter(this IMcpServerBuilder builder, McpMessageFilter filter) =>
994991
builder.WithMessageFilters(filters => filters.AddIncomingFilter(filter));
995992

@@ -999,7 +996,7 @@ public static IMcpServerBuilder AddIncomingMessageFilter(this IMcpServerBuilder
999996
/// <param name="builder">The builder instance.</param>
1000997
/// <param name="filter">The filter function that wraps the message handler.</param>
1001998
/// <returns>The builder provided in <paramref name="builder"/>.</returns>
1002-
[Obsolete(MessageFilterObsoleteMessage)]
999+
[Obsolete(Obsoletions.MessageFilter_Message, DiagnosticId = Obsoletions.MessageAndRequestFilter_DiagnosticId, UrlFormat = Obsoletions.MessageAndRequestFilter_Url)]
10031000
public static IMcpServerBuilder AddOutgoingMessageFilter(this IMcpServerBuilder builder, McpMessageFilter filter) =>
10041001
builder.WithMessageFilters(filters => filters.AddOutgoingFilter(filter));
10051002

src/ModelContextProtocol/ModelContextProtocol.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
<ItemGroup>
1919
<Compile Include="..\Common\Throw.cs" Link="Throw.cs" />
20+
<Compile Include="..\Common\Obsoletions.cs" Link="Obsoletions.cs" />
2021
</ItemGroup>
2122

2223
<ItemGroup>

0 commit comments

Comments
 (0)