CookUnity MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port when using http transport (default: 3000) | 3000 |
| TRANSPORT | No | stdio (default) or http | stdio |
| COOKUNITY_EMAIL | Yes | CookUnity account email | |
| COOKUNITY_PASSWORD | Yes | CookUnity account password |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cookunity_get_menuA | Browse available meals for a delivery date with optional filters and pagination. Args:
Returns (JSON): { total, count, offset, has_more, next_offset?, categories, meals[] } Returns (Markdown): Formatted meal cards with chef, price, rating, nutrition Examples:
Error Handling:
|
| cookunity_search_mealsA | Search meals by keyword across name, description, cuisine, chef, ingredients, and diet tags. Args:
Returns (JSON): { query, date, total, count, offset, has_more, meals[] } Examples:
Error Handling:
|
| cookunity_get_meal_detailsA | Get full details for a specific meal including allergens, complete ingredients list, nutrition facts, diet tags, and chef info. Args:
At least one of meal_id or inventory_id is required. Returns (JSON): Full meal object with allergens[], ingredients[], nutritionalFacts (incl. protein, sugar), searchBy tags, chef info Returns (Markdown): Formatted card with sections for Description, Nutrition, Ingredients, Allergens, Chef, Tags Examples:
Error Handling:
|
| cookunity_get_user_infoA | Get user profile, subscription plan, delivery schedule, addresses, and credits. Args:
Returns (JSON): { id, name, email, plan_id, store_id, status, deliveryDays[], currentCredit, addresses[] } Examples:
|
| cookunity_list_ordersA | Get order history with delivery dates, paginated. Args:
Returns (JSON): { total, count, offset, has_more, orders[{ id, deliveryDate }] } |
| cookunity_order_historyA | Get past order invoices with full meal details, prices, reviews, and billing breakdown for a date range. This is the only way to see what meals were in past deliveries. IMPORTANT: Always call this tool FRESH when the user asks about past orders or meals. NEVER rely on cached or previously returned data. Args:
Returns (JSON): { total, invoices[{ id, date, total, subtotal, taxes, deliveryFee, tip, discount, orders[{ delivery_date, items[{ name, chef, price, calories, rating, review }] }] }] } Examples:
Error Handling:
|
| cookunity_list_deliveriesA | List upcoming delivery weeks with full details: confirmed order items, cart contents, CookUnity auto-picks, skip/pause status, and cutoff deadlines. IMPORTANT: Always call this tool to get FRESH data before answering any question about delivery status, meals, or orders. NEVER rely on cached or previously returned data — the user may have made changes on the website or app between calls. Args:
Returns (JSON): { deliveries[{ date, status, can_edit, menu_available, cutoff, cutoff_timezone, cart_items[], cart_count, order, recommendation_items[] }] } Examples:
Error Handling:
|
| cookunity_get_cartA | Get cart contents for a specific delivery date. Always call fresh — NEVER use cached results. Args:
Returns (JSON): { date, can_edit, is_skipped, cutoff, items[{ name, inventory_id, quantity, price, chef }], total_items, total_price } Note: If the order is already confirmed, cart may be empty — use cookunity_list_deliveries or cookunity_next_delivery instead to see confirmed order items. Error Handling:
|
| cookunity_skip_deliveryA | Skip a delivery week. IMPORTANT: Always call cookunity_list_deliveries first to get valid delivery dates — do NOT guess or calculate dates manually. Args:
Returns: Confirmation message with skip ID Error Handling:
|
| cookunity_unskip_deliveryA | Unskip a previously skipped delivery week. IMPORTANT: Always call cookunity_list_deliveries first to get valid delivery dates — do NOT guess or calculate dates manually. Args:
Returns: Confirmation message Error Handling:
|
| cookunity_next_deliveryA | Get the nearest upcoming delivery with full details — including today's delivery if it hasn't been delivered yet. This is the recommended tool when the user asks about "my next delivery", "upcoming meals", "what's coming", etc. It returns the closest scheduled (non-skipped) delivery with its confirmed order items, cart items, or CookUnity auto-picks. IMPORTANT:
Args:
Returns: The nearest delivery with date, status, meals (from order, cart, or recommendations), and cutoff info. |
| cookunity_add_to_cartA | Add a meal to the cart for a specific delivery date. Args:
Returns: Confirmation with updated quantity Examples:
Error Handling:
|
| cookunity_remove_from_cartA | Remove a meal from the cart for a specific delivery date. Args:
Returns: Confirmation with updated quantity Error Handling:
|
| cookunity_clear_cartA | Clear all items from the cart for a specific delivery date. This removes ALL meals. Args:
Returns: Confirmation message Error Handling:
|
| cookunity_confirm_orderA | Confirm/place the order for a delivery date. Takes the current cart contents and submits them as an order. Prerequisites:
Args:
Returns: Order confirmation with ID and payment status, or error with out-of-stock meal IDs Important: Without confirming, cart items are NOT locked in. CookUnity will auto-fill with recommendations at cutoff instead. |
| cookunity_get_price_breakdownA | Get a full price breakdown for a delivery including subtotal, taxes, delivery fee, discounts, and total. Args:
Returns (JSON): { date, subtotal, taxes, delivery_fee, express_fee, promo_discount, total, total_after_credits, available_credits, qty_plan_meals, qty_items, total_extra_meals } Returns (Markdown): Formatted order summary with line items and total. Examples:
Error Handling:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Each tool has a clearly distinct purpose with no significant overlap. For example, cookunity_add_to_cart, cookunity_remove_from_cart, and cookunity_clear_cart handle different cart operations, while cookunity_get_menu and cookunity_search_meals serve separate browsing needs. The descriptions reinforce these distinctions, making tool selection straightforward.
All tools follow a consistent 'cookunity_verb_noun' naming pattern with snake_case throughout. Verbs like 'get', 'list', 'add', 'remove', 'confirm', 'skip', and 'search' are used predictably, making the tool set highly readable and organized. There are no deviations in naming conventions.
With 16 tools, this server is well-scoped for managing a meal delivery service. It covers essential operations like browsing, cart management, ordering, delivery scheduling, and user info without being overwhelming. Each tool serves a clear purpose, and the count aligns with the domain's complexity.
The tool set provides complete coverage for the CookUnity domain, including CRUD operations for cart items (add, remove, clear, get), order lifecycle (confirm, list, history), delivery management (skip/unskip, list, next), and informational tools (menu, search, meal details, price breakdown, user info). There are no obvious gaps that would hinder agent workflows.