Spree Commerce developer docs for AI agents
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
Clover POS for a single merchant: sales, inventory, orders, customers (reads + safe writes).
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
3/3 Prüfungen bestanden · Läuft auf deinem Computer
Zuerst: Welche KI nutzt du?
Wähle deine App, dann erscheinen die Schritte unten.
Klappt mit Claude, aber erst etwas vorbereiten
Du brauchst einen Schlüssel von Clover POS (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
Nur einmal; gilt für alle Server, die Python (uv) brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
SettingsDeveloperEdit Config
{
"mcpServers": {
"clover": {
"command": "uvx",
"args": [
"clover-mcp"
],
"env": {
"CLOVER_MERCHANT_ID": "your-value",
"CLOVER_ACCESS_TOKEN": "your-value",
"CLOVER_REGION": "your-value",
"CLOVER_SANDBOX": "your-value",
"CLOVER_AUTH_MODE": "your-value",
"CLOVER_REFRESH_TOKEN": "your-value",
"CLOVER_OAUTH_CLIENT_ID": "your-value",
"CLOVER_OAUTH_CLIENT_SECRET": "your-value"
}
}
}
}Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Nutze Clover POS und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude sagt, dass es Clover POS nutzt, oder ein Werkzeug von Clover POS in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
ChatGPT kann Clover POS noch nicht verbinden
Clover POS läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen
A · Eine App nutzen, die Clover POS verbinden kann
B · Andere in Onlineshops & Zahlungen, die mit ChatGPT funktionieren
Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden
Klappt mit Claude Code, aber erst etwas vorbereiten
Du brauchst einen Schlüssel von Clover POS (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Python (uv) brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
claude mcp add --scope user clover --env CLOVER_MERCHANT_ID=your-value --env CLOVER_ACCESS_TOKEN=your-value --env CLOVER_REGION=your-value --env CLOVER_SANDBOX=your-value --env CLOVER_AUTH_MODE=your-value --env CLOVER_REFRESH_TOKEN=your-value --env CLOVER_OAUTH_CLIENT_ID=your-value --env CLOVER_OAUTH_CLIENT_SECRET=your-value -- uvx clover-mcpErsetze „your-value“ vor dem Enter durch deinen Schlüssel
Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Clover POS sollte in der Liste als verbunden erscheinen
Nutze Clover POS und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude Code sagt, dass es Clover POS nutzt, oder ein Werkzeug von Clover POS in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Cursor, aber erst etwas vorbereiten
Du brauchst einen Schlüssel von Clover POS (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Python (uv) brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
In den Einstellungen von Clover POS ist CLOVER_MERCHANT_ID, CLOVER_ACCESS_TOKEN, CLOVER_REGION, CLOVER_SANDBOX, CLOVER_AUTH_MODE, CLOVER_REFRESH_TOKEN, CLOVER_OAUTH_CLIENT_ID, CLOVER_OAUTH_CLIENT_SECRET leer; trag deinen Schlüssel ein und speichere
Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Nutze Clover POS und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Cursor sagt, dass es Clover POS nutzt, oder ein Werkzeug von Clover POS in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit VS Code, aber erst etwas vorbereiten
Du brauchst einen Schlüssel von Clover POS (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Python (uv) brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
VS Code fragt nach einer Bestätigung; klicke Install
In den Einstellungen von Clover POS ist CLOVER_MERCHANT_ID, CLOVER_ACCESS_TOKEN, CLOVER_REGION, CLOVER_SANDBOX, CLOVER_AUTH_MODE, CLOVER_REFRESH_TOKEN, CLOVER_OAUTH_CLIENT_ID, CLOVER_OAUTH_CLIENT_SECRET leer; trag deinen Schlüssel ein und speichere
Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Nutze Clover POS und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn VS Code sagt, dass es Clover POS nutzt, oder ein Werkzeug von Clover POS in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Claude Code
claude mcp add --scope user clover --env CLOVER_MERCHANT_ID=your-value --env CLOVER_ACCESS_TOKEN=your-value --env CLOVER_REGION=your-value --env CLOVER_SANDBOX=your-value --env CLOVER_AUTH_MODE=your-value --env CLOVER_REFRESH_TOKEN=your-value --env CLOVER_OAUTH_CLIENT_ID=your-value --env CLOVER_OAUTH_CLIENT_SECRET=your-value -- uvx clover-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"clover": {
"command": "uvx",
"args": [
"clover-mcp"
],
"env": {
"CLOVER_MERCHANT_ID": "your-value",
"CLOVER_ACCESS_TOKEN": "your-value",
"CLOVER_REGION": "your-value",
"CLOVER_SANDBOX": "your-value",
"CLOVER_AUTH_MODE": "your-value",
"CLOVER_REFRESH_TOKEN": "your-value",
"CLOVER_OAUTH_CLIENT_ID": "your-value",
"CLOVER_OAUTH_CLIENT_SECRET": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"clover": {
"command": "uvx",
"args": [
"clover-mcp"
],
"env": {
"CLOVER_MERCHANT_ID": "your-value",
"CLOVER_ACCESS_TOKEN": "your-value",
"CLOVER_REGION": "your-value",
"CLOVER_SANDBOX": "your-value",
"CLOVER_AUTH_MODE": "your-value",
"CLOVER_REFRESH_TOKEN": "your-value",
"CLOVER_OAUTH_CLIENT_ID": "your-value",
"CLOVER_OAUTH_CLIENT_SECRET": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"clover": {
"type": "stdio",
"command": "uvx",
"args": [
"clover-mcp"
],
"env": {
"CLOVER_MERCHANT_ID": "your-value",
"CLOVER_ACCESS_TOKEN": "your-value",
"CLOVER_REGION": "your-value",
"CLOVER_SANDBOX": "your-value",
"CLOVER_AUTH_MODE": "your-value",
"CLOVER_REFRESH_TOKEN": "your-value",
"CLOVER_OAUTH_CLIENT_ID": "your-value",
"CLOVER_OAUTH_CLIENT_SECRET": "your-value"
}
}
}
}CLOVER_MERCHANT_ID erforderlich envCLOVER_ACCESS_TOKEN geheim erforderlich envCLOVER_REGION envCLOVER_SANDBOX envCLOVER_AUTH_MODE envCLOVER_REFRESH_TOKEN geheim envCLOVER_OAUTH_CLIENT_ID envCLOVER_OAUTH_CLIENT_SECRET geheim envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.
Laufen auf deinem Computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 12. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto SBolivarLoL bestätigt, dem das Repo gehört
Code zuletzt geändert: vor 2 Monaten
Nutzt MIT
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.
Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.
Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.
Noch keine Bewertungen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: CLOVER_MERCHANT_ID, CLOVER_ACCESS_TOKEN, CLOVER_REFRESH_TOKEN, CLOVER_OAUTH_CLIENT_SECRET
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt vor 2 Monaten geändert, und die neueste Version (0.7.0) kam vor 4 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Spree Commerce developer docs for AI agents, Stripe MCP, Sessy — Amazon SES observability
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
MCP server integrating with Stripe - tools for customers, products, payments, and more.
Read-only Amazon SES observability: search events, inspect bounces, pull delivery stats.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
MCP server for the Clover POS REST API — gives AI assistants (Claude, Cursor, etc.) read and safe-write access to a Clover merchant's sales, inventory, orders, and customers.
Status: v0.7.0 released; working tree (unreleased) — 56 tools, 6 prompts, both auth modes, 399 tests. Runs locally (stdio, single merchant) or remotely over HTTP with OAuth, single- or multi-tenant (see docs/DEPLOY.md). Endpoint contracts are sandbox-verified in docs/endpoints.md.
⚠️ Independent project — not affiliated with, endorsed by, or sponsored by Clover Network, LLC or Fiserv, Inc. "Clover" is a trademark of its respective owner and is used here only nominatively to describe interoperability. Provided as is, without warranty — see Legal & disclaimer.
What it cannot do (by design): process refunds, capture payments, void charges, delete records. Those stay in the Clover dashboard.
| Tool | Kind | Notes |
|---|---|---|
get_merchant_info / get_merchant_properties | read | profile + POS config (banking fields never returned) |
get_sales_summary | read | aggregated window (see Sales summary semantics) |
get_sales_by_employee / get_tips_by_employee / get_sales_by_hour | read | employee attribution, tip-out, and merchant-local daypart reporting (PAYMENTS_R; employee names are best-effort) |
list_payments / list_refunds / list_credits / list_tenders | read | payments, refunds, credits, tender types |
list_orders / get_order / list_open_orders / list_order_types | read | order history + detail |
list_items / get_item / list_low_stock_items | read | inventory + stock; get_item(include=[...]) opts in to modifier_groups/tax_rates/categories/tags association detail |
list_categories / list_modifiers / list_taxes / list_item_groups / list_attributes / list_tags / list_discounts | read | catalog structure |
list_tip_suggestions / get_default_service_charge | read | tip presets + service-charge config |
list_devices / list_opening_hours / list_cash_events | read | terminals, hours, cash-drawer log |
get_top_items | read | best-sellers by units in a window |
list_employees / get_employee / list_shifts / list_active_shifts / list_roles | read | PINs never returned (EMPLOYEES_R) |
search_customers / get_customer | read | cards never returned |
whoami | read | multi-tenant identity diagnostic (no secrets) |
summarize_sales / inventory_reorder_suggestions / detect_sales_anomalies / suggest_item_categories / draft_customer_message | AI | reason via your client's model; read-only suggestions |
create_customer / update_customer | write | dup-check + dry_run; update confirms via elicitation |
create_item / create_category / create_order / add_line_item | write | guarded: dry_run + confirm before writing |
set_item_price_cents / set_item_stock_quantity / update_item_name | write | optimistic-lock pre-check, bounds, dry_run |
apply_order_discount | write | exactly one of percentage / amount_cents / catalogue_discount_id; negates positive amount_cents to Clover's required negative wire value; catalogue path resolves name+value client-side; dry_run preview includes a client-computed line-item subtotal |
create_modifier_group / create_modifier / create_tag | write | dup-guard (group/tag) or parent pre-check (modifier); guarded: dry_run + confirm before writing |
Every tool carries MCP behaviour annotations (readOnlyHint / destructiveHint / idempotentHint) so clients can parallelize reads and prompt before writes.
Published on PyPI — no clone needed:
uvx clover-mcp # run directly (recommended)
pip install clover-mcp # then launch with: clover-mcp
From source (for development):
git clone https://github.com/SBolivarLoL/clover-mcp-server
cd clover-mcp-server uv pip install -e .
Copy .env.example to .env and fill in your values:
cp .env.example .env
Required:
| Variable | Description |
|---|---|
CLOVER_MERCHANT_ID | Your Clover merchant ID |
CLOVER_ACCESS_TOKEN | Your Clover API access token |
Optional:
| Variable | Default | Description |
|---|---|---|
CLOVER_REGION | na | na, eu, or la |
CLOVER_SANDBOX | false | true to use the Clover sandbox |
CLOVER_AUTH_MODE | token | token or oauth_refresh |
CLOVER_READ_ONLY | false | Refuse every write before making a Clover request |
CLOVER_WRITE_LIMIT_COUNT | 10 | Maximum writes per safety window; 0 disables, negative values are rejected |
CLOVER_WRITE_LIMIT_WINDOW_S | 300 | Positive write-safety window in seconds |
CLOVER_TOKEN_STORE (default: ~/.config/clover-mcp/tokens.json, mode 0600). Clover refresh tokens are single-use, so the rotated pair is written back after each refresh. Run scripts/get_sandbox_token.py to obtain tokens — it writes them straight to the store, so you only set CLOVER_AUTH_MODE, CLOVER_OAUTH_CLIENT_ID, CLOVER_OAUTH_CLIENT_SECRET, and CLOVER_MERCHANT_ID in .env (no token values needed). Pasting CLOVER_ACCESS_TOKEN / CLOVER_REFRESH_TOKEN into .env still works as an alternative.Use a least-privilege token. Grant only the permission scopes the tools you actually use require (see the table below). A read-only deployment needs no
*_Wscopes at all. Don't reuse a production token in sandbox or vice versa.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": { "clover": { "command": "uvx", "args": ["clover-mcp"], "env": { "CLOVER_MERCHANT_ID": "your_merchant_id", "CLOVER_ACCESS_TOKEN": "your_token", "CLOVER_REGION": "na" } } } }
Add to .cursor/mcp.json in your project (or ~/.cursor/mcp.json globally):
{
"mcpServers": { "clover": { "command": "uvx", "args": ["clover-mcp"], "env": { "CLOVER_MERCHANT_ID": "your_merchant_id", "CLOVER_ACCESS_TOKEN": "your_token" } } } }
Your token must have the following Clover permission scopes:
| Permission | Used by |
|---|---|
MERCHANT_R | get_merchant_info |
ORDERS_R | list_orders, get_order, list_open_orders |
PAYMENTS_R | list_payments, list_refunds, list_credits, get_sales_summary, get_sales_by_employee, get_tips_by_employee, get_sales_by_hour |
ORDERS_R | …also get_top_items |
INVENTORY_R | list_items, get_item, list_low_stock_items, list_categories, list_modifiers, list_taxes, list_discounts, list_item_groups, list_attributes, list_tags |
INVENTORY_W | set_item_price_cents, set_item_stock_quantity, create_item, create_category, update_item_name, create_modifier_group, create_modifier, create_tag |
ORDERS_W | create_order, add_line_item, apply_order_discount |
CUSTOMERS_R | search_customers, get_customer |
CUSTOMERS_W | create_customer, update_customer |
EMPLOYEES_R | list_employees, get_employee, list_shifts, list_active_shifts, list_roles (optional) |
MERCHANT_R | …also list_devices, list_tenders, list_order_types, list_opening_hours, list_cash_events, list_tip_suggestions, get_default_service_charge |
Read scopes (*_R) are probed at startup; the server warns about any missing ones (it no longer exits — a hosted server must still start) and the affected tools return a 403 when called. EMPLOYEES_R is optional. Write scopes (*_W) are not probed (a probe would mutate data) — a missing write scope surfaces as a 403 the first time you call that tool. Permission changes on a Clover app require the merchant to reinstall the app.
By default this runs locally over stdio for a single merchant. To run it remotely:
server.py:mcp, enable the platform's built-in auth, and set single-merchant Clover env vars. The platform handles OAuth, HTTPS, and transport — no IdP setup, and do not set CLOVER_TRANSPORT/CLOVER_AUTH_* (that path needs an IdP and will fail).server.py:create_server, which makes clover-mcp an OAuth 2.1 resource server (validates your IdP's JWTs, publishes Protected Resource Metadata per RFC 9728, routes by token claim) and refuses to start without an IdP so it can't run open.Full setup for both in [docs/DEPLOY.md](docs/DEPLOY.md). How SSO/SAML, SCIM, audit, and multi-tenant authorization fit: [docs/enterprise-identity.md](docs/enterprise-identity.md).
get_sales_summary makes the accounting explicit so the LLM can explain it:
result=SUCCESS payment amounts. FAIL/AUTH/uncaptured PRE_AUTH are excluded./refunds endpoint (Clover refunds are separate objects with a positive amount, not negative payments). Voids are counted from voided payments. Both are reported separately (refund_count/refund_amount, void_count) — never netted into payment_count. net_sales = gross_sales - refund_amount.gross_sales via payment totals.note flags the window when any are present.uv pip install -e ".[dev]"
pytest ruff check src/ tests/ scripts/ ruff format --check src/ tests/ scripts/ mypy src/clover_mcp/
Correctness eval + latency/load benchmark against a sandbox: uv run python scripts/benchmark.py — methodology, results, and failure analysis in docs/eval.md.
Architecture (diagrams + module map): docs/ARCHITECTURE.md. Run a 5-minute demo: uv run python scripts/demo.py (or the