From 4762748875b94e14c7569e0325ce0fdc821b13d6 Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Fri, 28 Aug 2026 11:34:21 -0600 Subject: [PATCH] docs(mcp): capabilities line omits declared-but-empty prompts/resources --- MCP-Servers.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MCP-Servers.md b/MCP-Servers.md index 5ded08d..044d509 100644 --- a/MCP-Servers.md +++ b/MCP-Servers.md @@ -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 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 ` makes the difference -visible by live-probing each declared capability. +completion) always reflects what the server actually serves, and `.info mcp-server ` live-probes each +declared capability so its `capabilities` line only lists what the server actually offers. ## Reading Resources @@ -800,9 +800,9 @@ tools (2 allowed / 4 total) * ✗ 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. `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 - offer no `/prompt` completions. If the probe itself errors, the annotation is `(declared, list failed)`. `tools` - is never annotated — the tool table below it tells the full story. + serves nothing for is omitted entirely — some SDKs advertise prompts/resources unconditionally, and a capability + with zero items is not worth listing. If a probe errors, the capability can't be proven empty and is shown as + `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 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 ✓.