Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,561Letters: 14Defects: 1,336counted just now
teppi

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": "easygroupflights.com books group air travel. Parties of 10 or more get a negotiated group fare, which no public booking engine can price: egf_prepare_group_quote checks the brief, and egf_request_group_quote sends it to a human agent once the user has confirmed the summary. Smaller parties are ordinary tickets: egf_search_flights finds them, egf_get_offer gives one fare's booking link, and egf_prepare_flight_offer then egf_send_flight_offer email it as an offer. The guides and published studies are available as resources — quote those rather than figures from memory. Prompts such as school-trip and wedding-guests walk the user through a complete brief.", "tools": [ { "description": "Returns one fare from a recent flight search, by its offer_id: the per-person price, the flights, a booking link and the time until which the offer_id is valid. Works for 30 minutes after the search.", "inputSchema": { "properties": { "offer_id": { "description": "offer_id of a fare, exactly as the flight search returned it.", "type": "string" } }, "required": [ "offer_id" ], "type": "object" }, "name": "egf_get_offer", "outputSchema": { "properties": { "booking_url": { "description": "Absolute https link where the traveller books this fare.", "type": "string" }, "carriers": { "items": { "type": "string" }, "type": "array" }, "currency": { "description": "ISO 4217 code.", "type": "string" }, "departure": { "description": "Local departure, ISO 8601 (YYYY-MM-DDTHH:MM).", "type": "string" }, "flight_numbers": { "items": { "type": "string" }, "type": "array" }, "offer_id": { "type": "string" }, "price": { "description": "Per person, in currency.", "type": "number" }, "return": { "description": "Local return departure, ISO 8601 (YYYY-MM-DDTHH:MM).", "type": "string" }, "stops_back": { "type": "integer" }, "stops_out": { "type": "integer" }, "valid_until": { "description": "ISO 8601 date-time. After it, search again: the price is live.", "type": "string" } }, "required": [ "offer_id", "currency", "carriers", "flight_numbers", "booking_url", "valid_until" ], "type": "object" } }, { "description": "Describes easygroupflights for one market: who it serves, how group fares differ from public tickets, what happens after a quote is requested, and how to reach a person. Submits nothing.", "inputSchema": { "properties": { "market": { "description": "Which market to describe. Defaults to en.", "enum": [ "en", "pl", "at" ], "type": "string" } }, "type": "object" }, "name": "egf_get_service_info", "outputSchema": { "properties": { "contact": { "properties": { "email": { "type": "string" }, "phone": { "type": "string" }, "whatsapp": { "type": "string" }, "whatsapp_url": { "type": "string" } }, "required": [ "email", "phone", "whatsapp", "whatsapp_url" ], "type": "object" }, "domain": { "type": "string" }, "group_minimum": { "description": "Seated travellers needed for a group fare.", "type": "integer" }, "language": { "type": "string" }, "market": { "enum": [ "en", "pl", "at" ], "type": "string" }, "max_reply_hours": { "type": "integer" }, "typical_reply_hours": { "type": "integer" }, "website": { "description": "Absolute https URL of the market's site.", "type": "string" } }, "required": [ "market", "domain", "website", "language", "group_minimum", "typical_reply_hours", "max_reply_hours", "contact" ], "type": "object" } }, { "description": "Checks an email that would send one fare from a flight search to the traveller as a formal offer, and returns who it goes to and what it offers, with a confirmation_token valid for 15 minutes. Nothing is sent.", "inputSchema": { "properties": { "adults": { "description": "Adults on the offer. Defaults to 1.", "minimum": 1, "type": "integer" }, "children": { "description": "Children on the offer.", "minimum": 0, "type": "integer" }, "email": { "description": "Where to send the offer.", "type": "string" }, "infants": { "description": "Lap infants on the offer.", "minimum": 0, "type": "integer" }, "message": { "description": "A sentence or two of context for the traveller, e.g. why this option was chosen.", "type": "string" }, "name": { "description": "Traveller's name, used to address the email.", "type": "string" }, "offer_id": { "description": "offer_id of the chosen fare, exactly as the flight search returned it.", "type": "string" } }, "required": [ "offer_id", "email" ], "type": "object" }, "name": "egf_prepare_flight_offer", "outputSchema": { "properties": { "adults": { "type": "integer" }, "carriers": { "items": { "type": "string" }, "type": "array" }, "children": { "type": "integer" }, "confirmation_token": { "description": "Authorises sending exactly this email.", "type": "string" }, "departure": { "description": "Local departure, ISO 8601 (YYYY-MM-DDTHH:MM).", "type": "string" }, "email": { "description": "Where the offer would go.", "type": "string" }, "expires_at": { "description": "ISO 8601 date-time after which the token is refused.", "type": "string" }, "infants": { "type": "integer" }, "name": { "type": "string" }, "offer_id": { "type": "string" }, "price": { "description": "Per person, when the search is still held.", "type": "number" } }, "required": [ "offer_id", "email", "name", "adults", "children", "infants", "confirmation_token", "expires_at" ], "type": "object" } }, { "description": "Checks a group flight enquiry for 10 or more seated travellers and returns the exact brief that would go to a human specialist, with a confirmation_token valid for 15 minutes. Nothing is sent.", "inputSchema": { "properties": { "adults": { "description": "Travellers aged 16 or over.", "minimum": 1, "type": "integer" }, "cabin_class": { "description": "Defaults to economy.", "enum": [ "economy", "business" ], "type": "string" }, "children": { "description": "Travellers aged 2–11, each in their own seat.", "minimum": 0, "type": "integer" }, "children_ages": { "description": "Age of each child, one entry per child.", "items": { "type": "integer" }, "type": "array" }, "date_flexibility_days": { "description": "How many days either side of the given dates the group can move. 0 means fixed dates.", "minimum": 0, "type": "integer" }, "departure_date": { "description": "Outbound date, ISO 8601 (YYYY-MM-DD).", "type": "string" }, "destination": { "description": "Arrival airport as an IATA code, e.g. [\"BCN\"].", "items": { "pattern": "^[A-Za-z]{3}$", "type": "string" }, "type": "array" }, "email": { "description": "Where the quote is sent. Required.", "type": "string" }, "first_name": { "description": "Organiser's first name.", "type": "string" }, "infants": { "description": "Under 2, travelling on an adult lap. They do not occupy a seat and do not count towards the group of 10.", "minimum": 0, "type": "integer" }, "last_name": { "description": "Organiser's surname.", "type": "string" }, "market": { "description": "Which market handles the enquiry: en (easygroupflights.com), pl (grupoweloty.pl) or at (gruppenfluege.at). Defaults to en.", "enum": [ "en", "pl", "at" ], "type": "string" }, "note": { "description": "Anything that shapes the fare: what the group is (school trip, wedding, sports team, conference), baggage or equipment needs, budget, who pays, whether names are known yet.", "type": "string" }, "origin": { "description": "Departure airport as an IATA code, e.g. [\"LHR\"]. Several codes are allowed when the group converges from more than one city.", "items": { "pattern": "^[A-Za-z]{3}$", "type": "string" }, "type": "array" }, "phone": { "description": "Contact number in international form, e.g. +441244568183. Required: a group specialist may phone to confirm details.", "type": "string" }, "return_date": { "description": "Return date, ISO 8601 (YYYY-MM-DD). Omit for a one-way group booking.", "type": "string" }, "return_destination": { "description": "Return leg arrival airports, if travellers go home to a different city.", "items": { "type": "string" }, "type": "array" }, "return_origin": { "description": "Return leg departure airports, if the group flies home from somewhere other than the destination.", "items": { "type": "string" }, "type": "array" }, "youths": { "description": "Travellers aged 12–15.", "minimum": 0, "type": "integer" }, "youths_ages": { "description": "Age of each youth, one entry per youth.", "items": { "type": "integer" }, "type": "array" } }, "required": [ "origin", "destination", "departure_date", "adults", "email", "phone" ], "type": "object" }, "name": "egf_prepare_group_quote", "outputSchema": { "properties": { "adults": { "type": "integer" }, "cabin": { "enum": [ "economy", "business" ], "type": "string" }, "children": { "type": "integer" }, "confirmation_token": { "description": "Authorises sending exactly this brief.", "type": "string" }, "departure_date": { "description": "ISO 8601 date (YYYY-MM-DD).", "type": "string" }, "destination": { "items": { "type": "string" }, "type": "array" }, "domain": { "description": "The market whose desk handles the enquiry.", "type": "string" }, "expires_at": { "description": "ISO 8601 date-time after which the token is refused.", "type": "string" }, "infants": { "type": "integer" }, "market": { "enum": [ "en", "pl", "at" ], "type": "string" }, "origin": { "items": { "type": "string" }, "type": "array" }, "reply_to": { "description": "Where the quote will be emailed.", "type": "string" }, "return_date": { "description": "ISO 8601 date (YYYY-MM-DD). Absent for one way.", "type": "string" }, "seats": { "description": "Seated travellers; lap infants excluded.", "type": "integer" }, "youths": { "type": "integer" } }, "required": [ "market", "domain", "origin", "destination", "departure_date", "adults", "youths", "children", "infants", "seats", "cabin", "reply_to", "confirmation_token", "expires_at" ], "type": "object" } }, { "description": "Sends a prepared group flight enquiry to a human specialist, who replies by email with a written quote, usually within about 2 hours. Takes only the confirmation_token from preparing it; it returns a confirmation, not a price, and books or charges nothing.", "inputSchema": { "properties": { "confirmation_token": { "description": "confirmation_token returned when this write was prepared. Valid for 15 minutes.", "type": "string" }, "idempotency_key": { "description": "Optional. Any unique string for this request, such as a UUID. Calling again with the same key and the same arguments returns the first result instead of sending again. Kept for 24 hours.", "maxLength": 128, "type": "string" } }, "required": [ "confirmation_token" ], "type": "object" }, "name": "egf_request_group_quote", "outputSchema": { "properties": { "adults": { "type": "integer" }, "cabin": { "enum": [ "economy", "business" ], "type": "string" }, "children": { "type": "integer" }, "departure_date": { "description": "ISO 8601 date (YYYY-MM-DD).", "type": "string" }, "destination": { "items": { "type": "string" }, "type": "array" }, "domain": { "description": "The market whose desk handles the enquiry.", "type": "string" }, "infants": { "type": "integer" }, "market": { "enum": [ "en", "pl", "at" ], "type": "string" }, "max_reply_hours": { "type": "integer" }, "origin": { "items": { "type": "string" }, "type": "array" }, "reply_to": { "description": "Where the quote will be emailed.", "type": "string" }, "return_date": { "description": "ISO 8601 date (YYYY-MM-DD). Absent for one way.", "type": "string" }, "seats": { "description": "Seated travellers; lap infants excluded.", "type": "integer" }, "status": { "description": "The enquiry reached the specialist desk. Nothing is booked or charged.", "enum": [ "submitted" ], "type": "string" }, "typical_reply_hours": { "type": "integer" }, "youths": { "type": "integer" } }, "required": [ "status", "market", "domain", "origin", "destination", "departure_date", "adults", "youths", "children", "infants", "seats", "cabin", "reply_to", "typical_reply_hours", "max_reply_hours" ], "type": "object" } }, { "description": "Searches live public fares for 1 to 9 travellers and returns options with per-person prices, carriers and stops, cheapest first, each with an offer_id valid for 30 minutes. Results come in pages: pass next_cursor back as cursor, with the same route and dates, for more.", "inputSchema": { "properties": { "cursor": { "description": "next_cursor from the previous page of this search. Omit for the first page.", "type": "string" }, "departure_date": { "description": "Outbound date, ISO 8601 (YYYY-MM-DD).", "type": "string" }, "destination": { "description": "Arrival airport, IATA code, e.g. BCN.", "type": "string" }, "limit": { "description": "Fares per page. Defaults to 10.", "maximum": 20, "minimum": 1, "type": "integer" }, "origin": { "description": "Departure airport, IATA code, e.g. VIE.", "type": "string" }, "passengers": { "description": "How many people are travelling, 1 to 9. Defaults to 1.", "maximum": 9, "minimum": 1, "type": "integer" }, "return_date": { "description": "Return date, ISO 8601 (YYYY-MM-DD). Omit for one way.", "type": "string" } }, "required": [ "origin", "destination", "departure_date" ], "type": "object" }, "name": "egf_search_flights", "outputSchema": { "properties": { "currency": { "description": "ISO 4217 code every price is in.", "type": "string" }, "departure_date": { "description": "ISO 8601 date (YYYY-MM-DD).", "type": "string" }, "destination": { "type": "string" }, "fares": { "items": { "properties": { "carriers": { "items": { "type": "string" }, "type": "array" }, "departure": { "description": "Local departure, ISO 8601 (YYYY-MM-DDTHH:MM).", "type": "string" }, "flight_numbers": { "items": { "type": "string" }, "type": "array" }, "offer_id": { "description": "Identifies this fare when emailing it as an offer. Valid for this search only.", "type": "string" }, "price": { "description": "Per person, in currency.", "type": "number" }, "rank": { "description": "1 is the cheapest.", "type": "integer" }, "return": { "description": "Local return departure, ISO 8601 (YYYY-MM-DDTHH:MM).", "type": "string" }, "stops_back": { "type": "integer" }, "stops_out": { "type": "integer" } }, "required": [ "rank", "offer_id", "carriers", "flight_numbers" ], "type": "object" }, "type": "array" }, "next_cursor": { "description": "Pass as cursor for the next page. Absent on the last page.", "type": "string" }, "origin": { "type": "string" }, "passengers": { "type": "integer" }, "return_date": { "description": "ISO 8601 date (YYYY-MM-DD). Absent for one way.", "type": "string" }, "total": { "description": "Fares the search found, across all pages.", "type": "integer" } }, "required": [ "origin", "destination", "departure_date", "passengers", "currency", "total", "fares" ], "type": "object" } }, { "description": "Emails a prepared flight offer to the traveller as a formal offer they can accept. Takes only the confirmation_token from preparing it, and sends a real email.", "inputSchema": { "properties": { "confirmation_token": { "description": "confirmation_token returned when this write was prepared. Valid for 15 minutes.", "type": "string" }, "idempotency_key": { "description": "Optional. Any unique string for this request, such as a UUID. Calling again with the same key and the same arguments returns the first result instead of sending again. Kept for 24 hours.", "maxLength": 128, "type": "string" } }, "required": [ "confirmation_token" ], "type": "object" }, "name": "egf_send_flight_offer", "outputSchema": { "properties": { "email": { "description": "Where the offer went.", "type": "string" }, "offer_id": { "type": "string" }, "reply": { "description": "The fare service's own confirmation.", "type": "string" }, "status": { "enum": [ "sent" ], "type": "string" } }, "required": [ "status", "email", "offer_id", "reply" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:d414691e728c309a1e485b29b74d91807f0f97035fc6a4a1124b5eacaad875c3 | sha256sum