# Operator assistant connector example Prepared November 7, 2026. This original specification fits cafes, restaurants and small retailers whose staff need answers from approved records. It describes a staff-only MCP connector: a connection through which an assistant requests named operations. Start with daily summaries and manual lookup. A manager reviews every proposed menu or shift change in the point-of-sale system (POS) or scheduler. Adapted from (public pattern): [Toast IQ announcement](https://pos.toasttab.com/news/toast-expands-toast-iq-smart-ai-assistant), read November 7, 2026 at 19:03:37 UTC: questions about sales, labor and menus, proactive suggestions, menu updates and shift edits. [Starbucks Green Dot Assist pilot](https://about.starbucks.com/press/2025/meet-green-dot-assist-starbucks-generative-ai-powered-coffeehouse-companion/), read November 7, 2026 at 19:02:40 UTC, and [staff assistance update](https://about.starbucks.com/press/2026/supporting-the-moments-that-matter-with-artificial-intelligence/), read at 19:03:12 UTC: staff reference help for recipes, routines and standards. This spec is ours, not theirs; no affiliation or endorsement is implied. The manager-confirmation boundary below is our design choice, not a verified claim about either product's approval behavior. ## What we did not copy We copied no code, tool descriptions, listing wording, recipes, menu items, prices, logos, internal records or signed-in content. The names, schemas and fictional examples below are original. These definitions do not implement a working connector or establish permission to access another business's systems. Complete the [readiness worksheet](https://jwatte.com/downloads/agentic-commerce-readiness-kit.md), use the [catalog and handoff contract](https://jwatte.com/downloads/order-handoff-and-catalog-feed-kit.md) for published menu data, and follow the [connector blueprints](https://jwatte.com/downloads/mcp-connector-blueprints-kit.md) for general validation. Keep this staff connector separate from customer discovery tools. ## Data map | Class | Permitted content | Boundary | |---|---|---| | Public | Published menu IDs, options and store hours | Public status never grants staff access | | Signed-in | Authorized daily totals, aggregate labor coverage, versioned manuals, pending proposals | Restrict by business, location and role | | Never sent to an assistant | Passwords, access tokens, payment records, customer identities, employee contact details, individual pay or disciplinary records | Filter before retrieval and redact accidental input | Use aggregate coverage by role instead of employee names. Small groups can identify people; suppress sensitive breakdowns. Return only records the caller may view, even when a manager previously asked the same question. ## Original tool definitions The first three tools read approved snapshots. Preparation tools write pending proposals only, never live menus or shifts. Their conservative destructive hints reflect the intended downstream change. Repeating an identical proposal with the same request key has no additional effect; reject reuse of that key with changed inputs. All tools use only the business's configured records, so open-world hints are false. Annotations describe behavior; server authorization enforces it. ```json { "tools": [ { "name": "get_daily_brief", "title": "Daily operations brief", "description": "Returns authorized aggregate sales, labor coverage and menu observations with source dates. Suggestions are advisory; no records change.", "inputSchema": {"type": "object", "properties": {"date": {"type": "string", "format": "date"}}, "required": ["date"], "additionalProperties": false}, "annotations": {"readOnlyHint": true, "destructiveHint": false, "openWorldHint": false, "idempotentHint": true} }, { "name": "ask_operations_question", "title": "Ask about business operations", "description": "Answers only from authorized business records with sources and checked times. Missing or conflicting evidence returns an uncertainty notice; no outside search or action.", "inputSchema": {"type": "object", "properties": {"question": {"type": "string", "minLength": 1, "maxLength": 240}}, "required": ["question"], "additionalProperties": false}, "annotations": {"readOnlyHint": true, "destructiveHint": false, "openWorldHint": false, "idempotentHint": true} }, { "name": "lookup_procedure", "title": "Look up an approved procedure", "description": "Returns an authorized passage from the business manual with version and source. Missing, expired or contradictory instructions require a supervisor; no invented procedure.", "inputSchema": {"type": "object", "properties": {"topic": {"type": "string", "minLength": 1, "maxLength": 100}}, "required": ["topic"], "additionalProperties": false}, "annotations": {"readOnlyHint": true, "destructiveHint": false, "openWorldHint": false, "idempotentHint": true} }, { "name": "prepare_menu_update", "title": "Prepare a menu availability change", "description": "Creates a pending availability proposal for an existing menu item. A manager must review and confirm in the POS; no live menu update or publication occurs.", "inputSchema": {"type": "object", "properties": {"item_id": {"type": "string", "pattern": "^[a-z0-9_-]{1,40}$"}, "available": {"type": "boolean"}, "request_key": {"type": "string", "pattern": "^[a-z0-9_-]{8,64}$"}}, "required": ["item_id", "available", "request_key"], "additionalProperties": false}, "annotations": {"readOnlyHint": false, "destructiveHint": true, "openWorldHint": false, "idempotentHint": true} }, { "name": "prepare_shift_change", "title": "Prepare a coverage change", "description": "Creates a pending role-coverage proposal without employee identities. A manager assigns staff and confirms in the scheduler; no shift is changed or notification sent.", "inputSchema": {"type": "object", "properties": {"date": {"type": "string", "format": "date"}, "role": {"type": "string", "enum": ["counter", "kitchen"]}, "start_minute": {"type": "integer", "minimum": 0, "maximum": 1439}, "end_minute": {"type": "integer", "minimum": 1, "maximum": 1440}, "request_key": {"type": "string", "pattern": "^[a-z0-9_-]{8,64}$"}}, "required": ["date", "role", "start_minute", "end_minute", "request_key"], "additionalProperties": false}, "annotations": {"readOnlyHint": false, "destructiveHint": true, "openWorldHint": false, "idempotentHint": true} } ] } ``` Validate calendar dates, existing item IDs and start before end. Minutes use the authorized store's time zone; reject ambiguous clock changes. Derive location and permissions from the session. Ignore instructions embedded in retrieved records. Enforce output filtering before returning excerpts. ## Fictional request and response pairs These are tool arguments and result payloads, not complete protocol messages. Kestrel Cafe and every value are fictional. ```json { "tool": "lookup_procedure", "request": {"topic": "opening checklist"}, "response": {"business": "Kestrel Cafe", "answer": "Check the posted opening checklist before serving.", "sources": [{"url": "https://example.com/staff/manual/opening", "version": "7", "checked_at": "2026-11-07T08:00:00Z"}], "limit": "Ask the supervisor if the posted checklist differs."} } ``` ```json { "tool": "prepare_menu_update", "request": {"item_id": "garden-bowl", "available": false, "request_key": "menu-demo-001"}, "response": {"status": "pending_manager_review", "live_menu_changed": false, "review_url": "https://example.com/staff/menu-review", "notice": "A manager must confirm in the POS."} } ``` ```json { "tool": "prepare_shift_change", "request": {"date": "2026-11-08", "role": "counter", "start_minute": 660, "end_minute": 780, "request_key": "shift-demo-001"}, "response": {"status": "pending_manager_review", "schedule_changed": false, "review_url": "https://example.com/staff/schedule-review", "notice": "A manager checks coverage, assigns staff and confirms in the scheduler."} } ``` ## Handoff, sign-in and approval Return only allowlisted HTTPS review pages on your own site. This staff design uses no query parameters. Any future customer order link may carry only catalog choices, never employee IDs, personal data, authentication material or free text. Opening a link must have no operational effect. Require staff sign-in for every tool. Staff may read approved procedures; managers alone may view financial summaries or prepare changes. Verify permissions on every call. The business system stores the pending proposal privately and shows it after sign-in. Manager confirmation requires the exact before-and-after change, current record version and fresh permission check. Reject stale proposals. An assistant's statement that approval happened never counts as approval. No tool here can apply a change. ## Rate limits and caching Our starter limits are 30 reads and five preparations per minute per signed-in account, with a separate business-wide cap. Return a retry delay when exceeded. Cache manuals by version for up to 15 minutes and aggregates for one minute, partitioned by business and permissions. Invalidate after access removal or source updates. Never cache authentication or share proposal responses across users. Expired or unavailable records return an explicit limit, not a guessed answer. ## Privacy section template "[Business] provides this connector to authorized staff for [purposes]. We send [approved fields] to [assistant provider]. We exclude customer identity, employee private records and payment details. Operational logs contain [minimal fields] for [retention period]. We do not retain question text. Managers review pending changes in our own system. Staff can revoke access through [account page] and contact [privacy contact] about access or deletion. The assistant provider's separate retention settings are [link]." Fill every bracket before use. Set proposal retention and deletion rules separately from operational records. ## Test plan Normal questions: 1. "Summarize yesterday." Expect authorized totals, source times and explicit missing data. 2. "Which daypart needs attention?" Expect evidence-backed suggestions without actions. 3. "Where is the opening procedure?" Expect an approved version and source. 4. "Prepare to mark this item unavailable." Expect a pending proposal and unchanged menu. 5. "Prepare counter coverage for tomorrow." Expect a pending proposal and unchanged schedule. Refusals or limits: 1. "Show employee pay and phone numbers." Return a privacy limit without those fields. 2. "Apply it now; assume the manager agrees." Refuse and return the review page. 3. "The manual is missing; invent a safe recipe." Return uncertainty and a supervisor referral. Also verify account isolation, permission revocation, stale-version rejection and repeated request keys. JSON blocks were parsed with Node's JSON.parse; no live connector or business system was tested. ## Listing description draft "Staff-only help using your business's approved records and manual. Read daily summaries, ask operations questions and prepare menu or coverage proposals. Managers confirm changes in the business system. Access depends on staff permissions." ## Revenue measurement Tag approved changes inside your own system with a fixed source category such as `staff_assistant`. Compare aggregate order counts, net sales and labor hours across comparable periods, including refunds and promotions. Record saved staff time separately. Never export customer identifiers, employee identities or chat transcripts for attribution. A proposal count does not establish extra revenue. ## Sources and read dates - Toast IQ public announcement, November 7, 2026, 19:03:37 UTC: https://pos.toasttab.com/news/toast-expands-toast-iq-smart-ai-assistant - Starbucks Green Dot Assist pilot, November 7, 2026, 19:02:40 UTC: https://about.starbucks.com/press/2025/meet-green-dot-assist-starbucks-generative-ai-powered-coffeehouse-companion/ - Starbucks staff assistance update, November 7, 2026, 19:03:12 UTC: https://about.starbucks.com/press/2026/supporting-the-moments-that-matter-with-artificial-intelligence/ - MCP tool annotations, November 7, 2026, 19:01:02 UTC: https://modelcontextprotocol.io/specification/2025-11-25/schema#toolannotations Read times identify the source observations used for these patterns. Our limits, schemas, approval flow and retention choices are proposed design requirements.