Skip to content

Commit 8b16ee4

Browse files
committed
Use IList for filter collections in options
1 parent 4bb9d9b commit 8b16ee4

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

src/ModelContextProtocol.Core/Server/McpMessageFilters.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public sealed class McpMessageFilters
2121
/// the next handler in the pipeline, the default handlers will not be executed.
2222
/// </para>
2323
/// </remarks>
24-
public List<McpMessageFilter> IncomingFilters { get; } = [];
24+
public IList<McpMessageFilter> IncomingFilters { get; } = [];
2525

2626
/// <summary>
2727
/// Gets the filters for all outgoing JSON-RPC messages.
@@ -38,5 +38,5 @@ public sealed class McpMessageFilters
3838
/// server-to-client messages.
3939
/// </para>
4040
/// </remarks>
41-
public List<McpMessageFilter> OutgoingFilters { get; } = [];
41+
public IList<McpMessageFilter> OutgoingFilters { get; } = [];
4242
}

src/ModelContextProtocol.Core/Server/McpRequestFilters.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public sealed class McpRequestFilters
2222
/// Tools from both sources will be combined when returning results to clients.
2323
/// </para>
2424
/// </remarks>
25-
public List<McpRequestFilter<ListToolsRequestParams, ListToolsResult>> ListToolsFilters { get; } = [];
25+
public IList<McpRequestFilter<ListToolsRequestParams, ListToolsResult>> ListToolsFilters { get; } = [];
2626

2727
/// <summary>
2828
/// Gets the filters for the call-tool handler pipeline.
@@ -32,7 +32,7 @@ public sealed class McpRequestFilters
3232
/// The filters can modify, log, or perform additional operations on requests and responses for
3333
/// <see cref="RequestMethods.ToolsCall"/> requests. The handler should implement logic to execute the requested tool and return appropriate results.
3434
/// </remarks>
35-
public List<McpRequestFilter<CallToolRequestParams, CallToolResult>> CallToolFilters { get; } = [];
35+
public IList<McpRequestFilter<CallToolRequestParams, CallToolResult>> CallToolFilters { get; } = [];
3636

3737
/// <summary>
3838
/// Gets the filters for the list-prompts handler pipeline.
@@ -49,7 +49,7 @@ public sealed class McpRequestFilters
4949
/// Prompts from both sources will be combined when returning results to clients.
5050
/// </para>
5151
/// </remarks>
52-
public List<McpRequestFilter<ListPromptsRequestParams, ListPromptsResult>> ListPromptsFilters { get; } = [];
52+
public IList<McpRequestFilter<ListPromptsRequestParams, ListPromptsResult>> ListPromptsFilters { get; } = [];
5353

5454
/// <summary>
5555
/// Gets the filters for the get-prompt handler pipeline.
@@ -59,7 +59,7 @@ public sealed class McpRequestFilters
5959
/// The filters can modify, log, or perform additional operations on requests and responses for
6060
/// <see cref="RequestMethods.PromptsGet"/> requests. The handler should implement logic to fetch or generate the requested prompt and return appropriate results.
6161
/// </remarks>
62-
public List<McpRequestFilter<GetPromptRequestParams, GetPromptResult>> GetPromptFilters { get; } = [];
62+
public IList<McpRequestFilter<GetPromptRequestParams, GetPromptResult>> GetPromptFilters { get; } = [];
6363

6464
/// <summary>
6565
/// Gets the filters for the list-resource-templates handler pipeline.
@@ -70,7 +70,7 @@ public sealed class McpRequestFilters
7070
/// <see cref="RequestMethods.ResourcesTemplatesList"/> requests. It supports pagination through the cursor mechanism,
7171
/// where the client can make repeated calls with the cursor returned by the previous call to retrieve more resource templates.
7272
/// </remarks>
73-
public List<McpRequestFilter<ListResourceTemplatesRequestParams, ListResourceTemplatesResult>> ListResourceTemplatesFilters { get; } = [];
73+
public IList<McpRequestFilter<ListResourceTemplatesRequestParams, ListResourceTemplatesResult>> ListResourceTemplatesFilters { get; } = [];
7474

