MCP server for managing recipes, ingredients, and suggestions via Firebase Functions API
The server provides a well-structured recipes and ingredients API with 6 read-only tools. All tools have clear names following verb_noun convention (get_, list_, search_). Schemas are properly defined using Zod with type information and parameter descriptions. However, there are notable gaps: (1) Tool descriptions are generic and lack context about when to use each tool or dependencies between them; (2) Output schemas are not formally documented, responses are hardcoded text formatting; (3) No error handling guidance or recovery instructions; (4) Missing details about pagination behavior and result limits; (5) No tool annotations (readOnlyHint would be appropriate). The server sits in the upper-middle range due to consistent schema structure and reasonable naming, but lacks the polish and error handling expected for A-grade production tools.
Get a single ingredient by ID
Get a single recipe by ID
List all ingredients for the group with optional pagination
List all recipes for the group with optional pagination
List suggestions with optional pagination and status filtering
Search recipes using keyword-based search with optional filtering
Descriptions are minimal and generic. All tool descriptions are 15-60 characters with no context about when to use each tool, prerequisites, or dependencies.
Output schemas are not formally documented. Responses are hardcoded text strings with formatted content. LLMs cannot infer structured fields or plan downstream tool calls.
No error handling guidance or recovery instructions. No error codes, messages, or hints about what to do if a resource is not found or the query fails.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 58 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 66 | - | v1 |
Missing tool annotations. All 6 tools are read-only but lack readOnlyHint annotation. This forces LLMs to reason about side effects rather than relying on explicit metadata. Per current MCP spec (2026-07-28), tool annotations are current best practice.
Pagination parameters (limit, offset) lack documented constraints. Rubric baseline: numeric params must specify min/max ranges (e.g. limit 1-50, offset 1-10000). No validation or boundary documentation.
list_suggestions 'status' enum lacks field-level documentation beyond the constraint. Enum values are declared but no description of what each status means or when to use each filter.