MCP server with tools for web scraping, documentation search, and basic arithmetic
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (add, scrape_web, search_docs), which is good. However, descriptions are minimal (10-60 chars), parameter descriptions are sparse, and output schemas are not documented. No error handling guidance, no pagination support for list-like tools, and no tool annotations. The 'add' tool is trivial; 'scrape_web' and 'search_docs' lack critical parameter details (e.g., timeout, result format, error cases).
Add two numbers
Scrape the content of a web page and return it as markdown.
Search the FastMCP documentation for relevant documents.
Tool descriptions are too short (10-60 chars). Rubric baseline is 194 chars. Descriptions lack WHEN to use, WHAT it returns, and any prerequisites. LLMs cannot reliably select tools without richer context.
Output schemas are not documented. LLMs need to know what fields to expect from each tool so they can plan downstream calls and extract data correctly. scrape_web and search_docs especially need documented return structures.
search_docs accepts num_results parameter but no pagination guidance (limit, offset, next_cursor). If results exceed context window, LLM has no way to fetch more. Rubric requires pagination for list-like tools.
No error handling guidance. If scrape_web fails (404, timeout, invalid URL), the tool provides no recovery hint. LLM cannot determine if it should retry, ask user, or try a different URL.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All three tools are READ_ONLY, but this is not declared in the tool definition itself, only in metadata. Tool definitions should include these hints for clarity.