Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP port when using http transport (default: 3000)3000
TRANSPORTNostdio (default) or httpstdio
COOKUNITY_EMAILYesCookUnity account email
COOKUNITY_PASSWORDYesCookUnity account password

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
cookunity_get_menu

Browse available meals for a delivery date with optional filters and pagination.

Args:

  • date (string, optional): YYYY-MM-DD delivery date. Defaults to next Monday.

  • category (string, optional): Filter by category (e.g. 'Bowls', 'Protein+')

  • diet (string, optional): Filter by diet tag (e.g. 'vegan', 'gluten-free')

  • max_price (number, optional): Max price in dollars

  • min_rating (number, optional): Min rating 0-5

  • limit (number): Results per page, default 20, max 50

  • offset (number): Pagination offset, default 0

  • response_format ('markdown'|'json'): Output format

Returns (JSON): { total, count, offset, has_more, next_offset?, categories, meals[] } Returns (Markdown): Formatted meal cards with chef, price, rating, nutrition

Examples:

  • Browse next week's menu: {}

  • Vegan meals under $12: { diet: "vegan", max_price: 12 }

  • Page 2: { offset: 20 }

Error Handling:

  • Invalid date format returns validation error

  • API failures return actionable error with status code

cookunity_search_meals

Search meals by keyword across name, description, cuisine, chef, ingredients, and diet tags.

Args:

  • query (string, required): Search keyword (min 1 char)

  • date (string, optional): YYYY-MM-DD. Defaults to next Monday.

  • limit (number): Results per page, default 20

  • offset (number): Pagination offset

  • response_format ('markdown'|'json'): Output format

Returns (JSON): { query, date, total, count, offset, has_more, meals[] }

Examples:

  • Find salmon dishes: { query: "salmon" }

  • Vegan meals: { query: "vegan" }

  • Chef search: { query: "Mario" }

Error Handling:

  • Empty query returns validation error

cookunity_get_meal_details

Get full details for a specific meal including allergens, complete ingredients list, nutrition facts, diet tags, and chef info.

Args:

  • meal_id (number, optional): Numeric meal ID (e.g. 12272)

  • inventory_id (string, optional): Inventory ID (e.g. "ii-135055242")

  • date (string, optional): YYYY-MM-DD menu date. Defaults to next Monday.

  • response_format ('markdown'|'json'): Output format

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:

  • By ID: { meal_id: 12272 }

  • By inventory: { inventory_id: "ii-135055242" }

  • Specific week: { meal_id: 12272, date: "2026-02-23" }

Error Handling:

  • Meal not found: suggests checking the date or using cookunity_search_meals

cookunity_get_user_info

Get user profile, subscription plan, delivery schedule, addresses, and credits.

Args:

  • response_format ('markdown'|'json'): Output format

Returns (JSON): { id, name, email, plan_id, store_id, status, deliveryDays[], currentCredit, addresses[] }

Examples:

  • Get profile: {}

  • Get as JSON: { response_format: "json" }

cookunity_list_orders

Get order history with delivery dates, paginated.

Args:

  • limit (number): Orders per page, default 20

  • offset (number): Pagination offset

  • response_format ('markdown'|'json')

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:

  • from (string, required): Start date YYYY-MM-DD (inclusive)

  • to (string, required): End date YYYY-MM-DD (inclusive)

  • limit (number): Invoices per page, default 10 (max 50)

  • offset (number): Pagination offset

  • response_format ('markdown'|'json')

Returns (JSON): { total, invoices[{ id, date, total, subtotal, taxes, deliveryFee, tip, discount, orders[{ delivery_date, items[{ name, chef, price, calories, rating, review }] }] }] }

Examples:

  • Last month: { from: "2026-01-01", to: "2026-01-31" }

  • Specific week: { from: "2026-02-03", to: "2026-02-09" }

  • All of 2025: { from: "2025-01-01", to: "2025-12-31", limit: 50 }

Error Handling:

  • Auth errors suggest checking credentials

  • Empty results if no invoices in date range

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:

  • response_format ('markdown'|'json')

