> ## Documentation Index
> Fetch the complete documentation index at: https://storekit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tools

> Referenz der 18 Merchant-MCP-Tools: sechzehn Reads und zwei Writes mit Inputs, Defaults und Datumsbasis, beschränkt auf das authentifizierte Konto.

Alle Tools sind auf das authentifizierte Konto beschränkt; `venueId` schränkt auf eine Filiale dieses Kontos ein und wird für jede andere abgelehnt (`NOT_FOUND`). Jedes Tool gibt den [`{ data, meta }`-Envelope](/docs/de/developers/mcp/response-format) zurück; jeder Fehler ist ein [`isError`-Ergebnis](/docs/de/developers/mcp/errors).

## Geteilte Inputs

Diese Parameter kehren über Tools hinweg wieder und verhalten sich überall identisch.

| Parameter | Typ | Hinweise |
| - | - | - |
| `page` | Integer ≥ 1 | Default `1` |
| `limit` | Integer 1–100 | Tool-spezifische Defaults unten; `list-top-products` cappt bei 25 |
| `from`, `to` | String | `YYYY-MM-DD` oder ISO-Datumzeit mit `Z`/numerischem Offset (≤ 3 Nachkommastellen). Reine Datumswerte sind lokale Kalenderdaten in der effektiven Zeitzone, inklusive. Bereich ≤ 90 lokale Tage |
| `timezone` | IANA-Name | Überschreibt die effektive Zeitzone. Default: die Zeitzone der Filiale, wenn `venueId` angegeben ist, sonst `UTC` |
| `dateBasis` | Enum | Welchen Zeitstempel der Datumsbereich filtert — siehe je Tool |

Jedes Enum unten ist eine vom Server validierte feste Liste; jeder andere Wert wird mit `INVALID_INPUT` abgelehnt. Werte für Bestellmethoden sind, wo akzeptiert, exakt: `InStore`, `Delivery`, `Pickup`, `Curbside`, `Billpay`, `CateringDelivery`, `CateringPickup`.

## Filialen

### `list-venues`

Read. Fangen Sie hier an: So entdeckt ein Agent Filial-IDs.

| Input | Hinweise |
| - | - |
| `archived` | `true` zeigt nur archivierte Filialen; Default nur aktive |
| `page`, `limit` | Default-Limit 100 |

Gibt `data.results[]` mit Filial-Zusammenfassungen zurück: `id`, `name`, `slug`, `timezone`, `currency`, Adresse und Fulfillment-Fähigkeiten.

### `get-venue`

Read.

| Input | Hinweise |
| - | - |
| `venueId` | Erforderlich |

Gibt die Filiale mit Adresse, Öffnungszeiten je Bestellmethode, Vorbereitungszeiten, Liefergebühren und Servicegebühren zurück.

## Bestellungen

### `list-orders`

Read. Abgelehnte und stornierte Bestellungen sind ausgeschlossen, sofern nicht mit `status` ausgewählt. `pagination.total` kann eine Schätzung sein; paginieren Sie über `hasMore`.

| Input | Hinweise |
| - | - |
| `venueId` | Optional |
| `status` | Exakter gespeicherter Status: `New`, `Received`, `Pending`, `Accepted`, `Preparing`, `Ready For Pickup`, `Out for Delivery`, `Delivered`, `Complete`, `Rejected`, `Cancelled`, `Failed`, `Retrying`, `Syncing` |
| `fulfillmentMethod` | Siehe geteilte Werte |
| `from`, `to`, `timezone` | Default letzte 7 lokale Tage |
| `dateBasis` | `fulfillment` (Default: geplante Zeit, fällt auf Erstellung zurück) oder `creation` |
| `page`, `limit` | Default-Limit 50 |

### `get-order`

Read.

| Input | Hinweise |
| - | - |
| `orderId` | Kurze alphanumerische Bestell-ID |

Gibt Positionen mit Modifikatoren, Preisaufschlüsselung (Zwischensumme, Liefergebühr, Servicegebühr, Trinkgeld, Rabatt), Kunden, Tisch/Bereich, Lieferadresse und Rückerstattungshistorie zurück.

### `get-order-events`

Read. Das Lifecycle-Audit-Log der Bestellung: Status-Änderungen, POS-Dispatch-Ergebnisse, Liefer-Updates.

