Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,536Letters: 14Defects: 1,322counted 2 min ago
teppi

Server definition

Hash
sha256:eef655b17f5af6fccbd548c7911b32a82b85833d3774e283423ab151cebaadb0
What it is
What a remote MCP server returned when asked what it offers: 10 tools

The blob, as servednamed by its sha256

{ "instructions": "Vintage Postcard est une boutique française d'affiches et posters vintage inspirés des\ncartes postales de voyage (villes, îles, paysages), imprimés en France.\n\nMéthode conseillée :\n1. `search_postcards` pour trouver une affiche (par ville, pays, région ou\n mot-clé) ; `list_destinations` pour explorer le catalogue par pays.\n2. `get_postcard` pour le détail d'une affiche (prix, promo, formats, image).\n3. `quote_cart` pour le total exact : cadre (+1,75 €) et livraison (2,99 €,\n offerte dès 30 €) inclus.\n4. `start_order` pour ouvrir la commande (panier + email du client), puis\n `pay_order` pour payer.\n\nPaiement : par défaut `pay_order` renvoie un lien Stripe que vous transmettez à\nvotre utilisateur — c'est lui qui valide la carte. Le paiement délégué\n(confirmation immédiate avec un token de paiement) n'est possible que pour les\nagents disposant d'une clé API émise par la boutique, et reste plafonné.\n\nNe jamais inventer un prix ni une disponibilité : toutes les valeurs viennent\ndes outils. Devise : EUR. Catalogue complet aussi disponible en lecture directe\nsur https://vintage-postcard.fr/feed/products.json et https://vintage-postcard.fr/llms-full.txt.", "tools": [ { "description": "Chiffres clés de la boutique : nombre d'affiches, pays couverts, fourchette de prix, formats, prix du cadre, règles de livraison.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_catalog_overview", "outputSchema": null }, { "description": "Statut d'une commande (en attente, payée, annulée) à partir de son numéro et de l'email du client, ou de l'identifiant de session de commande.", "inputSchema": { "additionalProperties": false, "properties": { "email": { "type": "string" }, "order_id": { "type": "integer" }, "session_id": { "type": "string" } }, "type": "object" }, "name": "get_order_status", "outputSchema": null }, { "description": "Fiche complète d'une affiche : description, prix, prix barré, formats, option cadre, image, frais de port et affiches similaires. Accepte un identifiant ou un nom de ville.", "inputSchema": { "additionalProperties": false, "anyOf": [ { "required": [ "product_id" ] }, { "required": [ "name" ] } ], "properties": { "name": { "description": "Nom de la ville / du lieu", "type": "string" }, "product_id": { "description": "Identifiant de l'affiche", "type": "integer" } }, "type": "object" }, "name": "get_postcard", "outputSchema": null }, { "description": "Livraison, retours, formats, moyens de paiement et FAQ. À citer plutôt que de deviner.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_store_policies", "outputSchema": null }, { "description": "Toutes les destinations du catalogue, groupées par pays avec le nombre d'affiches et quelques exemples.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_destinations", "outputSchema": null }, { "description": "Déclenche le paiement d'une session ouverte avec `start_order`.\n• method=\"hosted_checkout\" (défaut) : renvoie un lien de paiement Stripe à transmettre au client, qui confirme lui-même sa carte.\n• method=\"delegated_token\" : confirme immédiatement le paiement avec un token délégué. Réservé aux agents authentifiés par une clé API de la boutique, et plafonné par commande.", "inputSchema": { "additionalProperties": false, "properties": { "method": { "default": "hosted_checkout", "enum": [ "hosted_checkout", "delegated_token" ], "type": "string" }, "payment_token": { "description": "Token de paiement délégué (Stripe), pour delegated_token", "type": "string" }, "session_id": { "description": "Identifiant renvoyé par `start_order`", "type": "string" } }, "required": [ "session_id" ], "type": "object" }, "name": "pay_order", "outputSchema": null }, { "description": "Devis exact d'un panier : sous-total, option cadre, frais de livraison (offerts dès 30 €) et total. À utiliser avant d'annoncer un prix au client.", "inputSchema": { "additionalProperties": false, "properties": { "items": { "items": { "additionalProperties": false, "properties": { "product_id": { "type": "integer" }, "quantity": { "default": 1, "maximum": 50, "minimum": 1, "type": "integer" }, "size": { "default": "A4", "enum": [ "A5", "A4", "A3" ], "type": "string" }, "with_frame": { "default": false, "type": "boolean" } }, "required": [ "product_id" ], "type": "object" }, "minItems": 1, "type": "array" } }, "required": [ "items" ], "type": "object" }, "name": "quote_cart", "outputSchema": null }, { "description": "Enregistre une demande de création d'affiche vintage sur mesure (ville, style, précisions). L'équipe recontacte le client par email avec une proposition.", "inputSchema": { "additionalProperties": false, "properties": { "additional_info": { "description": "Précisions, souvenir, couleurs…", "type": "string" }, "city": { "description": "Ville ou lieu à illustrer", "type": "string" }, "email": { "type": "string" }, "style": { "description": "Style souhaité, ex. « vintage années 50 »", "type": "string" } }, "required": [ "email", "city" ], "type": "object" }, "name": "request_custom_poster", "outputSchema": null }, { "description": "Recherche dans tout le catalogue d'affiches vintage par mot-clé (ville, pays, région, thème), collection et filtres de prix. Renvoie les affiches avec prix, promo, image et URL de la page produit.", "inputSchema": { "additionalProperties": false, "properties": { "collection": { "description": "Filtre collection exact : « Destinations » (affiches de villes) ou « Vintage »", "type": "string" }, "country": { "description": "Filtre pays exact, ex. « Portugal »", "type": "string" }, "limit": { "default": 12, "maximum": 100, "minimum": 1, "type": "integer" }, "max_price": { "description": "Prix maximum en euros", "type": "number" }, "min_price": { "description": "Prix minimum en euros", "type": "number" }, "offset": { "default": 0, "minimum": 0, "type": "integer" }, "query": { "description": "Mot-clé : ville, pays, paysage… ex. « Lisbonne », « île »", "type": "string" }, "region": { "description": "Filtre région exact", "type": "string" }, "sort": { "default": "relevance", "enum": [ "relevance", "price_asc", "price_desc", "name" ], "type": "string" } }, "type": "object" }, "name": "search_postcards", "outputSchema": null }, { "description": "Crée une session de commande pour le client (panier + email + adresse de livraison optionnelle) et renvoie son identifiant, à utiliser ensuite avec `pay_order`. Aucun paiement n'est déclenché à cette étape.", "inputSchema": { "additionalProperties": false, "properties": { "email": { "description": "Email du client (confirmation de commande)", "type": "string" }, "first_name": { "type": "string" }, "items": { "items": { "additionalProperties": false, "properties": { "product_id": { "type": "integer" }, "quantity": { "default": 1, "maximum": 50, "minimum": 1, "type": "integer" }, "size": { "enum": [ "A5", "A4", "A3" ], "type": "string" }, "with_frame": { "default": false, "type": "boolean" } }, "required": [ "product_id" ], "type": "object" }, "minItems": 1, "type": "array" }, "last_name": { "type": "string" }, "shipping_address": { "additionalProperties": false, "properties": { "address": { "type": "string" }, "city": { "type": "string" }, "country": { "default": "France", "type": "string" }, "zip_code": { "type": "string" } }, "type": "object" } }, "required": [ "items", "email" ], "type": "object" }, "name": "start_order", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:eef655b17f5af6fccbd548c7911b32a82b85833d3774e283423ab151cebaadb0 | sha256sum