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

Server definition

Hash
sha256:7034d18185364afc633613b759f5a3353d3fd6cf66c566d2af4e8a95fc839e0a
What it is
What a remote MCP server returned when asked what it offers: 8 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Get full trip details: description, duration, highlights, what is included/excluded, and a short itinerary summary. Use when the user asks about a specific trip.", "inputSchema": { "additionalProperties": false, "properties": { "slug": { "description": "Trip slug from search_trips results", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_trip_details", "outputSchema": null }, { "description": "Browse travel guides and articles. Returns published blog posts.", "inputSchema": { "additionalProperties": false, "properties": { "cursor": { "description": "Opaque pagination cursor from a previous response", "type": "string" }, "limit": { "description": "Page size (default 20, max 50)", "type": "number" } }, "type": "object" }, "name": "list_blog_articles", "outputSchema": null }, { "description": "List all published destinations this agency operates in (countries and sub-destinations).", "inputSchema": { "additionalProperties": false, "properties": { "cursor": { "description": "Opaque pagination cursor from a previous response", "type": "string" }, "limit": { "description": "Page size (default 50, max 100)", "type": "number" } }, "type": "object" }, "name": "list_destinations", "outputSchema": null }, { "description": "Find open group-trip departures with future dates. Filter by destination slug, date range, or max price. Use when the user asks \"when can I go to X?\" or wants to compare dates.", "inputSchema": { "additionalProperties": false, "properties": { "cursor": { "description": "Opaque pagination cursor from a previous response", "type": "string" }, "destinationSlug": { "description": "Destination slug — use list_destinations to get valid slugs", "type": "string" }, "fromDate": { "description": "Earliest departure date (YYYY-MM-DD). Defaults to today.", "type": "string" }, "limit": { "description": "Page size (default 20, max 50)", "type": "number" }, "maxPrice": { "description": "Max price per person (departure currency)", "type": "number" }, "toDate": { "description": "Latest departure date (YYYY-MM-DD). Optional.", "type": "string" } }, "type": "object" }, "name": "list_upcoming_departures", "outputSchema": null }, { "description": "Submit a quote request (inquiry) for a trip. Only use after the user has clearly asked for a quote and provided their name and email.", "inputSchema": { "additionalProperties": false, "properties": { "departureDate": { "description": "Preferred departure date (YYYY-MM-DD)", "type": "string" }, "email": { "description": "Contact email address", "type": "string" }, "message": { "description": "Free-text message (required)", "type": "string" }, "name": { "description": "Traveller full name", "type": "string" }, "phone": { "description": "Phone with country code", "type": "string" }, "travellers": { "description": "Number of adult travellers", "type": "number" }, "tripSlug": { "description": "Trip slug the quote is about", "type": "string" } }, "required": [ "name", "email", "message" ], "type": "object" }, "name": "request_quote", "outputSchema": null }, { "description": "Search published tours. Filter by destination slug, free-text search, duration, or price.", "inputSchema": { "additionalProperties": false, "properties": { "cursor": { "description": "Opaque pagination cursor from a previous response", "type": "string" }, "destination": { "description": "Destination slug — use list_destinations to get valid slugs", "type": "string" }, "featured": { "type": "boolean" }, "limit": { "description": "Page size (default 20, max 50)", "type": "number" }, "maxDuration": { "description": "Maximum duration in days", "type": "number" }, "maxPrice": { "description": "Maximum price per person", "type": "number" }, "minDuration": { "description": "Minimum duration in days", "type": "number" }, "search": { "description": "Free-text search over trip name, description, and destinations — matches any supported language, accent-insensitive", "type": "string" } }, "type": "object" }, "name": "search_trips", "outputSchema": null }, { "description": "Create a booking and get a secure payment link the customer opens to pay — card details never pass through you. Provide departureId for a group departure, or tripSlug + startDate for a private trip, plus the lead traveller name, email and traveller counts. Returns a bookingReference and paymentUrl; hand the paymentUrl to the customer to complete payment. Quote prices beforehand via get_trip_details or list_upcoming_departures — the payment page shows the authoritative total.", "inputSchema": { "additionalProperties": false, "properties": { "adults": { "description": "Number of adult travellers (1 or more)", "type": "number" }, "children": { "description": "Number of children (default 0)", "type": "number" }, "departureId": { "description": "Group-departure id (from list_upcoming_departures). Provide this OR tripSlug.", "type": "string" }, "email": { "description": "Customer email — the payment link is tied to it", "type": "string" }, "infants": { "description": "Number of infants (default 0)", "type": "number" }, "locale": { "description": "Preferred language for the payment page and confirmation", "enum": [ "en", "es", "ca" ], "type": "string" }, "name": { "description": "Lead traveller full name", "type": "string" }, "phone": { "description": "Customer phone (optional)", "type": "string" }, "startDate": { "description": "Private-trip start date (YYYY-MM-DD). Required when tripSlug is used, and must then be at least 14 days out and no more than 18 months ahead. Ignored for departureId bookings — the departure row owns the date.", "type": "string" }, "tripSlug": { "description": "Trip slug for a private booking (from search_trips). Provide this OR departureId; requires startDate.", "type": "string" } }, "required": [ "name", "email", "adults" ], "type": "object" }, "name": "start_checkout", "outputSchema": null }, { "description": "Subscribe the user to the travel newsletter. Sends a confirmation email — the subscription activates only after the user clicks the link.", "inputSchema": { "additionalProperties": false, "properties": { "email": { "description": "Email address to subscribe", "type": "string" }, "language": { "description": "Preferred content language", "enum": [ "en", "es", "ca" ], "type": "string" }, "name": { "description": "Subscriber name (optional)", "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "subscribe_newsletter", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:7034d18185364afc633613b759f5a3353d3fd6cf66c566d2af4e8a95fc839e0a | sha256sum