MCP server to find relevant external documentation pages using URL discovery and LLM filtering.
Single tool with clear naming (verb_noun: find_relevant_doc_pages) and complete JSON Schema. Description is adequate (145 chars, within 10-1024 range). All three parameters have type definitions and descriptions. However, output schema is undocumented, LLMs cannot predict the response structure. Error handling returns text-only responses without recovery guidance or error classification. No tool annotations (readOnlyHint, idempotentHint). Parameter descriptions lack format constraints (e.g., max_pages_to_discover says '1-50' but no enum/pattern in schema). Missing guidance on when to use this tool vs alternatives.
Discovers pages within a given root URL and uses an LLM to filter them based on a query, returning a list of the most relevant page URLs.
Output schema is not documented. LLMs cannot predict response structure (list of URLs? objects with metadata? error format?). Responses are unstructured text arrays.
Error responses lack recovery guidance. Returns generic text like 'Failed to discover pages' without suggesting next steps (e.g., 'Try a different root_url' or 'Check if the URL is accessible').
No tool annotations. Missing readOnlyHint (this is read-only, safe to retry) and idempotentHint (same inputs produce same outputs). LLMs cannot determine retry safety.
Parameter 'max_pages_to_discover' has constraint '1-50' in description but no JSON Schema enum or pattern. LLMs may not enforce the constraint and could pass invalid values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | <=2025-11-25 | v2 |
Tool description does not explain when to use this tool vs alternatives, or what prerequisites exist (e.g., 'root_url must be a valid documentation site'). Incomplete context for LLM selection.