A search engine with RAG and MCP capabilities
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output structure. search_web_tool has a default parameter (max_urls=3) but lacks description of what 'RAG' means or when to use it vs get_web_content_tool. get_web_content_tool is minimal. Neither tool documents output schema, error cases, or recovery guidance. Parameter descriptions exist but are generic. No tool annotations (readOnlyHint, idempotentHint). Naming is clear (verb_noun pattern), but descriptions are under 100 chars and lack context for LLM selection.
Get the content of a webpage.
Search the web and process results using RAG.
Output schemas not documented. Both tools return strings with no structure. LLMs cannot parse results reliably or extract fields for downstream calls.
Tool descriptions lack context for LLM selection. 'Search the web and process results using RAG' does not explain when to call this vs get_web_content_tool, what RAG does, or what the output contains.
No error handling guidance. Both tools catch exceptions and return error strings, but do not tell the LLM what to do next (retry, ask user, try alternative tool).
Parameter 'max_urls' has a default (3) but no description of why 3 is chosen, what happens if omitted, or valid range. Baseline rubric requires 'minimum and maximum for numeric parameters'.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
No tool annotations (readOnlyHint, idempotentHint). Both tools are read-only and idempotent, but this is not declared in the schema, forcing LLMs to infer safety.