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