MCP tools
27 tools
← All documentation · Source: contracts mcp/tools.json at 8000474.
analytics_metrics read
The hub's analytics metrics: each one's id, name, unit and the dimensions it can be broken down by. Read it before analytics_query.
Roles hub ·
Permission hub:
report.read
No inputs.
analytics_query read
One query over the chain's sales and stock (spec ANALYTICS.md): metrics by up to 3 dimensions over local dates [from, to), optionally for some stores, groups or items. Money comes in minor units with the answer's currency.
Roles hub ·
Permission hub:
report.read
| Name | Type | Description |
|---|---|---|
metrics required
|
array of string |
|
dimensions
|
array of "store" | "day" | "week" | "month" | "hour" | "employee" | "item" | "group" |
|
from required
|
string |
|
to required
|
string |
|
stores
|
array of string (uuid) |
|
groups
|
array of string (uuid) |
|
items
|
array of string (uuid) |
|
order_by
|
string |
|
descending
|
boolean |
|
limit
|
integer |
bonus_report read
Employee bonuses over [from, to) (RFC 3339 instants): per employee the lines credited to them, their revenue and the bonus fixed at each sale; at the hub by store, optionally for one store (spec REPORTS.md, Employee bonuses).
Roles store, hub ·
Permission store:
bonus.read; hub:
bonus.read
| Name | Type | Description |
|---|---|---|
from required
|
string (date-time) |
|
to required
|
string (date-time) |
|
store_id
|
string (uuid) |
floor_status read
The restaurant's floor: each area's tables with their open and billed checks (number, waiter, covers, state, total, when opened), the guest orders waiting and whether the license locks the table for new checks, as rows; tabs at the bar too. No QR tokens, no lines (spec RESTAURANT.md, The floor; LICENSE.md, The restaurant's three places).
Roles store ·
Permission store:
check.use
| Name | Type | Description |
|---|---|---|
area_id
|
string (uuid) |
get_dashboard read
One of the hub's dashboards: its parameters and tiles (spec DASHBOARDS.md).
Roles hub ·
Permission hub:
report.read
| Name | Type | Description |
|---|---|---|
id required
|
string |
get_item read
One item of the catalog by id: names, codes, kind, unit, group, taxes, barcodes and, in a store, its price.
Roles store, hub ·
Permission store:
item.read; hub:
item.read
| Name | Type | Description |
|---|---|---|
id required
|
string (uuid) |
list_dashboards read
The hub's dashboards, the organization's and the ready-made ones.
Roles hub ·
Permission hub:
report.read
No inputs.
list_groups read
The catalog's item groups with their names and parents.
Roles store, hub ·
Permission store:
item.read; hub:
item.read
No inputs.
list_proposals read
The changes you proposed and their state: pending until a person approves or refuses them in the app.
Roles store, hub · Permission store: ; hub:
| Name | Type | Description |
|---|---|---|
status
|
"pending" | "approved" | "refused" | "failed" |
list_stores read
The chain's stores with their codes, names, currencies, time zones and their nodes' sync state.
Roles hub ·
Permission hub:
store.read
No inputs.
list_tags read
The catalog's tags with their names in every language.
Roles store, hub ·
Permission store:
item.read; hub:
item.read
No inputs.
list_transfers read
Transfers of stock between the chain's stores with both documents (what was shipped and at what cost, what arrived, shortages with their reasons), by direction or state; at the hub for the chain or one store (spec STOCK.md, Transfers).
Roles store, hub ·
Permission store:
document.read; hub:
document.read
| Name | Type | Description |
|---|---|---|
direction
|
"outgoing" | "incoming" |
|
state
|
"draft" | "in_transit" | "received" | "canceled" |
|
store_id
|
string (uuid) |
|
limit
|
integer |
loyalty_customer_lookup read
Find one loyalty customer by a card number or an E.164 phone number, exactly. The answer is masked: phone, e-mail and card numbers are never shown in full (spec LOYALTY.md, Customers). Give either card or phone.
Roles store, hub ·
Permission store:
customer.read; hub:
customer.read
| Name | Type | Description |
|---|---|---|
card
|
string |
|
phone
|
string |
open_checks read
Open and billed restaurant checks as rows, oldest first: table or tab, waiter, covers, state, total and minutes open, without their lines (spec RESTAURANT.md, Checks).
Roles store ·
Permission store:
check.use
| Name | Type | Description |
|---|---|---|
state
|
"open" | "billed" |
|
waiter_id
|
string (uuid) |
|
table_id
|
string (uuid) |
|
limit
|
integer |
partner_report read
Partners over [from, to) (RFC 3339 instants): receipts with their codes, revenue, cost, margin, commission and the margin left after it; at the hub by store, optionally for one store (spec REPORTS.md, Partners).
Roles store, hub ·
Permission store:
report.read; hub:
report.read
| Name | Type | Description |
|---|---|---|
from required
|
string (date-time) |
|
to required
|
string (date-time) |
|
store_id
|
string (uuid) |
propose_dashboard write
Propose saving a dashboard document (spec DASHBOARDS.md) as the organization's; a person approves it in the console. The document is checked now: a bad one is refused with its path and reason.
Roles hub ·
Permission hub:
dashboard.manage
| Name | Type | Description |
|---|---|---|
dashboard required
|
object |
propose_item_names write
Propose new names of an item in some languages (two-letter codes; en is the default language); the other languages stay. A person approves it in the app.
Roles store, hub ·
Permission store:
item.edit; hub:
item.edit
| Name | Type | Description |
|---|---|---|
item_id required
|
string (uuid) |
|
names required
|
object |
propose_prices write
Propose new retail prices in minor units. In a store: one price change document, posted when a person approves it. At the hub: each line names the store whose price changes. Give a short reason.
Roles store, hub ·
Permission store:
price.edit, document.edit, document.post; hub:
price.edit
| Name | Type | Description |
|---|---|---|
lines required
|
array of object |
|
reason
|
string |
propose_purchase_order write
Propose a purchase order to a supplier, sent when a person approves it: lines of items and quantities in thousandths of the item's unit, an optional expected cost per unit and delivery date (spec STOCK.md, Purchase orders).
Roles store ·
Permission store:
document.edit, document.post, purchase.manage
| Name | Type | Description |
|---|---|---|
supplier_id required
|
string (uuid) |
|
expected_on
|
string (date) |
|
lines required
|
array of object |
|
comment
|
string |
propose_transfer write
Propose a transfer of stock to another store of the chain, shipped when a person approves it: lines of items and quantities in thousandths of the item's unit, a batch optionally named (spec STOCK.md, Transfers).
Roles store ·
Permission store:
document.edit, document.post, transfer.ship
| Name | Type | Description |
|---|---|---|
to_store_id required
|
string (uuid) |
|
lines required
|
array of object |
|
comment
|
string |
propose_write_off write
Propose writing stock off (expired, damaged, lost) as one write-off document, posted when a person approves it. Quantities are in thousandths of the item's unit; a batch may be named.
Roles store ·
Permission store:
document.edit, document.post
| Name | Type | Description |
|---|---|---|
lines required
|
array of object |
|
reason required
|
string |
purchase_orders_due read
Purchase orders that are sent or partly received, with what each line ordered, what arrived and what is still due, optionally for one supplier (spec STOCK.md, Purchase orders).
Roles store ·
Permission store:
document.read
| Name | Type | Description |
|---|---|---|
supplier_id
|
string (uuid) |
rollout_status read
The chain's latest release rollout, or the one named: its release, state, waves and gate, and each store as a row with its wave, update state, gate status, versions and error (spec RELEASES.md, Rollouts). Read only: starting, pausing or rolling back a rollout is a person's in the console.
Roles hub ·
Permission hub:
release.read
| Name | Type | Description |
|---|---|---|
rollout_id
|
string (uuid) |
sales_report read
The store's sales report over [from, to) (RFC 3339 instants) by day, employee, item, group or tender: receipts, refunds, gross, discounts, net, tax, revenue, cost, margin, tips (spec REPORTS.md).
Roles store ·
Permission store:
report.read
| Name | Type | Description |
|---|---|---|
from required
|
string (date-time) |
|
to required
|
string (date-time) |
|
group_by required
|
"day" | "employee" | "item" | "group" | "tender" |
search_items read
Search the catalog by meaning in any language, and by name, SKU, PLU or barcode; optionally in one group or with one tag. Exact matches come first. Uses semantic search where the node has it (spec/SEARCH.md), the exact search otherwise. Answers up to limit items with their ids.
Roles store, hub ·
Permission store:
item.read; hub:
item.read
| Name | Type | Description |
|---|---|---|
query required
|
string |
|
group_id
|
string (uuid) |
|
tag_id
|
string (uuid) |
|
limit
|
integer |
stock read
The store's stock report: per item on hand, held, available, lots, the nearest expiry and the value at cost; for some items, one group, or only those below zero (spec REPORTS.md).
Roles store ·
Permission store:
report.read
| Name | Type | Description |
|---|---|---|
item_ids
|
array of string (uuid) |
|
group_id
|
string (uuid) |
|
below_zero
|
boolean |
stock_in_transit read
Stock on its way between the chain's stores: each line of a shipped, not yet received transfer with its quantity, cost and stores; at the hub for the chain or one store (spec STOCK.md, Transfers).
Roles store, hub ·
Permission store:
stock.read; hub:
stock.read
| Name | Type | Description |
|---|---|---|
store_id
|
string (uuid) |