TheMealDB MCP. Open meal/recipe database — search recipes by name, look up full recipes with ingredients and instructions, filter by ingredient/category/cuisine, and list available categories, cuisines, and ingredients. Keyless (uses the public test key "1").
TheMealDB MCP has well-structured tool definitions with clear naming (verb_noun pattern) and complete input schemas. All 4 tools have descriptions (194 - 250 chars, within baseline 34 - 392 range) and typed parameters with descriptions. However, output schemas are not documented, LLMs cannot predict response structure for planning. Error handling is minimal (generic error objects). Parameter descriptions include example values (e.g. 'chicken_breast', 'Italian'), which LLMs may reuse literally. No pagination metadata (total_count, next_cursor) despite tools returning lists. Missing tool annotations (readOnlyHint, idempotentHint) despite all being read-only operations.
Filter recipes by ONE of: main ingredient, category, or cuisine (area). Returns a light list (id, name, thumbnail) — use get_meal for full details. Priority if multiple given: ingredient > category > area. Keyless.
Look up a single full recipe by its TheMealDB meal id — complete (untruncated) instructions, full ingredient list, tags, source URL, and YouTube link. Keyless.
List the available filter values in TheMealDB: all categories, all cuisines (areas), or all ingredients. Use the returned values with filter_meals. Keyless.
Search recipes by name in TheMealDB. Returns matching meals with ingredients, cuisine, category, thumbnail, truncated instructions, and a YouTube link. Keyless.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting) for downstream planning or data extraction.
Example values in parameter descriptions (e.g. 'chicken_breast', 'Italian', '52771') risk LLM literal reuse. Use enums or format constraints instead.
No pagination metadata (total_count, next_cursor, has_more). search_meals and filter_meals cap results at 25 and 50 but don't signal truncation to LLM.
No tool annotations. All 4 tools are read-only and idempotent but lack readOnlyHint/idempotentHint metadata for agent safety reasoning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Error responses are generic objects (e.g. {error: 'meal not found'}). No recovery guidance or actionable next steps for LLM.