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 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cookunity_get_menu | 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_meals | 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_details | 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_info | 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_orders | Get order history with delivery dates, paginated. Args:
Returns (JSON): { total, count, offset, has_more, orders[{ id, deliveryDate }] } |
| cookunity_order_history | 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_deliveries | 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_cart | 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_delivery | 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_delivery | 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_delivery | 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_cart | Add a meal to the cart for a specific delivery date. Args:
Returns: Confirmation with updated quantity Examples:
Error Handling:
|
| cookunity_remove_from_cart | Remove a meal from the cart for a specific delivery date. Args:
Returns: Confirmation with updated quantity Error Handling:
|
| cookunity_clear_cart | Clear all items from the cart for a specific delivery date. This removes ALL meals. Args:
Returns: Confirmation message Error Handling:
|
| cookunity_confirm_order | 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_breakdown | 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 | |