MCP server for managing QuickClick restaurant management platform, enabling control over settings, products, day-offs, and ordering status
This MCP server registers 10 tools with clear verb-based naming (get_, list_, create_, update_, delete_, enable_). All tools have descriptions and input schemas defined in Zod. Output schemas are documented via Zod type annotations. However, there are notable gaps: (1) several parameter descriptions are either missing or generic; (2) most tools lack explicit error handling guidance; (3) no pagination support on list endpoints despite potentially large result sets; (4) parameter descriptions don't always specify format/constraints (e.g., date format is only in the pattern, not the description text); (5) no tool annotations (readOnlyHint/destructiveHint/idempotentHint) are present despite clear risk stratification (READ_ONLY, WRITE, DESTRUCTIVE). The server demonstrates competent baseline implementation but misses production-grade polish.
This tool is used to add an extra day off
This tool is used to create a product
This tool is used to delete an extra day off
This tool is used to enable or disable ordering
This tool is used to get a product, including name, description, categoryId and isAvailable
This tool is used to get the platform settings, including name and to-go waiting time (in minutes)
Missing tool annotations (toolAnnotations=false). Tools like delete-day-off and update-product carry destructive/write risk but lack destructiveHint/idempotentHint/readOnlyHint annotations to signal this to agents.
No error handling guidance. Tools return success messages but lack recovery paths for failure cases. E.g., update-to-go-waiting-time does not document what happens if the API call fails or what the LLM should do next.
Parameter descriptions lack explicit format/constraint details. The add-day-off tool uses a regex pattern (^\d{4}-\d{2}-\d{2}$) but the description only says 'in YYYY-MM-DD format', LLMs should also see the constraint in the description text, not just in the schema.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 79 | 2025-06-18+ | v2 |
| 2026-03-09 | D | 56 | - | v1 |
This tool is used to list the extra day offs, including id and date
This tool is used to list the products, including id, price, name and isAvailable
This tool is used to update a product
This tool is used to update the to-go waiting time (in minutes)
List endpoints lack pagination. list-products and list-day-offs return unbounded arrays (products array, dayOffs array) without limit, offset, or next_cursor parameters. Large result sets could exhaust context windows.
update-product combines multiple optional parameters but provides no guidance on mutually exclusive field updates or partial update semantics. The LLM must infer that passing only 'id' and 'price' is valid.