MCP server for the Wikibooks Cookbook. Search recipes, read ingredients and steps, and rescale quantities without ending up with 2.4 eggs. No API key required.
Four tools with clear verb-noun naming (search_, get_, list_, scale_). All have descriptions and input schemas with typed parameters. However, parameter descriptions are sparse or missing entirely (e.g., 'servings' in get_recipe lacks guidance on valid range; 'factor' in scale_ingredients has no bounds). Output schemas are not documented in the visible code. Tool descriptions are adequate (40-60 chars) but lack WHEN/WHY guidance and dependency hints. No error handling guidance visible. Composition is sound, tools chain logically (search → get → scale). Security is good (read-only, no secrets). Missing: output schema documentation, parameter validation rules, error recovery guidance.
Read a recipe
Browse the Cookbook
Rescale an ingredient list
Search the Cookbook
Output schemas not documented. LLMs cannot plan downstream calls or extract fields without knowing what each tool returns. Visible code shows input schemas but no return type documentation.
Parameter descriptions incomplete or missing validation rules. 'servings' in get_recipe has no range guidance (e.g., 1 - 100). 'factor' in scale_ingredients lacks bounds. 'query' and 'category' lack format hints. LLMs will pass invalid values without constraints.
Tool descriptions lack WHEN/WHY guidance and dependency hints. E.g., get_recipe should state 'Call search_recipes first to find a recipe id.' Descriptions are 40 - 60 chars; baseline for A+ is 50 - 200 chars with context.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2025-06-18+ | v2 |
No error handling guidance visible in tool definitions. If search_recipes returns no results or get_recipe fails, LLM has no recovery path. Missing: 'If no results, try list_recipes with a broader category.'
Pagination not visible in tool definitions. If search_recipes or list_recipes return large result sets, no limit or offset parameters are documented. Risk of context window exhaustion.