Endpoints: 28,729MCP servers: 18,414Payout addresses: 2,071Paid calls: 1,569Letters: 14Defects: 1,334counted 3 min ago
teppi

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "ENGAGE : annulation par le client final (secret requis). Libère le créneau immédiatement. Irréversible pour cet engagement.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "engagement_id": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "engagement_secret": { "type": "string" }, "reason": { "type": "string" } }, "required": [ "engagement_id", "engagement_secret" ], "type": "object" }, "name": "cancel_engagement", "outputSchema": null }, { "description": "ENGAGE : transmet le client final + le consentement sur une option quotée. Retourne requested (le pro valide d'un pouce) ou confirmed (auto-acceptation). Idempotent : rappeler sur un engagement déjà transmis renvoie son état courant.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "consent": { "properties": { "early_execution": { "description": "OBLIGATOIRE si la prestation a lieu à moins de 14 jours : le client demande expressément l'exécution avant la fin du délai de rétractation et reconnaît perdre ce droit une fois le service entièrement exécuté (art. L221-25 code conso)", "type": "boolean" }, "mandate": { "const": true, "description": "l'agent atteste du mandat du client final (mandat de classe faible — D-003)", "type": "boolean" }, "terms_accepted": { "const": true, "description": "le client a accepté le devis et les conditions", "type": "boolean" } }, "required": [ "mandate", "terms_accepted" ], "type": "object" }, "customer": { "properties": { "email": { "description": "OBLIGATOIRE : contact du client final, transmis au professionnel. Le client reçoit la confirmation (et l'issue) de sa réservation par e-mail à cette adresse — support durable, art. L221-13.", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "name": { "description": "prénom et nom du client final", "type": "string" }, "note": { "description": "le BRIEF pour le professionnel : contexte et objectif de la demande (ex. « veut automatiser ses devis, TPE bâtiment 3 salariés ») — aide le pro à accepter en connaissance", "maxLength": 500, "type": "string" }, "phone": { "type": "string" } }, "required": [ "name", "email" ], "type": "object" }, "engagement_id": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "engagement_secret": { "type": "string" } }, "required": [ "engagement_id", "engagement_secret", "customer", "consent" ], "type": "object" }, "name": "create_engagement", "outputSchema": null }, { "description": "Ouvre un séjour : un contenant pour plusieurs réservations qui doivent tenir ensemble (une après-midi, une journée, une semaine). Les étapes devisées avec ce sejour_id partagent une MÊME échéance de tenue, au lieu d'expirer chacune de son côté pendant que vous préparez les suivantes. Le rail tient le groupe, il ne le compose pas : l'ordre, les trajets et ce qui remplit un trou restent votre travail.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "duree_minutes": { "description": "durée de la fenêtre de tenue commune, en minutes (défaut 30, maximum 240). Prenez large si vous devisez beaucoup d'étapes, mais pas plus que nécessaire : vous immobilisez du stock chez de vrais professionnels.", "maximum": 240, "minimum": 5, "type": "integer" }, "label": { "description": "libellé libre pour vous y retrouver, ex. \"Journée bien-être 14 sept.\"", "maxLength": 80, "type": "string" } }, "type": "object" }, "name": "create_sejour", "outputSchema": null }, { "description": "État courant d'un engagement (secret requis). Lecture seule, n'engage rien.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "engagement_id": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "engagement_secret": { "type": "string" } }, "required": [ "engagement_id", "engagement_secret" ], "type": "object" }, "name": "get_engagement", "outputSchema": null }, { "description": "La FICHE complète d'une offre : descriptions entières, politique de réservation et d'annulation, paiement, adresse géolocalisée, fiabilité. Lecture seule. À appeler quand l'offre intéresse — la recherche ne sert que le résumé.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "offer_id": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "offer_id" ], "type": "object" }, "name": "get_offer_details", "outputSchema": null }, { "description": "Relit l'état d'un séjour et de toutes ses étapes. Sert à répondre à « qu'est-ce que j'ai de réservé ? » sans avoir retenu chaque identifiant, y compris depuis une autre session. Le rail rend l'état, il ne conclut rien : c'est vous qui décidez quoi faire d'un séjour à moitié confirmé.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "sejour_id": { "description": "identifiant rendu par create_sejour", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "sejour_id" ], "type": "object" }, "name": "get_sejour", "outputSchema": null }, { "description": "Liste les professionnels réservables du réseau Resadock (l'annuaire machine). Sans requête texte : filtres optionnels par catégorie et commune. Donne aussi les facettes (catégories et communes présentes) pour affiner. Lecture seule.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "categorie": { "description": "filtre catégorie (ex. \"massage\", \"coiffure\", \"location-velo-paddle\") — voir les facettes retournées", "type": "string" }, "commune": { "description": "filtre commune (ex. \"Cogolin\") — zone de chalandise OU ville du pro", "type": "string" }, "include_demo": { "description": "inclure les guichets de démonstration (défaut : non)", "type": "boolean" }, "limit": { "description": "max de résultats (défaut 50)", "maximum": 100, "minimum": 1, "type": "integer" }, "verified_only": { "description": "ne garder que les sociétés actives au registre INSEE (n'atteste PAS que le déclarant représente la société)", "type": "boolean" } }, "type": "object" }, "name": "list_directory", "outputSchema": null }, { "description": "ENGAGE une option : tient le créneau (TTL court) et retourne le devis complet — montant, politique d'annulation, délai de validation du pro — AVANT toute transmission du client final. L'information précède l'engagement (D-002). Réversible : l'option expire seule si create_engagement ne suit pas.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "end": { "description": "fin ISO 8601 avec offset", "type": "string" }, "idempotency_key": { "description": "dérivée de l'INTENTION de l'utilisateur (même intention = même clé), pas d'un tirage par tentative", "minLength": 8, "type": "string" }, "options": { "description": "les à-côtés choisis par le client (gâteau, photographe, formule traiteur…)", "items": { "properties": { "label": { "description": "libellé EXACT depuis get_offer_details.options", "type": "string" }, "persons": { "description": "pour les options par personne (traiteur…) — un minimum facturé peut s'appliquer", "maximum": 9007199254740991, "minimum": 1, "type": "integer" } }, "required": [ "label" ], "type": "object" }, "maxItems": 8, "type": "array" }, "quantity": { "default": 1, "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "sejour_id": { "description": "rattache cette étape à un séjour ouvert par create_sejour : la tenue s'aligne alors sur la fenêtre COMMUNE du groupe, au lieu d'expirer au bout de 5 minutes pendant que vous devisez les étapes suivantes", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "service_context": { "properties": { "deplacement": { "description": "si chez_client : le libellé EXACT d'une option de déplacement de get_offer_details (supplément + temps de trajet inclus au devis)", "type": "string" }, "mode": { "description": "où la prestation a lieu", "enum": [ "sur_place", "chez_client" ], "type": "string" } }, "required": [ "mode" ], "type": "object" }, "start": { "description": "début ISO 8601 avec offset", "type": "string" }, "variant_id": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "variant_id", "start", "end", "idempotency_key" ], "type": "object" }, "name": "quote_engagement", "outputSchema": null }, { "description": "Vérifie la disponibilité d'une variante sur une fenêtre (ISO 8601 avec offset). Lecture seule, n'engage rien. Statut ternaire : available | unavailable | unknown (unknown = le pro n'a rien déclaré ; canal de repli fourni ; jamais un refus).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "end": { "description": "fin ISO 8601", "type": "string" }, "quantity": { "default": 1, "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "start": { "description": "début ISO 8601", "type": "string" }, "variant_id": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "variant_id", "start", "end" ], "type": "object" }, "name": "search_availability", "outputSchema": null }, { "description": "Recherche les prestations réservables (texte libre : métier, activité). Lecture seule, n'engage rien. Retourne offres, variantes, prix et « l'actu du jour » du pro.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "include_demo": { "description": "inclure les guichets de DÉMONSTRATION (défaut : non). Ils servent à essayer le rail de bout en bout sans déranger un vrai professionnel ; ils sortent marqués demo:true", "type": "boolean" }, "level": { "description": "filtre de niveau (fiche 09) — par défaut : tous (un N1 est déjà une réponse utile)", "items": { "enum": [ "declarative", "consultable", "engageable" ], "type": "string" }, "type": "array" }, "provenance": { "description": "filtre de provenance (fiche 05) — par défaut : toutes", "items": { "enum": [ "declared", "observed", "inferred" ], "type": "string" }, "type": "array" }, "query": { "description": "Ce que cherche le client, ex. \"cours de padel\", \"location vélo\"", "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search_offers", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:50638a25b91297d68a1a0b6bb43f1a1bb2b4eaf12f4d63c3c4237ecab94563ef | sha256sum