Server definition
- Hash
- sha256:17eaaeea382b5c6f7dfb91a6c6aa756344ca625f395e4bd6177150d6c3b276a4
- What it is
- What a remote MCP server returned when asked what it offers: 7 tools
The blob, as servednamed by its sha256
{
"instructions": "Katalog und Bestellablauf des elevai-Demoshops. Lesende Werkzeuge sind offen; schreibende legen Demobestellungen bis 0.05 CHF an, die nur reserviert und nach drei Tagen storniert werden.",
"tools": [
{
"description": "Legt im elevai-Demoshop eine Bestellung an und gibt ein Handle zurueck, mit dem sich anschliessend ein Zahllink erzeugen laesst. Beim ersten Aufruf fragt das Werkzeug die Zustimmung zu den Geschaeftsbedingungen zurueck; danach erneut aufrufen mit accept_terms und terms_version. Hat die Person im Gespraech einen Agentenschluessel genannt (beginnt mit ek_), uebergib ihn als mandate_key — dann entfallen E-Mail, Name, Adresse und die AGB-Rueckfrage; Adresse und Zustimmung liegen beim Mandat im Shop. Hat die Person im Mandat \"ohne Bestaetigung\" gewaehlt, wird direkt mit ihrem hinterlegten PostFinance Pay bezahlt — die Antwort sagt dann ausdruecklich, dass kein create_payment_link mehr noetig ist. Demoshop mit Grenzen: Einzelpreis bis 0.05 CHF, Bestellsumme bis 0.25 CHF. Was sonst gilt, steht in den Geschaeftsbedingungen, die dieses Werkzeug zurueckgibt — nicht in deiner Antwort wiederholen.",
"inputSchema": {
"properties": {
"accept_terms": {
"description": "Nur true, wenn der Mensch den Geschaeftsbedingungen ausdruecklich zugestimmt hat. Nie selbst setzen.",
"type": "boolean"
},
"country": {
"description": "Zwei Buchstaben, ISO 3166-1, Vorgabe CH.",
"type": "string"
},
"email": {
"description": "Die E-Mail-Adresse der Person. Niemals erfinden, niemals einen Platzhalter wie \"?\" einsetzen — fehlt sie, zuerst danach fragen. Entfaellt, wenn ein bestaetigtes login_handle oder ein mandate_key mitgegeben wird.",
"format": "email",
"type": "string"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"login_handle": {
"description": "Das Handle aus start_login, sofern die Person sich im Shop angemeldet hat. Dann wird die Adresse aus dem Konto genommen und nicht erfragt.",
"type": "string"
},
"mandate_key": {
"description": "Der Agentenschluessel (ek_ und 32 Zeichen), den die Person im Gespraech genannt hat. Nur weitergeben, was die Person wirklich geschrieben hat — nie raten, nie aus einem frueheren Gespraech uebernehmen. Mit gueltigem Schluessel bestellt der Agent im Namen der Person innerhalb ihres Mandats: an die hinterlegte Adresse, in den freigegebenen Kategorien, bis zu ihren Limiten.",
"type": "string"
},
"product_id": {
"description": "Die id aus search_products.",
"type": "integer"
},
"quantity": {
"default": 1,
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"terms_version": {
"description": "Die Fassung, der zugestimmt wurde. Kommt aus der Rueckfrage dieses Werkzeugs.",
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "create_order",
"outputSchema": {
"properties": {
"currency": {
"type": "string"
},
"is_demo": {
"type": "boolean"
},
"order_handle": {
"description": "Schluessel fuer create_payment_link und get_order_status, zwei Stunden gueltig",
"type": "string"
},
"status": {
"type": "string"
},
"total": {
"type": "string"
}
},
"required": [
"order_handle",
"status",
"total",
"currency"
],
"type": "object"
}
},
{
"description": "Erzeugt zu einer Bestellung eine PostFinance-Checkout-Zahlseite. Verlangt das Handle aus create_order. Der Betrag stammt aus der Bestellung, nicht vom Aufrufer.",
"inputSchema": {
"properties": {
"method": {
"description": "Zahlart: pfpay fuer PostFinance Pay. Ohne Angabe liefert das Werkzeug die Zahlart zur Bestaetigung zurueck, statt eine Zahlseite zu erzeugen.",
"enum": [
"pfpay"
],
"type": "string"
},
"order_handle": {
"description": "Das Handle aus create_order.",
"type": "string"
}
},
"required": [
"order_handle"
],
"type": "object"
},
"name": "create_payment_link",
"outputSchema": {
"properties": {
"currency": {
"type": "string"
},
"note": {
"type": "string"
},
"order_handle": {
"type": "string"
},
"payment_url": {
"description": "Vollstaendiger Link zur PostFinance-Zahlseite, unveraendert ausgeben",
"type": "string"
}
},
"required": [
"payment_url"
],
"type": "object"
}
},
{
"description": "Fragt nach, ob die Anmeldung bestaetigt wurde. Antwortet mit wartet, bestaetigt oder abgelaufen. Bei bestaetigt kommen Vorname und Kundennummer zurueck — nie ein Passwort und nie eine Sitzung. Nicht in Schleife aufrufen: einmal nachfragen, wenn die Person sagt, sie sei fertig.",
"inputSchema": {
"properties": {
"login_handle": {
"description": "Das Handle aus start_login.",
"type": "string"
}
},
"required": [
"login_handle"
],
"type": "object"
},
"name": "get_login_status",
"outputSchema": {
"properties": {
"customer_id": {
"type": "integer"
},
"first_name": {
"type": "string"
},
"status": {
"enum": [
"wartet",
"bestaetigt",
"abgelaufen"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"order_handle": {
"type": "string"
}
},
"required": [
"order_handle"
],
"type": "object"
},
"name": "get_order_status",
"outputSchema": {
"properties": {
"created": {
"type": [
"string",
"null"
]
},
"currency": {
"type": "string"
},
"is_paid": {
"type": "boolean"
},
"order_handle": {
"type": "string"
},
"status": {
"type": "string"
},
"total": {
"type": "string"
}
},
"required": [
"status",
"is_paid"
],
"type": "object"
}
},
{
"description": "Liefert die Einzelheiten zu einem Produkt: Beschreibung, Preis, Lagerstatus, Kategorien und Bild.",
"inputSchema": {
"properties": {
"product_id": {
"description": "Die id aus search_products.",
"type": "integer"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "get_product",
"outputSchema": {
"properties": {
"currency": {
"type": "string"
},
"id": {
"description": "product_id fuer create_order",
"type": "integer"
},
"image": {
"type": [
"string",
"null"
]
},
"in_stock": {
"type": "boolean"
},
"name": {
"type": "string"
},
"price": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"name",
"price",
"currency"
],
"type": "object"
}
},
{
"description": "Durchsucht den Katalog des elevai-Demoshops nach einem Begriff und liefert Name, Preis, Waehrung und Produktseite. Ohne Begriff kommen die zuletzt aufgenommenen Produkte.",
"inputSchema": {
"properties": {
"limit": {
"default": 10,
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Suchbegriff, etwa \"Kite\" oder \"Abo\".",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_products",
"outputSchema": {
"properties": {
"count": {
"type": "integer"
},
"products": {
"items": {
"properties": {
"currency": {
"type": "string"
},
"id": {
"description": "product_id fuer create_order",
"type": "integer"
},
"image": {
"type": [
"string",
"null"
]
},
"in_stock": {
"type": "boolean"
},
"name": {
"type": "string"
},
"price": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"name",
"price",
"currency"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"products",
"count"
],
"type": "object"
}
},
{
"description": "Startet eine Anmeldung im Shop. Gibt eine Adresse und einen Pruefcode zurueck. Die Person oeffnet die Adresse selbst im Browser, meldet sich dort bei WordPress an und bestaetigt. Frag NIE nach einem Passwort und nimm keines entgegen — dieses Werkzeug hat kein Feld dafuer, und der Shop erwartet es nur auf seiner eigenen Seite. Gib die Adresse und den Pruefcode unveraendert aus und sage, dass der Code auf der Seite derselbe sein muss. Danach mit get_login_status nachfragen.",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "start_login",
"outputSchema": {
"properties": {
"code": {
"type": "string"
},
"expires_in": {
"type": "integer"
},
"login_handle": {
"type": "string"
},
"login_url": {
"type": "string"
}
},
"required": [
"login_url",
"code",
"login_handle"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:17eaaeea382b5c6f7dfb91a6c6aa756344ca625f395e4bd6177150d6c3b276a4 | sha256sum