Agent operational workflows
These workflows require an authorised MCP connection. Discover the tools and
their schemas before acting. All example record identifiers are fictional.
Resolve the restaurant context
- If advertised, call
business_mcp_context with {} to read the selected
business. Otherwise use the connection’s authorised context. If the intended
business is ambiguous, ask the operator to clarify; do not guess an
identifier.
- Call
place_list with the schema-required business context.
- Match the requested location against returned records. Ask for clarification
if names are ambiguous.
- Keep the chosen business and location attached to subsequent calls and report
summaries. A location name alone is not a globally unique identifier.
Read bookings for a requested service
- Resolve the authorised location.
- Clarify the requested date and time zone when “today”, “tomorrow”, or “this
weekend” is ambiguous.
- Inspect
place_bookings_list's advertised schema. Apply only its supported
date, status, segment, and pagination fields.
- Fetch the requested range. Follow pagination or clearly state that the result
is partial.
- Summarise only the requested operational information. Avoid repeating guest
contact details or private notes when they are unnecessary.
Reading bookings does not check live seating availability or create a
reservation. Refer unsupported changes to the operator's
booking workflow.
Verify a read before summarising it
For each context, location, booking, or insight call, check the MCP error flag
and the actual structured envelope before using the data:
| Check | Required outcome |
|---|
| Tool and revision | The response belongs to the requested tool and the discovered contract. Rediscover after a schema or catalogue change. |
| Envelope status | Use returned data only after ok. A too_large response needs a narrower query; pending_approval is not completed work. |
| Restaurant context | Returned records belong to the authorised business and intended location. Stop on a mismatch. |
| Result shape | Validate advertised fields and narrow unconstrained results. Do not invent an items, total, or nextCursor field. |
| Retrieval coverage | Follow the operation's actual continuation information. If completion cannot be established, label the summary as partial. |
| Time and freshness | Keep the requested interval, time zone, retrieval time, and any returned computation time with the summary. |
Do not manufacture an empty result from a missing result field, an invalid
envelope, or a failed call. An empty successful page and unavailable data have
different meanings. If the operation does not establish how to continue, explain
the limit and hand off the unresolved question rather than increasing scope or
guessing a pagination strategy.
Example calls
These are MCP tools/call parameters, validated against the current local
advertised input schemas. All identifiers are fictional. Substitute authorised
returned identifiers and the requested interval; rediscover the connected
schemas before use.
{ "name": "business_mcp_context", "arguments": {} }
{
"name": "place_list",
"arguments": { "businessId": "example-business", "limit": 20 }
}
For a London service on 13 October 2026, the following UTC instants span the
local calendar day (UTC+01:00 on that date). Choose the operator's intended
service interval rather than assuming every trading day ends at midnight. Follow
the returned list's pagination contract to retrieve further pages.
{
"name": "place_bookings_list",
"arguments": {
"businessId": "example-business",
"placeId": "example-location",
"limit": 50,
"filter": {
"status": ["CONFIRMED", "ARRIVED"],
"startAt": {
"from": "2026-10-12T23:00:00Z",
"to": "2026-10-13T23:00:00Z"
}
},
"sort": { "field": "startAt", "direction": "asc" }
}
}
Read a customer brief
Discover insights_business, resolve the authorised business, and choose the
requested window from its actual schema. The current local schema accepts 7d,
30d, 90d, and 365d.
{
"name": "insights_business",
"arguments": { "businessId": "example-business", "window": "30d" }
}
Validate the result envelope and actual insight fields. Keep the selected window
and returned computation time with the summary. Missing or empty data is not a
reason to substitute the Console's Sample preview. Explain that member-linked
guest insight differs from all restaurant takings and a daily close. A
feature/precondition error needs the operator's supported setup path, not a
permission workaround.
Summarise only the guest information needed for the authorised request. A
follow-up suggestion does not authorise a call, email, discount or access to
another business's records. Do not claim that reading the brief or a visible
Mark handled control recorded contact. Use a discovered authorised tool and a
verified saved result if the operator explicitly requests a supported change.
- Resolve the authorised business and location.
- List or read the menu to establish its
collectionId and current notes.
- Confirm the target and exact new text, or the explicit request to clear it.
Do not rewrite unrelated menu information.
- Validate against the discovered update schema. Send the required restaurant
context and notes change only. Additional fields in a broader tool schema are
not permission to change them.
- Interpret the actual result. If approval is pending, say it is queued and
wait for the authorised approval path; do not report success.
- Refetch the same menu and compare the returned notes with the intended value.
Report a verified match, a pending result, or an unresolved difference.
Do not overwrite a newer edit to resolve an unexplained difference. Read the
current state and ask the operator how to proceed.
This example changes only notes using the current local schema. It intentionally
omits unrelated update fields. A different deployed schema can require different
context fields; do not copy this example without discovery.
{
"name": "place_menus_update",
"arguments": {
"placeId": "example-location",
"collectionId": "example-menu",
"notes": "Lunch menu available until 15:00."
}
}
Investigate stock without claiming a physical count
Resolve the requested location, then discover
place_stock_analytics_stockAnalysis. The current local contract requires the
authorised business and location; it compares recorded on-hand quantities with
configured par levels and reorder points.
{
"name": "place_stock_analytics_stockAnalysis",
"arguments": {
"businessId": "example-business",
"placeId": "example-location"
}
}
Apply the read-result checks above. Verify the returned units, currency, item
identity and configuration before interpreting a deviation or value. Missing
costs or targets are not zero, and recorded on-hand stock is not a fresh
physical count. Give the stock manager the specific items to investigate rather
than ordering, adjusting quantities, or marking a count complete.
For an explicitly requested comparison across the authorised business, discover
business_stock_crossLocation_dashboard. Do not broaden a single-location
question to every restaurant automatically.
{
"name": "business_stock_crossLocation_dashboard",
"arguments": { "businessId": "example-business" }
}
To review count-cadence alerts, discover business_stock_alert_overdueCount.
Its current contract uses each location's configured cadence, with a fallback
threshold where applicable. A seven-day fallback is not a universal count policy.
{
"name": "business_stock_alert_overdueCount",
"arguments": { "businessId": "example-business", "thresholdDays": 7 }
}
An overdue alert is an investigation prompt, not a count record or proof that
someone counted the shelves. Summarise only the requested locations and hand the
physical work to the responsible operator.
Hand off unsupported stock operations
The current local business catalogue has stock configuration, alert and report
tools, but does not advertise these operational actions:
Rediscover the connected catalogue before deciding what it supports. Report,
alert, proposal or prep-list tools do not perform these actions. In particular,
place_stock_adjust_openingBalance is initial stock setup; do not substitute it
for a count, delivery, waste entry or corrective adjustment. A write scope does
not make an absent workflow callable.
Hand over the authorised business/location, relevant item or document references,
observed result, physical checks still needed, and intended outcome. Keep supplier
contacts and operational records in authorised channels. Verify the operator's
saved result before reporting the stock task complete.
Help an operator with a printer or close of day
Identify the symptom, device, and working location. Read the relevant
operator troubleshooting guide and explain the steps. The
operator must perform physical checks and supported app actions. Do not claim to
inspect a printer, verify cash, or close a day without an available authorised
tool and a result establishing that action.
Stop when the request exceeds the connection
Stop on an unresolved identity, missing permission, unsupported tool, uncertain
financial outcome, or conflicting state. Explain what was verified and what the
authorised operator needs to check. Do not seek another tenant's context or
infer a private endpoint as a workaround.