POS System MCP Tools

POS System MCP tools follow a retail operations workflow across stores, registers, hardware, staff permissions, product pricing, promotions, member points, inventory sync, O2O pickup, sales payments, refunds and exchanges, shifts, offline queues, daily Z-Reports, sales analytics, and operation audit logs.

pos.config.get

read

Read POS settings, timezone, tax, currency, supported payment methods, offline mode, and sync strategy.

-

Read-only; no approval required.

Never returns payment keys, terminal secrets, or staff passwords.

pos.stores.list

read

List stores, operating state, branch warehouse, O2O pickup capability, and current sync state.

pos.config.get

Read-only.

Shows authorized stores only.

pos.store.get

read

Read one store's register settings, hours, payment devices, stock location, and daily close state.

pos.stores.list

Read-only.

Does not expose device credentials or payment secrets.

pos.registers.list

read

List registers, cash drawers, tablet login state, current shifts, and last sync time.

pos.store.get

Read-only.

Does not return device login tokens.

pos.devices.list

read

List printers, scanners, cash drawers, card terminals, label printers, and connectivity.

pos.registers.list

Read-only.

Shows device state and model, not pairing secrets.

pos.staff_sessions.list

read

List staff logins, current shifts, register activity, and unfinished transactions.

pos.registers.list

Read-only.

Staff personal data is role-masked.

pos.permission_rules.get

read

Read permission rules for refunds, price changes, voids, cash drawer open, daily close, and offline sync.

pos.config.get

Read-only.

AI must follow permission rules and cannot replace manager approval.

pos.products.search

read

Search POS products by barcode, SKU, category, store, price, stock, or promotion state.

pos.store.get

Read-only.

Paginated; supplier cost is not exposed.

pos.product.get

read

Read product barcode, price, tax, promotions, stock, eligible stores, and register sync state.

pos.products.search

Read-only.

Reads product master and POS-saleable data only.

pos.prices.get

read

Read global, store, weekend, member prices, and active periods.

pos.product.get

Read-only.

No price changes; for preview comparison only.

pos.promotion_rules.list

read

List bundle, add-on, discount, member offer, and cashier note rules.

pos.prices.get

Read-only.

Does not enable or disable promotions.

pos.members.search

read

Search members by phone, member ID, or email for checkout lookup, registration, or point redemption.

pos.permission_rules.get

Read-only.

Member data is masked by cashier permissions.

pos.member.get

read

Read member state, points, tier, ecommerce purchase summary, and available offers.

pos.members.search

Read-only.

Avoids unnecessary personal data and full ecommerce order details.

pos.inventory_status.list

read

Read sellable stock, reservations, and sync differences across stores, ecommerce, and warehouses.

pos.products.search

Read-only.

Shows authorized store and warehouse stock only.

pos.online_pickup_orders.list

read

List ecommerce orders for in-store pickup, pending verification, partial pickup, and exception states.

pos.store.get

Read-only.

Customer data is minimized for pickup workflow.

pos.sales.list

read

List sales by store, date, staff, member, payment method, or state.

pos.store.get

Read-only.

Transactions are paginated and permission-filtered.

pos.sale.get

read

Read sale lines, payments, discounts, member, invoice, refunds, and stock deduction state.

pos.sales.list

Read-only.

Card and payment-sensitive fields must be masked.

pos.payments.list

read

List cash, card, FPS, PayMe, QR code payments and reconciliation state.

pos.sales.list

Read-only.

No card number, full transaction secret, or gateway credential.

pos.shifts.list

read

List open/close shifts, cash counts, staff, registers, and variance records.

pos.registers.list

Read-only.

Shows authorized staff and store shifts only.

pos.offline_queue.list

read

List offline-stored transactions, payments, member updates, and sync conflicts.

pos.registers.list

Read-only.

Does not replay the queue; reads state and conflicts only.

pos.daily_close.get

read

Read store daily close, Z-Report, payment totals, refunds, discounts, cash variance, and open items.

pos.shifts.list, pos.payments.list

Read-only.

Does not submit daily close; report only.

pos.sales_analytics.get

read

Read branch revenue, best sellers, payment mix, refund rate, time performance, and member sales.

pos.daily_close.get

Read-only.

Analytics are aggregated by management permission.

pos.audit_logs.list

read

List audit logs for price changes, refunds, voids, daily close, offline sync, and permission actions.

pos.permission_rules.get

Read-only.

Audit logs cannot be edited or deleted by AI.

pos.promotion_update.preview

preview

Preview weekend offers, bundles, add-ons, member discounts, and cashier note impact by product and store.

pos.promotion_rules.list, pos.products.search

Preview only; approval required before apply.

Shows products, periods, discounts, stacking rules, and rollback path.

pos.price_update.preview

preview

Preview POS product price, member price, store price, and active period changes.

pos.prices.get

Preview only; price changes need approval.

High-volume price changes need second confirmation.

pos.checkout_cart.preview

preview

Preview scanned cart price, discounts, tax, member points, split payments, and stock deduction.

pos.product.get, pos.member.get, pos.promotion_rules.list

Preview only; confirm before sale.create.

Prevents wrong price, out-of-stock, or incorrect member offer.

pos.refund_exchange.preview

preview

Preview refunds, returns, exchanges, e-receipt verification, payment reversal, and stock restock impact.

pos.sale.get

Preview only; refund or exchange needs permission approval.

Cannot refund unverified or already fully refunded sales again.

pos.stock_sync.preview

