Rules
| Id | Severity | Description |
|---|---|---|
| QA0001 | Error | [McpServer] class must be partial |
| QA0002 | Error | [McpServer] class must not be static |
| QA0003 | Error | [McpServer] class must not be generic |
| QA0004 | Error | [Tool] method must be inside [McpServer] class |
| QA0005 | Error | [Tool] method must not be static |
| QA0006 | Error | [Tool] method must not be generic |
| QA0007 | Error | [Tool] method has unsupported return type |
| QA0008 | Error | [Tool] parameter has unsupported type |
| QA0009 | Warning | [Tool] parameter missing [Description] |
| QA0010 | Warning | [McpServer] class has no [Tool] methods |
| QA0011 | Error | Duplicate tool name in same server |
| QA0012 | Warning | All tool safety hints are Unset |
| QA0013 | Error | [Resource] method has invalid return type |
| QA0014 | Error | Duplicate resource URI in same server |
| QA0015 | Error | [Prompt] method has invalid return type |
| QA0016 | Error | Duplicate prompt name in same server |
Examples
QA0001 — Class must be partial
QA0004 — Orphaned tool
QA0009 — Missing description
[Description] to suppress:
QA0012 — All safety hints Unset
Only fires when all four hints are explicitly set toToolHint.Unset:
QA0013 — Resource invalid return type
[Resource] methods must return string, Task<string>, or ValueTask<string>.
QA0014 — Duplicate resource URI
Two methods in the same server cannot share a[Resource] URI.
QA0015 — Prompt invalid return type
[Prompt] methods must return string, Task<string>, PromptResult, or Task<PromptResult>.
QA0016 — Duplicate prompt name
Two methods in the same server cannot share a[Prompt] name.
