{"total":15,"tools":[{"name":"resolve_locations","description":"Resolve branch/location names to IDs. Use this FIRST when the user refers to a location by name (e.g. \"DHA branch\", \"Mall of Emirates\", \"downtown store\") instead of by ID. Returns matching locations with their IDs, so you can pass the correct location_ids to other tools. Also useful to list all accessible locations for the tenant.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"search":{"type":"string","description":"Search term to match against location names (partial match, case-insensitive). Omit to list all accessible locations."}},"required":[]}},{"name":"get_executive_daily_brief","description":"Get today's executive sales summary for the owner. Returns total orders, gross/net sales, discounts, refunds, AOV, tips, payment breakdown, and optional comparison with yesterday/last week/7-day average. This is the owner's \"What happened today?\" snapshot.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"date":{"type":"string","description":"Date in YYYY-MM-DD format (defaults to today)"},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"},"compare_with":{"type":"string","enum":["yesterday","last_week_same_day","last_7_days_avg"],"description":"Compare today with a reference period"}},"required":[]}},{"name":"get_multi_location_performance","description":"Compare performance across all branches/locations. Returns per-location: revenue, orders, AOV, guest count, growth %, and ranking. Helps owners identify top/bottom performers and allocate resources.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"date_range":{"type":"object","properties":{"start":{"type":"string","description":"Start date YYYY-MM-DD"},"end":{"type":"string","description":"End date YYYY-MM-DD"}},"required":["start","end"],"description":"Date range (defaults to current month)"},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"},"sort_by":{"type":"string","enum":["revenue","orders","aov","growth"],"description":"Sort locations by metric (default: revenue)"}},"required":[]}},{"name":"get_sales_trend_and_anomalies","description":"Explain \"why sales changed.\" Shows trend lines, anomalies, biggest drivers up/down, and which categories/items caused movement. Owners don't want raw numbers only — they want causality hints.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"date_range":{"type":"object","properties":{"start":{"type":"string","description":"Start date YYYY-MM-DD"},"end":{"type":"string","description":"End date YYYY-MM-DD"}},"required":["start","end"],"description":"Date range to analyze"},"group_by":{"type":"string","enum":["day","branch","shift","hour","category","item"],"description":"How to group the trend data (default: day)"},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"}},"required":["date_range"]}},{"name":"get_hourly_sales_heatmap","description":"Hourly and day-of-week sales heatmap: shows peak hours, slow periods, covers (guests) density, and best/worst time slots. Helps owners optimize staffing and promotions.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"date_range":{"type":"object","properties":{"start":{"type":"string","description":"Start date YYYY-MM-DD"},"end":{"type":"string","description":"End date YYYY-MM-DD"}},"required":["start","end"],"description":"Date range (defaults to last 14 days)"},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"}},"required":[]}},{"name":"get_payment_mix_analysis","description":"Payment method breakdown and trends: cash vs card vs digital, per-location payment preferences, daily payment trends. Helps owners understand payment behavior and plan for cash handling, terminal needs.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"date_range":{"type":"object","properties":{"start":{"type":"string","description":"Start date YYYY-MM-DD"},"end":{"type":"string","description":"End date YYYY-MM-DD"}},"required":["start","end"],"description":"Date range (defaults to last 30 days)"},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"}},"required":[]}},{"name":"get_profit_leakage_alerts","description":"Detect suspicious operational leakage: unusual refunds, voids, high discount usage, inventory variance, cash mismatches, manager overrides, and low-margin items. One of the most valuable tools for owners — highlights where money may be leaking.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"date_range":{"type":"object","properties":{"start":{"type":"string","description":"Start date YYYY-MM-DD"},"end":{"type":"string","description":"End date YYYY-MM-DD"}},"required":["start","end"],"description":"Date range (defaults to last 7 days)"},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"},"thresholds":{"type":"object","properties":{"refund_pct":{"type":"number","description":"Refund % threshold (default 5)"},"discount_pct":{"type":"number","description":"Discount % threshold (default 15)"},"void_pct":{"type":"number","description":"Void % threshold (default 3)"}},"description":"Custom thresholds for alerts"}},"required":[]}},{"name":"get_branch_health_score","description":"One-number operational health overview per branch. Composite score from: sales performance, stock health, refund anomalies, discount usage, void rate, and shift execution. Excellent for dashboards and quick owner assessments.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"date":{"type":"string","description":"Date in YYYY-MM-DD format (defaults to today)"},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"}},"required":[]}},{"name":"get_shift_performance","description":"Analyze shift-level performance: revenue per shift, orders per shift, cash accuracy, opening/closing times. Helps owners spot underperforming shifts and scheduling issues.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"date_range":{"type":"object","properties":{"start":{"type":"string","description":"Start date YYYY-MM-DD"},"end":{"type":"string","description":"End date YYYY-MM-DD"}},"required":["start","end"],"description":"Date range (defaults to last 7 days)"},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"}},"required":[]}},{"name":"get_staff_performance","description":"Staff performance analysis: revenue per cashier, orders handled, average order value, discount usage, refund rate. Helps owners identify top performers and those needing coaching.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"date_range":{"type":"object","properties":{"start":{"type":"string","description":"Start date YYYY-MM-DD"},"end":{"type":"string","description":"End date YYYY-MM-DD"}},"required":["start","end"],"description":"Date range (defaults to last 7 days)"},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"}},"required":[]}},{"name":"get_inventory_alerts","description":"Inventory health overview: low stock items, out-of-stock items, overstocked items, and reorder suggestions across locations. Helps owners prevent stockouts and reduce waste.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"},"include_details":{"type":"boolean","description":"Include per-item details (default false for summary only)"}},"required":[]}},{"name":"get_menu_performance_summary","description":"Strategic menu engineering analysis. Shows top sellers, high-revenue/low-margin items, low performers, dead items, candidate bundles, and pricing review suggestions. Gives the owner product and pricing decisions.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"date_range":{"type":"object","properties":{"start":{"type":"string","description":"Start date YYYY-MM-DD"},"end":{"type":"string","description":"End date YYYY-MM-DD"}},"required":["start","end"],"description":"Date range to analyze"},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"},"category_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific category IDs"}},"required":["date_range"]}},{"name":"get_customer_retention_snapshot","description":"Customer repeat behavior analysis. Shows new vs returning customers, repeat purchase rates, churn-risk segments, high-value customer groups, and promo recommendation hooks. Useful when SysPOS has CRM/customer order history.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"date_range":{"type":"object","properties":{"start":{"type":"string","description":"Start date YYYY-MM-DD"},"end":{"type":"string","description":"End date YYYY-MM-DD"}},"required":["start","end"],"description":"Date range to analyze"},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"}},"required":["date_range"]}},{"name":"get_location_settings","description":"Get configuration/settings for locations: currency, VAT %, daily target, fixed costs (yearly/quarterly/monthly), business info (name, address, phone, email), font size, page width, page margins, max order time, and any other config key-value pairs. Use resolve_locations first if the user refers to a branch by name.","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."},"location_ids":{"type":"array","items":{"type":"number","description":""},"description":"Filter by specific location IDs. Use resolve_locations tool first to convert branch names to IDs"},"settings":{"type":"array","items":{"type":"string","description":""},"description":"Filter by specific setting names (e.g. ['currency', 'vat', 'daily_target']). Omit to get all settings."}},"required":[]}},{"name":"get_locations_overview","description":"Get a complete overview of all locations (branches) accessible to this account. Returns total count plus per-location details: name, address, phone, timezone, opening hour, currency, and daily revenue target. Use this to answer \"how many locations do I have?\" or \"what are my branch details?\".","parameters":{"type":"object","properties":{"api_key":{"type":"string","description":"(Legacy) MCP API key. Prefer sending it via the Authorization: Bearer <key> HTTP header — required for Claude.ai connectors and standard MCP clients."}},"required":[]}}]}