elevai Commerce Demo
by elevai.ch · remote · no sign-in to list tools · v1.0.0 · published by ch.elevai
Open demo shop: search products, place a 0.05 CHF order, create a PostFinance payment link.
10 tools: 1 can delete or cancel things, 2 change things and 7 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads7Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http commerce-demo https://elevai.ch/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
10 tools
Deletes or cancels 1Claude Code: deny
cancel_orderStorniert eine eigene Bestellung, die noch offen oder reserviert ist.No findings
Why it is in this group
- The name "cancel_order" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Storniert eine eigene Bestellung, die noch offen oder reserviert ist. Eine Reservation bei PostFinance wird dabei sofort freigegeben (statt erst nach drei Tagen). Nur auf ausdruecklichen Wunsch der Person: erst ohne confirmed_in_chat aufrufen — das Werkzeug nennt, was storniert wuerde —, die Person fragen, und erst nach ihrem Ja mit confirmed_in_chat: true erneut aufrufen. Nur Bestellungen, deren Nummer die Person ausdruecklich nennt; sagt sie «alle» oder nennt keine Nummer, die stornierbaren Nummern aufzaehlen und sie bitten, die gewuenschten Nummern zu nennen. Verlangt das Handle aus create_order oder list_orders (fuer aeltere Bestellungen aus anderen Gespraechen: zuerst list_orders).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
Changes things 2Claude Code: ask
create_orderLegt im elevai-Demoshop eine Bestellung an.No findings
Why it is in this group
- The name "create_order" says "create": a word for a change.
Description, as the server wrote it Legt im elevai-Demoshop eine Bestellung an. Ein Aufruf mit product_id allein genuegt fuer den Anfang: Das Werkzeug prueft selbst, was noch fehlt, und liefert die Geschaeftsbedingungen samt Fassung mit — Nachfragen nach Bedingungen, E-Mail, Namen oder Adresse erledigen sich damit meist von selbst. Fehlt die Zustimmung, steht das in der Antwort; ein zweiter Aufruf mit accept_terms: true und der terms_version aus dieser Antwort schliesst die Bestellung ab (die Fassung stammt immer aus der Antwort, nie aus einer Annahme). Ist der Agent mit einem Kundenkonto verbunden (OAuth), sind Person und Adresse bereits bekannt; liegt zusaetzlich ein Mandat vor, entfaellt die AGB-Rueckfrage ganz. Zurueck kommt ein order_handle fuer create_payment_link; wie es unter einem Mandat weitergeht, steht dort. Demoshop mit Grenzen: Einzelpreis bis 0.05 CHF, Bestellsumme bis 0.25 CHF. Was sonst gilt, steht in den Geschaeftsbedingungen — nicht in deiner Antwort wiederholen.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
create_payment_linkErzeugt zu einer Bestellung eine PostFinance-Checkout-Zahlseite.No findings
Why it is in this group
- The name "create_payment_link" says "create": a word for a change.
Description, as the server wrote it Erzeugt zu einer Bestellung eine PostFinance-Checkout-Zahlseite. Verlangt das Handle aus create_order. Der Betrag stammt aus der Bestellung, nicht vom Aufrufer.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
Only reads 7Claude Code: allow
get_connectionZeigt, mit welchem Kundenkonto dieser Agent verbunden ist und was er darf: Mandat, Hoechstbetraege, verbrauchtes Monatsbudget, freigegebene Kategorien, Art der Zahlungsfreigabe, La…No findings
Why it is in this group
- The name "get_connection" says "get": a word for reading.
Description, as the server wrote it Zeigt, mit welchem Kundenkonto dieser Agent verbunden ist und was er darf: Mandat, Hoechstbetraege, verbrauchtes Monatsbudget, freigegebene Kategorien, Art der Zahlungsfreigabe, Laufzeit. Aufrufen, wenn die Person fragt, was der Agent darf, oder bevor eine Bestellung an einer Grenze scheitern koennte. Mandat anlegen, aendern, widerrufen oder Verbindung trennen: https://elevai.ch/demos/woo-shop/wordpress/my-account/agenten/?von=chat
get_order_statusZeigt den aktuellen Stand einer Bestellung.No findings
Why it is in this group
- The name "get_order_status" says "get": a word for reading.
Description, as the server wrote it Zeigt den aktuellen Stand einer Bestellung. In dieser Demo ist "reserviert" (on-hold) der Endzustand: der Betrag wird nie eingezogen und die Reservation faellt nach drei Tagen weg. Verlangt das Handle aus create_order.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_productLiefert die Einzelheiten zu einem Produkt: Beschreibung, Preis, Lagerstatus, Kategorien und Bild.No findings
Why it is in this group
- The name "get_product" says "get": a word for reading.
Description, as the server wrote it Liefert die Einzelheiten zu einem Produkt: Beschreibung, Preis, Lagerstatus, Kategorien und Bild.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_ordersListet die Bestellungen, die Agenten fuer das verbundene Kundenkonto angelegt haben (letzte sieben Tage, neueste zuerst), je mit einem frischen order_handle.No findings
Why it is in this group
- The name "list_orders" says "list": a word for reading.
Description, as the server wrote it Listet die Bestellungen, die Agenten fuer das verbundene Kundenkonto angelegt haben (letzte sieben Tage, neueste zuerst), je mit einem frischen order_handle. Damit lassen sich auch aeltere Bestellungen aus anderen Gespraechen finden, ihr Stand abfragen (get_order_status) und offene oder reservierte stornieren (cancel_order). Bezahlen laesst sich nur eine Bestellung, die hoechstens zwei Stunden alt ist.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_catalogSearch the product catalog des elevai-Demoshops by keyword (UCP name; same as search_products).No findings
Why it is in this group
- The name "search_catalog" says "search": a word for reading.
Description, as the server wrote it Search the product catalog des elevai-Demoshops by keyword (UCP name; same as search_products). Returns id, name, price, currency, stock and product URL. Without a query: the newest products. No sign-in needed. The id is the product_id for get_product and create_order.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_productsDurchsucht den Katalog des elevai-Demoshops nach einem Begriff und liefert Name, Preis, Waehrung und Produktseite.No findings
Why it is in this group
- The name "search_products" says "search": a word for reading.
Description, as the server wrote it Durchsucht den Katalog des elevai-Demoshops nach einem Begriff und liefert Name, Preis, Waehrung und Produktseite. Ohne Begriff kommen die zuletzt aufgenommenen Produkte.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
wait_for_paymentHaelt die Anfrage offen, bis die Zahlung zu einer Bestellung eingetroffen ist, und meldet dann den Endstand.No findings
Why it is in this group
- The name "wait_for_payment" says "wait": a word for reading.
Description, as the server wrote it Haelt die Anfrage offen, bis die Zahlung zu einer Bestellung eingetroffen ist, und meldet dann den Endstand. Eine Runde dauert rund 25 Sekunden; kommt in dieser Zeit nichts an, ist das KEIN Fehler, sondern das Zeichen, sofort die naechste Runde zu starten (hoechstens 5 hintereinander, mit hochgezaehltem attempt). Sinnvoll direkt nach create_payment_link, sobald die Zahlungsaufforderung im Gespraech steht. Grund: Der Chat erfaehrt von einer Zahlung nichts von selbst, und die Bestaetigungsseite von PostFinance fuehrt nicht hierher zurueck. Wer waehrend des Wartens bezahlt und dann in den Chat zurueckkehrt, findet die Bestaetigung bereits vor. Verlangt das Handle aus create_order.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http commerce-demo https://elevai.ch/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__commerce-demo__search_products",
"mcp__commerce-demo__get_product",
"mcp__commerce-demo__search_catalog",
"mcp__commerce-demo__list_orders",
"mcp__commerce-demo__get_order_status",
"mcp__commerce-demo__wait_for_payment",
"mcp__commerce-demo__get_connection"
],
"ask": [
"mcp__commerce-demo__create_order",
"mcp__commerce-demo__create_payment_link"
],
"deny": [
"mcp__commerce-demo__cancel_order"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as commerce-demo. Review it before you use it.