Server definition
- Hash
- sha256:a72a04d2daaeed4c2d0820f3c8e14b3c7a877e741f9ed3963dba7d93bbecf589
- What it is
- What a remote MCP server returned when asked what it offers: 18 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Choose a business's quote. This creates a real order at that business and declines the others. If that business protects payments, the reply carries a payment link where the money is held by Agoria until the customer confirms they got the work — hand that link to the customer.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"briefToken": {
"description": "From request_quotes",
"type": "string"
},
"slug": {
"description": "The business whose quote to accept",
"type": "string"
}
},
"required": [
"briefToken",
"slug"
],
"type": "object"
},
"name": "accept_quote",
"outputSchema": null
},
{
"description": "Same index as search_market, but takes a plain sentence — 'three bedroom house under 800k in Geelong', 'automatic ute under 80,000km' — and works out the filters itself. Use it when you have the user's own words; use search_market when you already know the exact filters.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"question": {
"description": "The user's request, in their words",
"type": "string"
}
},
"required": [
"question"
],
"type": "object"
},
"name": "ask_market",
"outputSchema": null
},
{
"description": "Book an appointment at any business by slug. Confirm the slot with check_availability first.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"customerContact": {
"description": "Phone or email",
"type": "string"
},
"customerName": {
"type": "string"
},
"note": {
"type": "string"
},
"serviceId": {
"type": "string"
},
"slug": {
"description": "Business slug",
"type": "string"
},
"startsAt": {
"description": "ISO datetime from check_availability",
"type": "string"
}
},
"required": [
"slug",
"serviceId",
"startsAt",
"customerName",
"customerContact"
],
"type": "object"
},
"name": "book_appointment",
"outputSchema": null
},
{
"description": "Check open appointment slots for a service at a business on a date (YYYY-MM-DD).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"date": {
"description": "YYYY-MM-DD",
"type": "string"
},
"serviceId": {
"description": "Service id from get_business",
"type": "string"
},
"slug": {
"description": "Business slug",
"type": "string"
}
},
"required": [
"slug",
"serviceId",
"date"
],
"type": "object"
},
"name": "check_availability",
"outputSchema": null
},
{
"description": "See every business's answer to a brief side by side: price, what it covers, lead time, rating, whether the payment would be protected, and which is cheapest or soonest.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"briefToken": {
"description": "From request_quotes",
"type": "string"
}
},
"required": [
"briefToken"
],
"type": "object"
},
"name": "compare_quotes",
"outputSchema": null
},
{
"description": "Save a standing search on the customer's behalf. They get told when matching supply appears, AND — anonymously, without their contact details — sellers who could satisfy it can see it and offer. Use this when search_market found nothing good: it converts a dead end into a request the market can answer.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cadence": {
"description": "How often to tell them about new matches",
"enum": [
"instant",
"daily",
"weekly"
],
"type": "string"
},
"contact": {
"description": "The customer's email — never shown to sellers",
"type": "string"
},
"name": {
"type": "string"
},
"request": {
"description": "What they want, in their words",
"type": "string"
}
},
"required": [
"contact",
"request"
],
"type": "object"
},
"name": "create_want",
"outputSchema": null
},
{
"description": "Get full details for a business by slug: description, contact, hours, services, FAQs, and the actions its agent supports.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"slug": {
"description": "Business slug from search_businesses",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_business",
"outputSchema": null
},
{
"description": "Everything about a single item: full facets, photos, where it is, who is selling it and how well-proven they are, a price guide computed from comparable items on the network, and the adjacent services a buyer usually needs next (finance, inspection, conveyancing, transport).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ref": {
"description": "Item ref from search_market, e.g. 'acme-motors/offering:stk991'",
"type": "string"
}
},
"required": [
"ref"
],
"type": "object"
},
"name": "get_item",
"outputSchema": null
},
{
"description": "Get a business's aggregate rating and reviews by slug. Optionally filter to a product/service id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"slug": {
"description": "Business slug",
"type": "string"
},
"targetId": {
"description": "Product/service id; omit for whole business",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_reviews",
"outputSchema": null
},
{
"description": "What can be searched and filtered on. Call this when you are unsure which `kind` or which `filters` keys search_market will accept.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"kind": {
"description": "Narrow to specific kinds",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "list_market_filters",
"outputSchema": null
},
{
"description": "List the products a business sells by slug — price/sale, availability/stock, brand, SKU/GTIN, variants, specs, dimensions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"query": {
"description": "Optional keyword filter",
"type": "string"
},
"slug": {
"description": "Business slug",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "list_products",
"outputSchema": null
},
{
"description": "Open standing requests from real buyers, anonymised. Useful for a business deciding what to stock or list, and for understanding where the network has no supply at all.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"kind": {
"items": {
"type": "string"
},
"type": "array"
},
"unmetOnly": {
"description": "Only requests nothing currently matches",
"type": "boolean"
},
"where": {
"type": "string"
}
},
"type": "object"
},
"name": "open_demand",
"outputSchema": null
},
{
"description": "A price distribution for comparable items on the network — asking prices, and where the network settled the sale, what buyers actually paid. Widens the comparison and says so when the exact match is too thin to be meaningful.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"attributes": {
"additionalProperties": {
"type": [
"string",
"number"
]
},
"description": "What is being priced, e.g. {\"make\":\"Toyota\",\"model\":\"HiLux\",\"year\":2021}",
"type": "object"
},
"kind": {
"description": "Item kind, e.g. 'vehicle' or 'listing'",
"type": "string"
},
"where": {
"description": "Restrict to a locality first; dropped automatically if too thin",
"type": "string"
}
},
"required": [
"kind",
"attributes"
],
"type": "object"
},
"name": "price_guide",
"outputSchema": null
},
{
"description": "Describe a job once and send it to the businesses that can price it. Each one answers with a real number, what it covers, and how long the price stands. Returns a briefToken — poll compare_quotes with it to see the prices as they land, then accept_quote to choose one. Use this instead of calling request_quote at each business separately.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"budget": {
"type": "number"
},
"category": {
"description": "Business category to target, e.g. 'Plumber'",
"type": "string"
},
"customerContact": {
"description": "Email or phone — businesses quote back to this",
"type": "string"
},
"customerName": {
"type": "string"
},
"details": {
"description": "What the customer needs, in plain language. The more specific, the better the quotes.",
"type": "string"
},
"location": {
"description": "City or suburb",
"type": "string"
},
"neededBy": {
"description": "When it's needed",
"type": "string"
},
"slugs": {
"description": "Specific businesses to ask. Omit to have Agoria match them.",
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"description": "Short label for the job",
"type": "string"
}
},
"required": [
"details",
"customerContact"
],
"type": "object"
},
"name": "request_quotes",
"outputSchema": null
},
{
"description": "Resolve a suburb, postcode or city to coordinates and the radius that name implies. Use it to check a place exists before passing it to search_market.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"where": {
"description": "e.g. 'Fitzroy', '3065', 'Geelong VIC'",
"type": "string"
}
},
"required": [
"where"
],
"type": "object"
},
"name": "resolve_place",
"outputSchema": null
},
{
"description": "Find businesses on Agoria by free-text query, category, and/or city. Returns each business's slug plus the actions its agent can take, so you can act on it directly from this same connection.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"type": "string"
},
"city": {
"type": "string"
},
"query": {
"description": "e.g. 'emergency plumber', 'gluten free pizza'",
"type": "string"
}
},
"type": "object"
},
"name": "search_businesses",
"outputSchema": null
},
{
"description": "Search individual items across every business on the network — property listings, vehicles, courses, products, services, events, plans — with typed filters, a price range and a radius around a place. Prefer this over search_businesses whenever the user is looking for a THING rather than a company. Returns items with prices, locations, photo counts and the seller's verification status.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"filters": {
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
},
{
"additionalProperties": false,
"properties": {
"max": {
"type": "number"
},
"min": {
"type": "number"
}
},
"type": "object"
}
]
},
"description": "Typed facet filters keyed by field id, e.g. {\"beds\":{\"min\":3},\"make\":\"toyota\"}",
"type": "object"
},
"kind": {
"description": "Item kinds to include, e.g. ['listing'], ['vehicle'], ['course']. Call list_market_filters to see what exists.",
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"type": "number"
},
"maxPrice": {
"type": "number"
},
"minPrice": {
"type": "number"
},
"page": {
"type": "number"
},
"query": {
"description": "Free text, e.g. 'renovated terrace', 'diesel ute'",
"type": "string"
},
"radiusKm": {
"description": "Radius around `where`. Defaults to the size of the place named.",
"type": "number"
},
"sort": {
"enum": [
"relevance",
"price_asc",
"price_desc",
"newest",
"nearest",
"proven"
],
"type": "string"
},
"verifiedOnly": {
"description": "Only items from businesses whose details have been checked against an outside register",
"type": "boolean"
},
"where": {
"description": "A suburb, postcode, city or 'lat,lng'",
"type": "string"
}
},
"type": "object"
},
"name": "search_market",
"outputSchema": null
},
{
"description": "Perform any non-booking action a business supports (request_quote, place_order, send_message, pay_invoice, sign_document, subscribe, register…). Get valid action ids and their fields from get_business. Pass the action's fields as a JSON object. If the result is 'action_required', hand the user the next.url (payment/signing link) or re-call with fields.confirmToken to confirm.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"action": {
"description": "Action id, e.g. 'request_quote'",
"type": "string"
},
"fields": {
"additionalProperties": {},
"description": "The action's input fields as a JSON object (include confirmToken to complete a gated action)",
"type": "object"
},
"slug": {
"description": "Business slug",
"type": "string"
}
},
"required": [
"slug",
"action",
"fields"
],
"type": "object"
},
"name": "take_action",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:a72a04d2daaeed4c2d0820f3c8e14b3c7a877e741f9ed3963dba7d93bbecf589 | sha256sum