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

Server definition

Hash
sha256:832c23f30a51830eaa27ed8aa6a88422890ba6be45bb2f2b53b3d6b8a11c3ef9
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Shortlist Pass hosts the live pages of real local businesses. The read tools return published data only: menus, upcoming stops and events, pickup availability. start_order creates a cart from offering ids (prices are not accepted) and returns a cart_url on the business's page, where the customer reviews the order and pays; payment details are not handled by these tools. Food trucks sell per stop, and each stop's menu is listed in the upcoming-events data. Plain JSON API: https://app.shortlistpass.com/api/agent/v1. Docs: https://app.shortlistpass.com/developers/agents.", "tools": [ { "description": "Returns the public profile of one Shortlist business: name, type, description, town, phone, website, page URL, hours (fixed locations only), whether online ordering is open, and the order page URL when it is. Mobile businesses (food trucks) have no fixed address; their locations are the upcoming stops in the upcoming-events data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "subdomain": { "description": "The business subdomain, e.g. \"nitos\" for nitos.shortlistpass.com", "maxLength": 63, "minLength": 1, "type": "string" } }, "required": [ "subdomain" ], "type": "object" }, "name": "get_business", "outputSchema": null }, { "description": "Returns the current public menu of one business: every active item with name, description, price, category, tags, a sold-out flag and an image URL. Prices are in US dollars. For a business with menu_source \"event\" (food trucks), this is the full catalog of everything it sells; what is sold on a given day is listed per stop in the upcoming-events data, and the note field states this. The response includes the business summary with the order page URL when ordering is open.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "subdomain": { "description": "The business subdomain, e.g. \"nitos\"", "maxLength": 63, "minLength": 1, "type": "string" } }, "required": [ "subdomain" ], "type": "object" }, "name": "get_menu", "outputSchema": null }, { "description": "Returns the upcoming published events and stops for one business; for a food truck these are its locations. Each has a name, ISO start and end with the local offset, location name and address, whether pre-orders are open for that stop, the pickup time slots still available with remaining capacity (null means no cap), and a menu with menu_status: \"set\" means the items listed are what is sold at that stop and their offering ids are accepted by start_order for that stop; \"not_live\" means the business has not put a menu on that stop yet, the menu is empty, menu_note carries the explanation, and start_order does not accept the stop; \"catalog\" means a fixed business whose standing menu applies. Recurring events carry a recurrence description and the next date. Cancelled and test events are not included.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "subdomain": { "description": "The business subdomain, e.g. \"nitos\"", "maxLength": 63, "minLength": 1, "type": "string" } }, "required": [ "subdomain" ], "type": "object" }, "name": "get_upcoming_events", "outputSchema": null }, { "description": "Searches real local businesses on Shortlist Pass (food trucks, restaurants, shops, HOAs and more). Optional filters: a town slug (e.g. \"myrtle-beach\"), a business category key (e.g. \"food_truck\", \"restaurant\", \"bakery\"), and a free-text query. The query matches every word, in any order, against the business name, headline and type, and also against its active menu items (name, description, tags, category); a business found through its menu carries matched_items (id, name, price, up to 5). For food trucks, matched items come from the full catalog and menu_note says so; what is sold on a given day is per stop. Businesses with a menu match rank first. Returns up to 25 matches, each with its subdomain, which is the identifier the other tools take. Demo and test pages are not included.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "description": "Business category key, e.g. \"food_truck\"", "maxLength": 80, "type": "string" }, "query": { "description": "Free-text query, e.g. \"empanadas\" or \"buffalo chicken fries\"; matched word-by-word against the business and its menu items", "maxLength": 80, "type": "string" }, "town": { "description": "Town slug, e.g. \"myrtle-beach\"", "maxLength": 80, "type": "string" } }, "type": "object" }, "name": "search_businesses", "outputSchema": null }, { "description": "Creates a short-lived cart for a customer at one Shortlist business and returns a cart_url on the business's own page, where the customer reviews the order and pays through the business's checkout. Input is offering ids and quantities; prices are not accepted. The server prices every line from the menu, applies the business's deals and tax, and returns the resulting quote. For businesses with menu_source \"event\" (food trucks), event_id is required and identifies one upcoming stop; the offering ids accepted are those listed in that stop's menu in the upcoming-events data, and pickup_time is one of that stop's open pickup_slots. A stop whose menu_status is \"not_live\" is refused. The cart expires in 30 minutes. This tool does not accept payment details or addresses; payment happens on the business's page at the returned cart_url. In the quote, total_before_tip excludes the optional tip, which the customer chooses on the checkout page; quote.tip.note states the business's suggested percentage. agent.name is recorded on the cart and the order so the business can see which assistant helped.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "agent": { "description": "The name of the assistant placing the order, e.g. { \"name\": \"Claude\" }. Optional; defaults to \"AI assistant\".", "properties": { "name": { "maxLength": 60, "minLength": 1, "type": "string" } }, "required": [ "name" ], "type": "object" }, "customer": { "description": "Customer details, if provided; pre-filled on the order sheet", "properties": { "email": { "maxLength": 120, "type": "string" }, "name": { "maxLength": 80, "type": "string" }, "phone": { "maxLength": 30, "type": "string" } }, "type": "object" }, "event_id": { "description": "A stop id from the upcoming-events results. Required for businesses with menu_source \"event\".", "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" }, "items": { "items": { "properties": { "offering_id": { "description": "An offering id from the stop's menu (or from the menu results for a fixed business)", "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" }, "options": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ] }, "description": "The offering's own variant or modifier choices, by option value or label", "propertyNames": { "type": "string" }, "type": "object" }, "quantity": { "description": "Whole number, 1 to 100", "maximum": 100, "minimum": 1, "type": "integer" } }, "required": [ "offering_id", "quantity" ], "type": "object" }, "maxItems": 12, "minItems": 1, "type": "array" }, "pickup_time": { "description": "One of the stop's open pickup_slots, \"HH:MM\" 24-hour", "pattern": "^\\d{2}:\\d{2}$", "type": "string" }, "subdomain": { "description": "The business subdomain, e.g. \"nitos\"", "maxLength": 63, "minLength": 1, "type": "string" } }, "required": [ "subdomain", "items" ], "type": "object" }, "name": "start_order", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:832c23f30a51830eaa27ed8aa6a88422890ba6be45bb2f2b53b3d6b8a11c3ef9 | sha256sum