7575
/// <summary>
7676
/// Gets the filters for the list-resources handler pipeline.
@@ -81,7 +81,7 @@ public sealed class McpRequestFilters
8181
/// <see cref="RequestMethods.ResourcesList"/> requests. It supports pagination through the cursor mechanism,
8282
/// where the client can make repeated calls with the cursor returned by the previous call to retrieve more resources.
8383
/// </remarks>
84-
public List<McpRequestFilter<ListResourcesRequestParams, ListResourcesResult>> ListResourcesFilters { get; } = [];
84+
public IList<McpRequestFilter<ListResourcesRequestParams, ListResourcesResult>> ListResourcesFilters { get; } = [];
8585

8686
/// <summary>
8787
/// Gets the filters for the read-resource handler pipeline.
@@ -91,7 +91,7 @@ public sealed class McpRequestFilters
9191
/// The filters can modify, log, or perform additional operations on requests and responses for
9292
/// <see cref="RequestMethods.ResourcesRead"/> requests. The handler should implement logic to locate and retrieve the requested resource.
9393
/// </remarks>
94-
public List<McpRequestFilter<ReadResourceRequestParams, ReadResourceResult>> ReadResourceFilters { get; } = [];
94+
public IList<McpRequestFilter<ReadResourceRequestParams, ReadResourceResult>> ReadResourceFilters { get; } = [];
9595

9696
/// <summary>
9797
/// Gets the filters for the complete-handler pipeline.
@@ -102,7 +102,7 @@ public sealed class McpRequestFilters
102102
/// <see cref="RequestMethods.CompletionComplete"/> requests. The handler processes auto-completion requests, returning a list of suggestions based on the
103103
/// reference type and current argument value.
104104
/// </remarks>
105-
public List<McpRequestFilter<CompleteRequestParams, CompleteResult>> CompleteFilters { get; } = [];
105+
public IList<McpRequestFilter<CompleteRequestParams, CompleteResult>> CompleteFilters { get; } = [];
106106

107107
/// <summary>
108108
/// Gets the filters for the subscribe-to-resources handler pipeline.
@@ -119,7 +119,7 @@ public sealed class McpRequestFilters
119119
/// whenever a relevant resource is created, updated, or deleted.
120120
/// </para>
121121
/// </remarks>
122-
public List<McpRequestFilter<SubscribeRequestParams, EmptyResult>> SubscribeToResourcesFilters { get; } = [];
122+
public IList<McpRequestFilter<SubscribeRequestParams, EmptyResult>> SubscribeToResourcesFilters { get; } = [];
123123

124124
/// <summary>
125125
/// Gets the filters for the unsubscribe-from-resources handler pipeline.
@@ -136,7 +136,7 @@ public sealed class McpRequestFilters
136136
/// to the client for the specified resources.
137137
/// </para>
138138
/// </remarks>
139-
public List<McpRequestFilter<UnsubscribeRequestParams, EmptyResult>> UnsubscribeFromResourcesFilters { get; } = [];
139+
public IList<McpRequestFilter<UnsubscribeRequestParams, EmptyResult>> UnsubscribeFromResourcesFilters { get; } = [];
140140

141141
/// <summary>
142142
/// Gets the filters for the set-logging-level handler pipeline.
@@ -153,5 +153,5 @@ public sealed class McpRequestFilters
153153
/// at or above the specified level to the client as notifications/message notifications.
154154
/// </para>
155155
/// </remarks>
156-
public List<McpRequestFilter<SetLevelRequestParams, EmptyResult>> SetLoggingLevelFilters { get; } = [];
156+
public IList<McpRequestFilter<SetLevelRequestParams, EmptyResult>> SetLoggingLevelFilters { get; } = [];
157157
}

0 commit comments

Comments
 (0)