Serveur MCP

Agoria

studio.agoria/registry
Entreprise et opérations Commerce et retail Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Searches businesses and marketplace listings, checks availability, requests and compares quotes, books appointments, places orders, and performs supported business actions.

accept_quote
Accept one of the quotes
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.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['briefToken', 'slug'], 'properties': {'slug': {'type': 'string', 'description': 'The business whose quote to accept'}, 'briefToken': {'type': 'string', 'description': 'From request_quotes'}}, 'additionalProperties': False}
ask_market
Search everything for sale, in one sentence
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.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['question'], 'properties': {'question': {'type': 'string', 'description': "The user's request, in their words"}}, 'additionalProperties': False}
book_appointment
Book an appointment at a business
Book an appointment at any business by slug. Confirm the slot with check_availability first.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'serviceId', 'startsAt', 'customerName', 'customerContact'], 'properties': {'note': {'type': 'string'}, 'slug': {'type': 'string', 'description': 'Business slug'}, 'startsAt': {'type': 'string', 'description': 'ISO datetime from check_availability'}, 'serviceId': {'type': 'string'}, 'customerName': {'type': 'string'}, 'customerContact': {'type': 'string', 'description': 'Phone or email'}}, 'additionalProperties': False}
check_availability
Check availability at a business
Check open appointment slots for a service at a business on a date (YYYY-MM-DD).
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'serviceId', 'date'], 'properties': {'date': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'slug': {'type': 'string', 'description': 'Business slug'}, 'serviceId': {'type': 'string', 'description': 'Service id from get_business'}}, 'additionalProperties': False}
compare_quotes
Compare the quotes on a brief
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.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['briefToken'], 'properties': {'briefToken': {'type': 'string', 'description': 'From request_quotes'}}, 'additionalProperties': False}
create_want
Tell the network what you're looking for
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.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['contact', 'request'], 'properties': {'name': {'type': 'string'}, 'cadence': {'enum': ['instant', 'daily', 'weekly'], 'type': 'string', 'description': 'How often to tell them about new matches'}, 'contact': {'type': 'string', 'description': "The customer's email â\x80\x94 never shown to sellers"}, 'request': {'type': 'string', 'description': 'What they want, in their words'}}, 'additionalProperties': False}
get_business
Get a business profile
Get full details for a business by slug: description, contact, hours, services, FAQs, and the actions its agent supports.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Business slug from search_businesses'}}, 'additionalProperties': False}
get_item
Get one item for sale
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).
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ref'], 'properties': {'ref': {'type': 'string', 'description': "Item ref from search_market, e.g. 'acme-motors/offering:stk991'"}}, 'additionalProperties': False}
get_reviews
Get reviews & rating for a business
Get a business's aggregate rating and reviews by slug. Optionally filter to a product/service id.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Business slug'}, 'targetId': {'type': 'string', 'description': 'Product/service id; omit for whole business'}}, 'additionalProperties': False}
list_market_filters
List the item kinds and filters available
What can be searched and filtered on. Call this when you are unsure which `kind` or which `filters` keys search_market will accept.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'kind': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Narrow to specific kinds'}}, 'additionalProperties': False}
list_products
List products at a business
List the products a business sells by slug — price/sale, availability/stock, brand, SKU/GTIN, variants, specs, dimensions.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Business slug'}, 'query': {'type': 'string', 'description': 'Optional keyword filter'}}, 'additionalProperties': False}
open_demand
What buyers are looking for and nobody is supplying
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.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'kind': {'type': 'array', 'items': {'type': 'string'}}, 'where': {'type': 'string'}, 'unmetOnly': {'type': 'boolean', 'description': 'Only requests nothing currently matches'}}, 'additionalProperties': False}
price_guide
What is a fair price?
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.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'attributes'], 'properties': {'kind': {'type': 'string', 'description': "Item kind, e.g. 'vehicle' or 'listing'"}, 'where': {'type': 'string', 'description': 'Restrict to a locality first; dropped automatically if too thin'}, 'attributes': {'type': 'object', 'description': 'What is being priced, e.g. {"make":"Toyota","model":"HiLux","year":2021}', 'additionalProperties': {'type': ['string', 'number']}}}, 'additionalProperties': False}
request_quotes
Get quotes from several businesses at once
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.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['details', 'customerContact'], 'properties': {'slugs': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Specific businesses to ask. Omit to have Agoria match them.'}, 'title': {'type': 'string', 'description': 'Short label for the job'}, 'budget': {'type': 'number'}, 'details': {'type': 'string', 'description': 'What the customer needs, in plain language. The more specific, the better the quotes.'}, 'category': {'type': 'string', 'description': "Business category to target, e.g. 'Plumber'"}, 'location': {'type': 'string', 'description': 'City or suburb'}, 'neededBy': {'type': 'string', 'description': "When it's needed"}, 'customerName': {'type': 'string'}, 'customerContact': {'type': 'string', 'description': 'Email or phone â\x80\x94 businesses quote back to this'}}, 'additionalProperties': False}
resolve_place
Turn a place name into a point and a radius
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.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['where'], 'properties': {'where': {'type': 'string', 'description': "e.g. 'Fitzroy', '3065', 'Geelong VIC'"}}, 'additionalProperties': False}
search_businesses
Search the business directory
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.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string'}, 'query': {'type': 'string', 'description': "e.g. 'emergency plumber', 'gluten free pizza'"}, 'category': {'type': 'string'}}, 'additionalProperties': False}
search_market
Search everything for sale
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.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'kind': {'type': 'array', 'items': {'type': 'string'}, 'description': "Item kinds to include, e.g. ['listing'], ['vehicle'], ['course']. Call list_market_filters to see what exists."}, 'page': {'type': 'number'}, 'sort': {'enum': ['relevance', 'price_asc', 'price_desc', 'newest', 'nearest', 'proven'], 'type': 'string'}, 'limit': {'type': 'number'}, 'query': {'type': 'string', 'description': "Free text, e.g. 'renovated terrace', 'diesel ute'"}, 'where': {'type': 'string', 'description': "A suburb, postcode, city or 'lat,lng'"}, 'filters': {'type': 'object', 'description': 'Typed facet filters keyed by field id, e.g. {"beds":{"min":3},"make":"toyota"}', 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}, {'type': 'object', 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}}, 'additionalProperties': False}]}}, 'maxPrice': {'type': 'number'}, 'minPrice': {'type': 'number'}, 'radiusKm': {'type': 'number', 'description': 'Radius around `where`. Defaults to the size of the place named.'}, 'verifiedOnly': {'type': 'boolean', 'description': 'Only items from businesses whose details have been checked against an outside register'}}, 'additionalProperties': False}
take_action
Take an action at a business
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.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'action', 'fields'], 'properties': {'slug': {'type': 'string', 'description': 'Business slug'}, 'action': {'type': 'string', 'description': "Action id, e.g. 'request_quote'"}, 'fields': {'type': 'object', 'description': "The action's input fields as a JSON object (include confirmToken to complete a gated action)", 'additionalProperties': {}}}, 'additionalProperties': False}
Ajouté
accept_quote
17 September 2026 12:55
Ajouté
compare_quotes
17 September 2026 12:55
Ajouté
request_quotes
17 September 2026 12:55
Ajouté
take_action
17 September 2026 12:55
Ajouté
book_appointment
17 September 2026 12:55
Ajouté
check_availability
17 September 2026 12:55
Ajouté
get_reviews
17 September 2026 12:55
Ajouté
list_products
17 September 2026 12:55
Ajouté
get_business
17 September 2026 12:55
Ajouté
resolve_place
17 September 2026 12:55
Ajouté
open_demand
17 September 2026 12:55
Ajouté
create_want
17 September 2026 12:55
Ajouté
price_guide
17 September 2026 12:55
Ajouté
list_market_filters
17 September 2026 12:55
Ajouté
get_item
17 September 2026 12:55
Ajouté
ask_market
17 September 2026 12:55
Ajouté
search_market
17 September 2026 12:55
Ajouté
search_businesses
17 September 2026 12:55