Returns (JSON): { deliveries[{ date, status, can_edit, menu_available, cutoff, cutoff_timezone, cart_items[], cart_count, order, recommendation_items[] }] }

Examples:

  • See upcoming weeks: {}

  • Check what's in my carts: {}

Error Handling:

  • Auth errors suggest checking credentials

cookunity_get_cart

Get cart contents for a specific delivery date. Always call fresh — NEVER use cached results.

Args:

  • date (string, optional): YYYY-MM-DD. Defaults to next Monday.

  • response_format ('markdown'|'json')

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:

  • Returns "Date not found" if date is not in upcoming deliveries

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:

  • date (string, required): YYYY-MM-DD delivery date to skip (must match an actual delivery date from cookunity_list_deliveries)

Returns: Confirmation message with skip ID

Error Handling:

  • Invalid date: returns available delivery dates

  • Past cutoff: returns error suggesting checking cutoff with list_deliveries

  • Already skipped: returns API error

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:

  • date (string, required): YYYY-MM-DD delivery date to unskip (must match an actual delivery date from cookunity_list_deliveries)

Returns: Confirmation message

Error Handling:

  • Invalid date: returns available delivery dates

  • Week not skipped: returns API error

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:

  • "Next delivery" includes TODAY's delivery date. A delivery on today's date is still the "next" one unless it's already marked as completed/delivered.

  • Always call this tool FRESH for every user question. NEVER use previously cached results — the user may have changed their order, skipped/unskipped, or edited their cart on the website between calls.

Args:

  • response_format ('markdown'|'json')

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:

  • date (string, required): YYYY-MM-DD delivery date

  • inventory_id (string, required): Inventory ID from menu/search results

  • quantity (number): Portions to add, default 1 (max 10)

  • batch_id (number, optional): Batch ID from menu results

Returns: Confirmation with updated quantity

Examples:

  • Add one meal: { date: "2025-02-24", inventory_id: "ABC123" }

  • Add 2 portions: { date: "2025-02-24", inventory_id: "ABC123", quantity: 2 }

Error Handling:

  • Invalid inventory_id: API returns error

  • Past cutoff: API returns error — check cutoff with cookunity_list_deliveries first

cookunity_remove_from_cart

Remove a meal from the cart for a specific delivery date.

Args:

  • date (string, required): YYYY-MM-DD delivery date

  • inventory_id (string, required): Inventory ID of meal to remove

  • quantity (number): Portions to remove, default 1

Returns: Confirmation with updated quantity

Error Handling:

  • Meal not in cart: API returns error

cookunity_clear_cart

Clear all items from the cart for a specific delivery date. This removes ALL meals.

Args:

  • date (string, required): YYYY-MM-DD delivery date

Returns: Confirmation message

Error Handling:

  • Past cutoff: API returns error

cookunity_confirm_order

Confirm/place the order for a delivery date. Takes the current cart contents and submits them as an order.

Prerequisites:

  • Meals must be in the cart (use cookunity_add_to_cart first)

  • Must be before the cutoff (check with cookunity_list_deliveries)

  • Cart should have enough meals to meet the plan minimum (typically 6)

Args:

  • date (string, required): YYYY-MM-DD delivery date

  • comment (string, optional): Delivery instructions

  • tip (number, optional): Tip amount in dollars

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:

  • date (string, optional): YYYY-MM-DD delivery date. Defaults to next Monday.

  • meals (array, optional): Meals to price, each with entityId, quantity, inventoryId. If omitted, prices the current cart contents.

  • response_format ('markdown'|'json'): Output format

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:

  • Current cart: { date: "2026-02-23" }

  • Specific meals: { date: "2026-02-23", meals: [{ entityId: 12272, quantity: 1, inventoryId: "ii-135055242" }] }

Error Handling:

  • If no meals provided and cart is empty, returns error suggesting to add meals first

  • Invalid meal IDs return API error

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ggonzalezaleman/cook-unity-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server