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

Server definition

Hash
sha256:81d359ee85a4ca73255d91ca07c6ab31c3e2d012ef2eb6f7b274bb7b85f4c780
What it is
What a remote MCP server returned when asked what it offers: 6 tools

The blob, as servednamed by its sha256

{ "instructions": "Orbit ist eine Plattform für Workshop- und Seminarräume (Preise in CHF). Räume werden pro Tag in drei Slots gebucht: vormittag (08:00–12:00), nachmittag (13:00–18:00) oder ganztags (08:00–18:00). Lese-Tools liefern Räume, Verfügbarkeiten und Services mit Standardpreisen. quote_booking berechnet den unverbindlichen Gesamtpreis; request_booking stellt eine unverbindliche Buchungsanfrage (kein Slot-Lock — das Orbit-Team bestätigt per E-Mail). Empfohlener Ablauf: check_availability → quote_booking → request_booking. Mit API-Token (Authorization: Bearer) bucht create_booking verbindlich mit den Konditionen des Kunden; quote_booking ist dann personalisiert.", "tools": [ { "description": "Prüft für ein Datum, welche Slots (vormittag, nachmittag, ganztags) in welchen Räumen noch frei sind, inklusive Standardpreisen in CHF. Ohne `roomIds` werden alle aktiven Räume geprüft.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "date": { "description": "Datum im Format YYYY-MM-DD", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "roomIds": { "description": "Optional: nur diese Raum-IDs prüfen (IDs aus list_rooms)", "items": { "type": "string" }, "type": "array" } }, "required": [ "date" ], "type": "object" }, "name": "check_availability", "outputSchema": null }, { "description": "Erstellt eine VERBINDLICHE Buchung mit den echten Konditionen des angemeldeten Kontos (Company-Pass-Deckung bzw. Individualrabatt) — reserviert den Slot sofort. Erfordert einen API-Token (Authorization: Bearer …, erstellbar unter https://the-orbit.ch/account/api-tokens). Prüfe vorher mit check_availability, ob die Slots frei sind, und mit quote_booking den Preis. Ohne Token: request_booking für eine unverbindliche Anfrage nutzen. Raum-IDs aus list_rooms, Service-IDs aus list_services.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "contactEmail": { "description": "E-Mail der Kontaktperson — hierhin geht die Bestätigung", "format": "email", "maxLength": 254, "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "contactName": { "description": "Name der Kontaktperson", "maxLength": 120, "minLength": 2, "type": "string" }, "contactPhone": { "description": "Optionale Telefonnummer", "maxLength": 40, "type": "string" }, "duration": { "description": "Buchungsdauer; bei Mehrtagen buchen alle Räume GANZTAGS", "enum": [ "EIN_TAG", "ZWEI_TAGE", "DREI_TAGE", "VIER_TAGE" ], "type": "string" }, "endTime": { "anyOf": [ { "pattern": "^(09|1[0-8]):00$", "type": "string" }, { "type": "null" } ], "description": "Endzeit 'HH:00' (09–18) — Pflicht bei EIN_TAG, verboten bei Mehrtagen" }, "notes": { "description": "Optionale Bemerkungen", "maxLength": 2000, "type": "string" }, "participants": { "anyOf": [ { "maximum": 500, "minimum": 1, "type": "integer" }, { "type": "null" } ], "description": "Anzahl Personen — Pflicht, wenn Verpflegung pro Person verrechnet wird" }, "rooms": { "description": "Gewünschte Räume mit Slot und Datum (Raum-IDs aus list_rooms)", "items": { "properties": { "date": { "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "roomId": { "minLength": 1, "type": "string" }, "slot": { "enum": [ "VORMITTAG", "NACHMITTAG", "GANZTAGS", "ZEITFENSTER" ], "type": "string" } }, "required": [ "roomId", "slot", "date" ], "type": "object" }, "maxItems": 16, "minItems": 1, "type": "array" }, "services": { "default": [], "description": "Optionale Zusatzservices (Service-IDs aus list_services)", "items": { "properties": { "notes": { "maxLength": 2000, "type": "string" }, "quantity": { "default": 1, "maximum": 100, "minimum": 1, "type": "integer" }, "serviceId": { "minLength": 1, "type": "string" } }, "required": [ "serviceId" ], "type": "object" }, "maxItems": 20, "type": "array" }, "startTime": { "anyOf": [ { "pattern": "^(0[89]|1[0-7]):00$", "type": "string" }, { "type": "null" } ], "description": "Startzeit 'HH:00' (08–17) — Pflicht bei EIN_TAG, verboten bei Mehrtagen" }, "title": { "description": "Optionaler Titel des Anlasses", "maxLength": 200, "type": "string" } }, "required": [ "rooms", "duration", "contactName", "contactEmail" ], "type": "object" }, "name": "create_booking", "outputSchema": null }, { "description": "Listet alle aktiven Räume des Orbit mit Kapazität, Etage, Ausstattung und Standardpreisen pro Slot (vormittag 08:00–12:00, nachmittag 13:00–18:00, ganztags 08:00–18:00). Räume mit `bookableFrom` in der Zukunft sind sichtbar, aber noch nicht buchbar.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "description": "Optional: Kategorie-Slug zum Filtern (siehe `category.slug` im Ergebnis)", "type": "string" } }, "type": "object" }, "name": "list_rooms", "outputSchema": null }, { "description": "Listet alle buchbaren Zusatzservices (z.B. Catering, Moderation, Workshop-Begleitung) mit Standardpreisen. Services mit `isAccompaniment: true` sind exklusive Begleitformate (max. eines pro Buchung) und können einen Raum-Rabatt auslösen.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_services", "outputSchema": null }, { "description": "Berechnet den unverbindlichen Gesamtpreis (Listenpreise, CHF) für eine Raum-/Service-Auswahl mit der echten Pricing-Engine des Orbit — inklusive Bestpreis-Logik, Wochenend-Zuschlag (+30%) und Verpflegungs-Pauschalen. Nutze dieses Tool statt Preise aus list_rooms selbst zusammenzurechnen. Mit API-Token wird die Quote personalisiert (Company-Pass-Deckung bzw. Individualrabatt des Kontos statt Listenpreis). Raum-IDs kommen aus list_rooms, Service-IDs aus list_services.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "duration": { "description": "Buchungsdauer; bei Mehrtagen buchen alle Räume GANZTAGS", "enum": [ "EIN_TAG", "ZWEI_TAGE", "DREI_TAGE", "VIER_TAGE" ], "type": "string" }, "endTime": { "anyOf": [ { "pattern": "^(09|1[0-8]):00$", "type": "string" }, { "type": "null" } ], "description": "Endzeit 'HH:00' (09–18) — Pflicht bei EIN_TAG, verboten bei Mehrtagen" }, "notes": { "description": "Optionale Bemerkungen", "maxLength": 2000, "type": "string" }, "participants": { "anyOf": [ { "maximum": 500, "minimum": 1, "type": "integer" }, { "type": "null" } ], "description": "Anzahl Personen — Pflicht, wenn Verpflegung pro Person verrechnet wird" }, "rooms": { "description": "Gewünschte Räume mit Slot und Datum (Raum-IDs aus list_rooms)", "items": { "properties": { "date": { "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "roomId": { "minLength": 1, "type": "string" }, "slot": { "enum": [ "VORMITTAG", "NACHMITTAG", "GANZTAGS", "ZEITFENSTER" ], "type": "string" } }, "required": [ "roomId", "slot", "date" ], "type": "object" }, "maxItems": 16, "minItems": 1, "type": "array" }, "services": { "default": [], "description": "Optionale Zusatzservices (Service-IDs aus list_services)", "items": { "properties": { "notes": { "maxLength": 2000, "type": "string" }, "quantity": { "default": 1, "maximum": 100, "minimum": 1, "type": "integer" }, "serviceId": { "minLength": 1, "type": "string" } }, "required": [ "serviceId" ], "type": "object" }, "maxItems": 20, "type": "array" }, "startTime": { "anyOf": [ { "pattern": "^(0[89]|1[0-7]):00$", "type": "string" }, { "type": "null" } ], "description": "Startzeit 'HH:00' (08–17) — Pflicht bei EIN_TAG, verboten bei Mehrtagen" }, "title": { "description": "Optionaler Titel des Anlasses", "maxLength": 200, "type": "string" } }, "required": [ "rooms", "duration" ], "type": "object" }, "name": "quote_booking", "outputSchema": null }, { "description": "Stellt eine UNVERBINDLICHE Buchungsanfrage an das Orbit-Team. Die Anfrage reserviert den Slot noch NICHT — das Team prüft sie und bestätigt per E-Mail an die Kontaktadresse. Prüfe vorher mit check_availability, ob die gewünschten Slots frei sind, und nenne dem Menschen den Preis aus quote_booking. Raum-IDs aus list_rooms, Service-IDs aus list_services.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "contactEmail": { "description": "E-Mail der Kontaktperson — hierhin geht die Bestätigung", "format": "email", "maxLength": 254, "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "contactName": { "description": "Name der Kontaktperson", "maxLength": 120, "minLength": 2, "type": "string" }, "contactPhone": { "description": "Optionale Telefonnummer", "maxLength": 40, "type": "string" }, "duration": { "description": "Buchungsdauer; bei Mehrtagen buchen alle Räume GANZTAGS", "enum": [ "EIN_TAG", "ZWEI_TAGE", "DREI_TAGE", "VIER_TAGE" ], "type": "string" }, "endTime": { "anyOf": [ { "pattern": "^(09|1[0-8]):00$", "type": "string" }, { "type": "null" } ], "description": "Endzeit 'HH:00' (09–18) — Pflicht bei EIN_TAG, verboten bei Mehrtagen" }, "notes": { "description": "Optionale Bemerkungen", "maxLength": 2000, "type": "string" }, "participants": { "anyOf": [ { "maximum": 500, "minimum": 1, "type": "integer" }, { "type": "null" } ], "description": "Anzahl Personen — Pflicht, wenn Verpflegung pro Person verrechnet wird" }, "rooms": { "description": "Gewünschte Räume mit Slot und Datum (Raum-IDs aus list_rooms)", "items": { "properties": { "date": { "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "roomId": { "minLength": 1, "type": "string" }, "slot": { "enum": [ "VORMITTAG", "NACHMITTAG", "GANZTAGS", "ZEITFENSTER" ], "type": "string" } }, "required": [ "roomId", "slot", "date" ], "type": "object" }, "maxItems": 16, "minItems": 1, "type": "array" }, "services": { "default": [], "description": "Optionale Zusatzservices (Service-IDs aus list_services)", "items": { "properties": { "notes": { "maxLength": 2000, "type": "string" }, "quantity": { "default": 1, "maximum": 100, "minimum": 1, "type": "integer" }, "serviceId": { "minLength": 1, "type": "string" } }, "required": [ "serviceId" ], "type": "object" }, "maxItems": 20, "type": "array" }, "startTime": { "anyOf": [ { "pattern": "^(0[89]|1[0-7]):00$", "type": "string" }, { "type": "null" } ], "description": "Startzeit 'HH:00' (08–17) — Pflicht bei EIN_TAG, verboten bei Mehrtagen" }, "title": { "description": "Optionaler Titel des Anlasses", "maxLength": 200, "type": "string" } }, "required": [ "rooms", "duration", "contactName", "contactEmail" ], "type": "object" }, "name": "request_booking", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:81d359ee85a4ca73255d91ca07c6ab31c3e2d012ef2eb6f7b274bb7b85f4c780 | sha256sum