| Input | Hinweise |
| - | - |
| `orderId` | Erforderlich |
| `page`, `limit` | Default-Limit 100 |

## Menüs

### `list-menus`

Read.

| Input | Hinweise |
| - | - |
| `venueId` | Optional |
| `showArchived` | Default `false` |
| `page`, `limit` | Default-Limit 100 |

Gibt Menüs mit Filialzuordnung und aktivem/archiviertem Status zurück.

### `get-menu`

Read.

| Input | Hinweise |
| - | - |
| `menuId` | Menü-ID (String) |

Gibt Kategorien mit Anzeigereihenfolge und Produkte mit Preisen, Verfügbarkeit, Bestandsverfolgung und Tags zurück. Nicht paginiert.

## Snoozing

### `get-snooze-report`

Read. Snoozes, die das Intervall überschneiden. Zusammenfassung und Zeitreihe decken das gesamte Intervall ab; Items sind paginiert.

| Input | Hinweise |
| - | - |
| `venueId` | Optional |
| `from`, `to`, `timezone` | Default letzte 7 lokale Tage |
| `source` | `manual`, `deliverect`, `lightspeed`, `zonal` |
| `includeEvents` | An/Aus-Events pro Item; Default `false` |
| `eventLimit` | 1–100, Default 100. Items, die dies überschreiten, werden mit `eventsTruncated` markiert |
| `page`, `limit` | Default-Limit 50 |

## Statistiken

### `get-order-stats`

Read. Bestellanzahl, Summe der Bestellsummen und durchschnittlicher Bestellwert **nach Bestellerstellungszeit**, zusammen mit dem vorhergehenden Zeitraum gleicher Länge. Summen schließen abgelehnte/stornierte Bestellungen aus und sind vor Rückerstattungen (ein `meta.warnings`-Eintrag sagt das). Auf einem Konto, dessen Filialen mehr als eine Währung verwenden, ist `venueId` erforderlich (`INVALID_INPUT`).

| Input | Hinweise |
| - | - |
| `venueId` | Optional, siehe oben |
| `period` | 1–90 lokale Tage einschließlich heute; Default 30. Nicht mit `from`/`to` |
| `from`, `to`, `timezone` | Alternative zu `period` |

### `list-top-products`

Read. Produkte gerankt nach verkaufter Menge, nach Bestellerstellungszeit. Preise sind **aktuelle** Katalogpreise, keine historischen Verkaufspreise. Multi-Währungs-Konten müssen `venueId` übergeben.

| Input | Hinweise |
| - | - |
| `venueId` | Optional, siehe oben |
| `from`, `to`, `timezone` | Default letzte 30 lokale Tage |
| `page`, `limit` | Default-Limit 10, Max 25 |

## Rabatte

### `list-discount-codes`

Read.

| Input | Hinweise |
| - | - |
| `venueId` | Codes, die dieser Filiale zugewiesen sind |
| `showArchived` | Default `false` |
| `page`, `limit` | Default-Limit 100 |

Gibt Code, Typ, Betrag, Nutzungsstatistik und Gültigkeitsdaten zurück.

### `create-discount-code`

**Write.** `readOnlyHint: false`, `idempotentHint: false`. Der Code muss pro Filiale eindeutig sein (`CONFLICT` sonst) und wird kleingeschrieben gespeichert.

| Input | Hinweise |
| - | - |
| `code` | Erforderlich |
| `type` | `fixed`, `percent`, `buyonegetonefree`, `freedelivery` |
| `codeAmount` | Minor Units für `fixed`; **Zehntelprozent** für `percent` (`100` = 10 %); `0` für die anderen beiden |
| `venues[]` | Erforderlich, ≥ 1: `{ id, enabled? }` (`enabled` Default `true`) |
| `description` | Optional |
| `usageLimit` | Gesamtnutzungen; `0` = unbegrenzt (Default) |
| `usageLimitPerUser` | Pro Kunden-E-Mail; `0` = unbegrenzt (Default) |
| `minimumAmount` | Mindest-Zwischensumme, Minor Units; Default `0` |
| `maxDiscountAmount` | Obergrenze des Rabatts, Minor Units; `0` = keine Obergrenze |
| `startDate`, `endDate` | ISO-Zeitstempel **mit Offset**; weglassen für sofort / keinen Ablauf. `endDate` muss auf `startDate` folgen |
| `fulfillmentMethods[]` | Auf Methoden beschränken; weglassen für alle |
| `autoApply` | Automatisch an der Kasse anwenden; Default `false` |

