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 yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:7034d18185364afc633613b759f5a3353d3fd6cf66c566d2af4e8a95fc839e0a | sha256sum