docs(mcp): capabilities line omits declared-but-empty prompts/resources

2026-08-28 11:34:21 -06:00
parent 95d9bfa4ca
commit 4762748875
+5 -5
@@ -608,8 +608,8 @@ So a resources-only server still gets `mcp_search`, `mcp_describe`, and `mcp_rea
Note that *declaring* a capability and *serving* items for it are different things: some server SDKs advertise Note that *declaring* a capability and *serving* items for it are different things: some server SDKs advertise
prompts/resources unconditionally even when zero prompts or resources are actually registered. Gating (and prompt prompts/resources unconditionally even when zero prompts or resources are actually registered. Gating (and prompt
completion) always reflects what the server actually serves, and `.info mcp-server <server>` makes the difference completion) always reflects what the server actually serves, and `.info mcp-server <server>` live-probes each
visible by live-probing each declared capability. declared capability so its `capabilities` line only lists what the server actually offers.
## Reading Resources ## Reading Resources
@@ -800,9 +800,9 @@ tools (2 allowed / 4 total)
* ✗ rows name the first layer that hid the tool. * ✗ rows name the first layer that hid the tool.
* The `capabilities` line live-probes prompts and resources: capabilities with served items show a count (e.g. * The `capabilities` line live-probes prompts and resources: capabilities with served items show a count (e.g.
`prompts (2)`, `resources (3)` — resources count includes templates), while a capability the server declares but `prompts (2)`, `resources (3)` — resources count includes templates), while a capability the server declares but
serves nothing for is annotated `prompts (declared, none served)`. That's why a server can "support" prompts yet serves nothing for is omitted entirely — some SDKs advertise prompts/resources unconditionally, and a capability
offer no `/prompt` completions. If the probe itself errors, the annotation is `(declared, list failed)`. `tools` with zero items is not worth listing. If a probe errors, the capability can't be proven empty and is shown as
is never annotated — the tool table below it tells the full story. `prompts (declared, list failed)`. `tools` is never annotated — the tool table below it tells the full story.
* ⚠ lines flag **dead patterns**: patterns that match none of the server's allowed tools (usually typos). Dead * ⚠ lines flag **dead patterns**: patterns that match none of the server's allowed tools (usually typos). Dead
patterns are also logged as warnings when the server's catalog is fetched. patterns are also logged as warnings when the server's catalog is fetched.
* With no active filter, the header shows `filter layers (none — all tools allowed)` and every tool is a bare ✓. * With no active filter, the header shows `filter layers (none — all tools allowed)` and every tool is a bare ✓.