preview

Preview stock differences after store sales, ecommerce stock, transfers, and offline transaction sync.

pos.inventory_status.list, pos.offline_queue.list

Preview only; differences require confirmation before sync.

Labels source timestamp to avoid stale stock overwrites.

pos.daily_close.preview

preview

Preview sales, payments, refunds, cash variance, unsynced transactions, and Z-Report before daily close.

pos.daily_close.get, pos.offline_queue.list

Preview only; manager or finance approval required before submit.

Cannot auto-close when unsynced transactions or payment variances exist.

pos.sale.create

write

Create sale, lock price and discounts, calculate tax, deduct stock, and generate receipt data.

pos.checkout_cart.preview

Cashier may execute by permission; high-risk discounts require manager approval.

Checks price, stock, member, and payment state before write.

pos.sale.void

write

Void eligible sales with reason, staff, manager approval, and stock reversal.

pos.sale.get, pos.permission_rules.get

Usually requires manager approval.

Paid or closed-day transactions use refund flow, not direct void.

pos.refund.create

write

Create approved refund with payment reversal, stock restock, point reversal, and e-receipt record.

pos.refund_exchange.preview

Requires authorized staff or manager approval.

Prevents duplicate refunds and amounts exceeding original sale.

pos.exchange.create

write

Create exchange record with returned item, replacement item, price difference, and stock adjustment.

pos.refund_exchange.preview

Approval follows return/exchange policy.

No exchange for policy-ineligible or unverified receipts.

pos.payment.capture

write

Record or initiate payment capture for cash, card, FPS, PayMe, QR code, and related methods.

pos.checkout_cart.preview

Executed by cashier payment permission.

Does not store full card data; result must be reconcilable.

pos.payment_reconciliation.record

write

Record payment batch reconciliation result, variance reason, finance note, and handling state.

pos.payments.list, pos.daily_close.preview

Finance or manager approval depends on variance size.

Does not rewrite original payment transactions; appends reconciliation record.

pos.member.upsert

write

Create or update member profile during checkout and sync CRM/ecommerce membership.

pos.members.search

Follows member data permission; important changes need confirmation.

Collects necessary data only and keeps consent record.

pos.member_points.adjust

write

Adjust, redeem, reverse, or grant member points with reason and linked sale.

pos.member.get, pos.permission_rules.get

Manual point adjustment requires authorized approval.

Prevents duplicate grants or unauthorized deductions.

pos.price_update.apply

write

Apply approved POS prices, store prices, member prices, or time-window prices.

pos.price_update.preview

Requires human approval; bulk price changes need second confirmation.

Writes by diff and keeps rollback version.

pos.promotion_rule.upsert

write

Create or update approved promotion rules, discount windows, cashier notes, and store scope.

pos.promotion_update.preview

Requires approval covering products, period, stores, and stacking rules.

Cannot enable unapproved or conflicting promotions.

pos.product_sync_to_registers.run

write

Sync products, barcodes, prices, promotions, tax, and cashier notes to selected registers.

pos.price_update.preview, pos.promotion_update.preview

Requires approval by store scope.

Checks register online state and version before sync.

pos.inventory_deduction.sync

write

Sync stock deduction or restock from store sales, refunds, exchanges, and offline transactions to ecommerce and warehouses.

pos.stock_sync.preview

Difference sync requires source and timestamp confirmation.

Prevents stale transactions overwriting newer stock and keeps sync batch record.

pos.online_pickup.fulfil

write

Fulfil ecommerce pickup orders, updating pickup state, stock, member record, and receipt.

pos.online_pickup_orders.list

Executed by store staff with pickup permission.

Requires order, customer proof, and unfulfilled state checks.

pos.shift.open

write

Open a shift for staff, register, and cash drawer with opening cash and device state.

pos.registers.list, pos.staff_sessions.list

Follows staff shift permission.

A register cannot have duplicate open shifts.

pos.shift.close

write

Close shift with cash count, payment summary, variance, unfinished transactions, and staff confirmation.

pos.shifts.list, pos.payments.list

Variance above threshold requires manager approval.

Cannot silently close with unsynced transactions.

pos.cash_movement.record

write

Record cash in/out, change, petty cash, or drawer adjustment reason.

pos.shifts.list

Follows cash permission; large movements require approval.

Logs staff, time, amount, and reason audit.

pos.device_pairing.update

write

Update register pairing with printer, scanner, cash drawer, or payment terminal.

pos.devices.list

Requires admin approval or device-pairing permission.

Does not return or store plaintext pairing secrets.

pos.store_status.update

write

Update store open, paused, maintenance, temporary pop-up, or O2O pickup state.

pos.store.get

Requires store management permission.

State changes log reason and impacted channels.

pos.offline_queue.sync

write

Sync offline transactions, payments, member updates, and stock deductions to cloud, resolving conflicts.

pos.offline_queue.list, pos.stock_sync.preview

Conflicts or high-value transactions require human confirmation.

Runs by queue order and idempotency to avoid duplicate transactions.

pos.daily_close.submit

write

Submit store daily Z-Report and lock sales, payments, refunds, cash variance, and report version.

pos.daily_close.preview, pos.shift.close

Requires manager or finance approval.

Requires no unresolved offline queue or material reconciliation variance.

pos.action_request.status

status

Check approval and execution state for POS writes, syncs, price changes, refunds, daily close, or device pairing requests.

related write endpoint

Status checks do not require approval.

Checks state only and never re-runs transactions or sync.