List of Diagnostics Produced by MCP C# SDK
This document provides information about each of the diagnostics produced by the MCP C# SDK analyzers and source generators.
Analyzer Diagnostics
Analyzer diagnostic IDs are in the format MCP###.
| Diagnostic ID | Description |
|---|---|
MCP001 |
Invalid XML documentation for MCP method |
MCP002 |
MCP method must be partial to generate [Description] attributes |
Experimental APIs
Experimental diagnostic IDs are in the format MCPEXP###.
As new functionality is introduced to this SDK, new in-development APIs are marked as being experimental. Experimental APIs offer no compatibility guarantees and can change without notice. They are usually published in order to gather feedback before finalizing a design.
You may use experimental APIs in your application, but we advise against using these APIs in production scenarios as they may not be fully tested nor fully reliable. Additionally, we strongly recommend that library authors do not publish versions of their libraries that depend on experimental APIs as this will quite possibly lead to future breaking changes and diamond problems.
If you use experimental APIs, you will get one of the diagnostics shown below. The diagnostic is there to let you know you're using such an API so that you can avoid accidentally depending on experimental features. You may suppress these diagnostics if desired.
| Diagnostic ID | Description |
|---|---|
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 MCP Tasks specification). Extensions provide a framework for extending the Model Context Protocol while maintaining interoperability (see SEP-2133). |
MCPEXP002 |
Experimental SDK APIs unrelated to the MCP specification itself, including subclassing McpClient/McpServer (see #1363) and RunSessionHandler, which may be removed or change signatures in a future release (consider using ConfigureSessionOptions instead). |
Obsolete APIs
Obsolete diagnostic IDs are in the format MCP9###.
When APIs are marked as obsolete, a diagnostic is emitted to warn users that the API will be removed in a future version. Diagnostic IDs are never reused, even after an obsolete API has been removed, to avoid suppressing warnings for different APIs.
| Diagnostic ID | Status | Description |
|---|---|---|
MCP9001 |
In place | The EnumSchema and LegacyTitledEnumSchema APIs are deprecated as of specification version 2025-11-25. Use the current schema APIs instead. |
MCP9002 |
Removed | The AddXxxFilter extension methods on IMcpServerBuilder (e.g., AddListToolsFilter, AddCallToolFilter, AddIncomingMessageFilter) were superseded by WithRequestFilters() and WithMessageFilters(). |