Clover POS
Clover POS for a single merchant: sales, inventory, orders, customers (reads + safe writes).
Connector by SBolivarLoL · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Clover POS?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/sbolivarlol-clover-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 41 read · 14 write · 0 delete · 1 not yet classified
- Secrets
- 3 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 56
Read from the source code; the running server may list different tools.
Read 41 · Look things up without changing anything.
detect_sales_anomaliesget_customerget_default_service_chargeget_employeeget_itemget_merchant_infoget_merchant_propertiesget_orderget_sales_by_employeeget_sales_by_hourget_sales_summaryget_tips_by_employee
Show 29 more tools
get_top_itemslist_active_shiftslist_attributeslist_cash_eventslist_categorieslist_creditslist_deviceslist_discountslist_employeeslist_item_groupslist_itemslist_low_stock_itemslist_modifierslist_open_orderslist_opening_hourslist_order_typeslist_orderslist_paymentslist_refundslist_roleslist_shiftslist_tagslist_taxeslist_tenderslist_tip_suggestionssearch_customerssuggest_item_categoriessummarize_saleswhoami
Write 14 · Create, change, send or run things.
add_line_itemapply_order_discountcreate_categorycreate_customercreate_itemcreate_modifiercreate_modifier_groupcreate_ordercreate_tagdraft_customer_messageset_item_price_centsset_item_stock_quantity
Show 2 more tools
update_customerupdate_item_name
Not yet classified 1 · We could not tell from the name and description.
inventory_reorder_suggestions
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
CLOVER_ACCESS_TOKENCLOVER_OAUTH_CLIENT_SECRETCLOVER_REFRESH_TOKEN
Other settings (environment variables or headers).
CLOVER_AUTH_MODECLOVER_MERCHANT_IDCLOVER_OAUTH_CLIENT_IDCLOVER_REGIONCLOVER_SANDBOX
Tools (56)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_line_itemModifies merchant data. Add a catalog item as a line item to an order. Name/price are copied from the catalog item. Previews on dry_run; confirms via MCP elicitation or confirm=True before writing. Requires ORDERS_W. No payment.
apply_order_discountModifies merchant data. Apply an order-level discount. Exactly one of percentage (1-100), amount_cents (1-100_000_000, positive — Clover requires a negative amount on the wire, this tool negates it for you), or catalogue_discount_id must be given. Catalogue discounts are resolved client-side (name + percentage/amount fetched from list_discounts and sent inline). Previews on dry_run (includes current discounts + a client-computed line-item subtotal — Clover has no computed order total); confirms via MCP elicitation or confirm=True before writing. Requires ORDERS_W.
create_categoryModifies merchant data. Create a new inventory category. Previews on dry_run; confirms via your client's prompt (MCP elicitation) or confirm=True before writing. Requires INVENTORY_W.
create_customerModifies merchant data. Create a new customer record in Clover. Idempotency guard: searches for an existing customer with the same email or phone before creating. If a match is found and confirm_duplicate is False, the call is refused and the existing match is returned. dry_run=True returns the would-be POST payload without sending it. Requires CUSTOMERS_R (duplicate check) and CUSTOMERS_W (write).
create_itemModifies merchant data. Create a new inventory item (name + price in cents). Bounds 0–100_000_000 cents. Previews on dry_run; confirms via MCP elicitation or confirm=True before writing. Requires INVENTORY_W.
create_modifierModifies merchant data. Create a new modifier within a modifier group. Pre-check: verifies the modifier group exists (404 -> clear error). Bounds: 0 <= price_cents <= 100_000_000. Previews on dry_run; confirms via MCP elicitation or confirm=True before writing. Requires INVENTORY_W.
create_modifier_groupModifies merchant data. Create a new modifier group (e.g. "Milk options"). Duplicate guard: refuses if a group with the same name (case-insensitive) already exists. Previews on dry_run; confirms via MCP elicitation or confirm=True before writing. Requires INVENTORY_W.
create_orderModifies merchant data. Create a new open order (no line items, no payment). Previews on dry_run; confirms via MCP elicitation or confirm=True before writing. Add items with add_line_item. Requires ORDERS_W.
create_tagModifies merchant data. Create a new tag/label used to group items. Duplicate guard: refuses if a tag with the same name (case-insensitive) already exists. Previews on dry_run; confirms via MCP elicitation or confirm=True before writing. Requires INVENTORY_W.
detect_sales_anomaliesAI: flag unusual refund / discount / sales patterns in a window (default: today). Read-only analysis. Needs a sampling-capable client (graceful fallback otherwise). Requires PAYMENTS_R and ORDERS_R.
draft_customer_messageAI: draft a customer message (promo / win-back / thank-you) for the given intent. Returns a DRAFT only — never sends anything. Needs a sampling-capable client (graceful fallback otherwise). Requires CUSTOMERS_R.
get_customerReturn a single customer by ID. Pass include=["addresses"] or include=["orders"] to opt in to optional fields. Cards are never returned. Requires CUSTOMERS_R.
get_default_service_chargeReturn the merchant's default service charge configuration (name, enabled, percentage). Requires MERCHANT_R.
get_employeeReturn a single employee by ID (PINs never returned). Requires EMPLOYEES_R.
get_itemReturn a single inventory item by ID, including stock quantity. Pass include=["modifier_groups"], ["tax_rates"], ["categories"], and/or ["tags"] to opt in to those association details. Requires INVENTORY_R.
Show 41 more tools
get_merchant_infoReturn key information about this Clover merchant. Includes name, address, currency, timezone, country, and business type. Also primes the internal currency and timezone cache used by all other tools.
get_merchant_propertiesReturn the merchant's POS configuration (currency, tips, stock tracking, closeout, locale, support contacts). Banking/account fields are never returned. Requires MERCHANT_R.
get_orderFetch a single order by ID, including line items and payment summary. Expands lineItems and payments only. Customer card data never expanded. Returns a 404 error if the order_id does not exist. This tool is read-only.
get_sales_by_employeeReturn gross sales grouped by employee for a date window (default: today). Requires PAYMENTS_R; employee name enrichment additionally requires EMPLOYEES_R (degrades to IDs-only with a note if not granted).
get_sales_by_hourReturn gross sales bucketed by local hour-of-day for a single day (default: today). Buckets use the merchant's local timezone, falling back to UTC with a note if unavailable. Requires PAYMENTS_R.
get_sales_summaryReturn an aggregated sales summary for the given date window. Defaults to today (UTC) when no dates are supplied. Uses 90-day chunking so multi-month or full-year queries work transparently (emits progress logs when more than one window is scanned). Rules: only result=SUCCESS payments counted; voids/refunds reported separately; tips, taxes broken out; offline payments flagged; currency from merchant record. This tool does NOT support payment capture, refund, or void actions.
get_tips_by_employeeReturn a tip-out sheet: tips collected grouped by employee (default: today). Requires PAYMENTS_R; employee name enrichment additionally requires EMPLOYEES_R (degrades to IDs-only with a note if not granted).
get_top_itemsReturn the best-selling items in a date window, ranked by units sold. Defaults to today (UTC); 90-day chunked. Each line item counts as one unit. Requires ORDERS_R.
inventory_reorder_suggestionsAI: prioritized reorder list — low-stock items crossed with sales velocity. Read-only suggestion. Needs a sampling-capable client (graceful fallback otherwise). Requires INVENTORY_R and ORDERS_R.
list_active_shiftsReturn currently open shifts (clocked in, not out) across all employees. Requires EMPLOYEES_R.
list_attributesReturn item attributes (variant axes like Size/Color) with options. Requires INVENTORY_R.
list_cash_eventsReturn recent cash-drawer events (paid in/out, no-sale, deposits). Capped at `limit` (default 50, max 500). Requires MERCHANT_R.
list_categoriesReturn all inventory categories. Requires INVENTORY_R.
list_creditsReturn the merchant's credits (store/account-credit adjustments, up to 1000). Element shape is unverified (sandbox has none provisioned) — shaped conservatively. Requires PAYMENTS_R.
list_devicesReturn the merchant's Clover devices/terminals. Requires MERCHANT_R.
list_discountsReturn the merchant's discount catalogue (fixed-amount or percentage). Requires INVENTORY_R.
list_employeesReturn a page of employees (PINs never returned). Requires EMPLOYEES_R.
list_item_groupsReturn item groups (sets of item variants, e.g. size/color). Requires INVENTORY_R.
list_itemsReturn a page of inventory items. Filter by name (query) or category (category_id). Requires INVENTORY_R. fields: optional list of field names to keep (narrows the response; cannot widen past the allowlist).
list_low_stock_itemsReturn all items whose stock quantity is at or below threshold. Items with no stock tracking are excluded. Requires INVENTORY_R.
list_modifiersReturn all modifier groups with their modifiers. Requires INVENTORY_R.
list_open_ordersReturn all currently open orders for this merchant (up to 200). Convenience wrapper — no date filter, state=open only. Customer card data is never included. This tool is read-only.
list_opening_hoursReturn the merchant's opening-hours sets (per-day time ranges). Requires MERCHANT_R.
list_order_typesReturn the merchant's order types (Dine In, Take Out, …). Requires MERCHANT_R.
list_ordersList orders within an optional date window and/or state filter (default: today, limit 50). state: open | paid | refunded | partially_refunded (omit for all states). Customer card data is never included. This tool is read-only. fields: optional list of field names to keep (narrows the response; cannot widen past the allowlist).
list_paymentsList payments within an optional date window (default: today, limit 50). Only result=SUCCESS payments. Card transaction details never included. fields: optional list of field names to keep (narrows the response; cannot widen past the allowlist). This tool does NOT support payment capture, refund, or void actions.
list_refundsList refunds within an optional date window (default: today, limit 50). Clover refunds are separate objects with a positive amount (cents), not negative payments. Card/transaction detail is never included. Requires PAYMENTS_R. This tool does NOT issue refunds.
list_rolesReturn the merchant's employee roles (name + system role category). Requires EMPLOYEES_R.
list_shiftsList shifts, optionally by employee and/or date window. Requires EMPLOYEES_R. Without employee_id, aggregates shifts across all employees.
list_tagsReturn the merchant's tags/labels used to group items. Requires INVENTORY_R.
list_taxesReturn the merchant's tax rates (raw rate + computed percent). Requires INVENTORY_R.
list_tendersReturn the merchant's tender types (payment methods: cash, credit, custom). Requires MERCHANT_R.
list_tip_suggestionsReturn the merchant's tip-suggestion presets (percentage or flat amount). Requires MERCHANT_R.
search_customersSearch customers by full name (query), phone, or email. Cards are never returned. Requires CUSTOMERS_R. fields: optional list of field names to keep (narrows the response; cannot widen past the allowlist).
set_item_price_centsModifies merchant data. Set an item's price (in cents, absolute value). Optimistic lock: refuses the write unless the item's current price equals expected_current_price_cents (prevents stale-context overwrites). Bounds: 0 <= new_price_cents <= 100_000_000. dry_run=True previews the PUT body (still performs one read to fetch current price/name) and never writes. Requires INVENTORY_R and INVENTORY_W.
set_item_stock_quantityModifies merchant data. Set an item's stock to an ABSOLUTE quantity (not a delta). Optimistic lock: refuses unless current stock equals expected_current_quantity. Bounds: 0 <= new_quantity <= 1_000_000. dry_run=True previews the PUT body (still performs one read to fetch current stock) and never writes. Requires INVENTORY_R and INVENTORY_W.
suggest_item_categoriesAI: suggest categories for uncategorized items from the merchant's own taxonomy. Suggestion only — applying a category is a separate, confirmed write. Needs a sampling-capable client (graceful fallback otherwise). Requires INVENTORY_R.
summarize_salesAI: plain-language sales briefing for a date window (default: today). Gathers the sales summary + top items, then asks your client's model to write a short narrative. Read-only suggestion. Needs a sampling-capable client; if yours can't sample, returns the raw data with a note. Requires ORDERS_R/PAYMENTS_R.
update_customerModifies merchant data. Update a customer's name and/or marketing opt-in. Only the fields you pass change. Previews on dry_run; confirms via MCP elicitation or confirm=True before writing. Requires CUSTOMERS_W.
update_item_nameModifies merchant data. Rename an inventory item (price/other fields preserved). Optimistic lock: refuses unless the item's current name equals expected_current_name. Bounds: non-empty, <= 127 characters. dry_run=True previews the POST body (still performs one read) and never writes. Requires INVENTORY_R and INVENTORY_W.
whoamiread-onlyDiagnostic: who is this request authenticated as, and is a Clover tenant mapped to them? Returns the authenticated identity, the *names* of available token claims (never their values), scopes, and whether a tenant is provisioned — no Clover data and no secrets. Use it when setting up multi-tenant to discover which identity claim your platform (e.g. FastMCP Cloud / Horizon) actually provides, so you can key CLOVER_TENANTS_JSON correctly.
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 0
- Weekly downloads
- 89
- Last commit
- Sep 23, 2026 (1 month ago)
- Last release
- Jul 2, 2026 (4 months ago)
- Last package publish
- Jul 2, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.SBolivarLoL/clover-mcp- Version
- 0.7.0
- Auth
- API key
- Packages
- pypi clover-mcp
- License
- MIT
- Repository
- github.com/SBolivarLoL/clover-mcp-server
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Clover POS running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Clover POS MCP server. Agent Mart. https://agentmart.dev/connectors/sbolivarlol-clover-mcp (last updated 2026-10-24)