Discover and parse MCP server manifests (mcp-manifest.dev)
Three tools with basic descriptions but significant schema and parameter documentation gaps. Tool names are action-oriented (discover, validate, check_command) but descriptions lack LLM-optimized structure. Input schemas visible but lack parameter-level type info and constraints. No output schemas documented. Error handling is minimal, no recovery guidance or actionable error messages. Naming is clear but descriptions are generic and under-optimized for agent selection.
Check whether *command* is available on PATH.
Discover and parse an MCP manifest. Resolution order: 1. Local file path 2. Direct .json URL 3. Well-known URL ({base}/.well-known/mcp-manifest.json) 4. HTML ``<link rel="mcp-manifest">`` tag
Validate a parsed manifest for structural and semantic correctness. Checks performed: - Required fields present and non-empty - Transport/endpoint consistency - Duplicate config keys - settings_template variable references match config keys
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing return structure.
Input parameters lack type definitions and constraints. 'input' param in discover/validate has no enum, format, or length constraints; LLMs will hallucinate invalid values.
Descriptions are generic and under 100 chars. 'Discover and parse an MCP manifest' lacks WHEN to use it, WHAT it returns, or HOW it differs from validate. Descriptions should be 50-200 chars with actionable context.
No error handling guidance. discover() returns DiscoveryResult with errors list but no recovery hints. If discovery fails, LLM has no guidance on what to try next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
validate tool description does not explain when to call it relative to discover, or what 'structural and semantic correctness' means to an LLM. Ambiguous tool selection.