Gibt den erstellten Rabattcode in `data` zurück.

## Rückerstattungen

### `list-refunds`

Read. Nur erfolgreiche Rückerstattungen.

| Input | Hinweise |
| - | - |
| `venueId` | **Erforderlich** |
| `from`, `to`, `timezone` | Default letzte 7 lokale Tage |
| `dateBasis` | `refund` (Default: wann die Rückerstattung erfolgte) oder `creation` (wann die ursprüngliche Bestellung aufgegeben wurde) |
| `page`, `limit` | Default-Limit 50 |

## Pay at Table

### `list-bills`

Read. Rechnungen nach Erstellungszeit.

| Input | Hinweise |
| - | - |
| `venueId` | **Erforderlich** |
| `status` | `open`, `closed` |
| `from`, `to`, `timezone` | Default letzte 7 lokale Tage |
| `page`, `limit` | Default-Limit 50 |

Gibt Status, Währung, Gesamtsumme, offenen Betrag, Personen und Tischname zurück.

## Payment Links

### `list-payment-links`

Read.

| Input | Hinweise |
| - | - |
| `venueId` | Optional |
| `status` | `active`, `inactive`, `expired`, `completed` |
| `type` | `one_off`, `reusable` |
| `page`, `limit` | Default-Limit 20 |

Gibt Link-Details mit Zahlungsstatistik zurück.

### `get-payment-link`

Read.

| Input | Hinweise |
| - | - |
| `id` | Externe ID, `plink_…` |

### `create-payment-link`

**Write.** `readOnlyHint: false`, `idempotentHint: false`. Der Link ist ab dem Erstellen aktiv.

| Input | Hinweise |
| - | - |
| `venueId` | Erforderlich |
| `type` | `one_off` (wird nach einer Zahlung deaktiviert) oder `reusable` |
| `amountType` | `fixed` oder `variable` |
| `amount` | Minor Units, 1–1.000.000. Erforderlich für `fixed`, verboten für `variable` |
| `title` | Erforderlich, ≤ 255 Zeichen |
| `description`, `reference` | Optional; `reference` ≤ 255 Zeichen |
| `expiresAt` | ISO-Zeitstempel mit Offset; weglassen für keinen Ablauf |
| `minAmount`, `maxAmount` | Grenzen für `variable`, Minor Units, ≤ 1.000.000 |
| `maxPayments` | Nur `reusable`; wird nach so vielen Zahlungen deaktiviert |
| `imageUrl` | URL, die an der Kasse angezeigt wird |
| `successMode` | `thank_you` (Default) oder `redirect` |
| `successMessage` | Nur `thank_you`-Modus |
| `successRedirectUrl` | Erforderlich, wenn `successMode` `redirect` ist |
| `collectBusinessName`, `collectCustomerName`, `collectEmail`, `collectPhone` | Booleans, Default `false` |

Gibt den erstellten Link in `data` zurück. Löst den `payment_link.created`-[Webhook](/docs/de/developers/webhooks/webhook-events) aus.

### `get-payment-link-qr`

Read. Das einzige Tool, das ein Bild zurückgibt.

| Input | Hinweise |
| - | - |
| `id` | Externe ID, `plink_…` |
| `size` | Pixel, 100–2000; Default 500 |

Das Ergebnis trägt die Checkout-Metadaten in `structuredContent` (und im JSON-Text-Block) plus einen nativen MCP-`image/png`-Content-Block. Es gibt kein base64-Feld innerhalb von `data`.


## Related topics

- [WebMCP-Tools](/docs/de/developers/agents/ordering/webmcp.md)
- [Eigene Tools auf storekit bauen](/docs/de/guides/build/overview.md)
- [Merchant-MCP-Übersicht](/docs/de/developers/mcp/overview.md)
- [Payment Links Referenz](/docs/de/payment-links/reference.md)
- [Fehler](/docs/de/developers/mcp/errors.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.