Servidor MCP

Bezal — Local Business Intelligence for AI Agents

ai.bezal/local-commerce
Comercio y retail Mapas y ubicación Público y accesible MCP 2025-11-25

Qué hace este MCP

Searches local business directories by location, category, or service and provides profiles, reviews, pricing, availability, comparisons, and service requests.

check_business_availability
Check whether a business is open on a date, based on its posted opening hours. Hours are shared only for providers on a paid Bezal plan, and other listings come back with open set to "unknown". It doesn't know about bookings, so confirm a time with the business.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['business_id', 'date'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'ISO date (YYYY-MM-DD)'}, 'business_id': {'type': 'string', '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)$', 'description': 'Business UUID'}}}
compare_businesses
Compare up to 5 businesses side by side: the public profile fields plus services, BezalRank and whether the profile is claimed. Every business includes name, category, city, state, rating, review count, tier and quote_request_url (its public Bezal profile, where a person can send a request). Phone, website, address, hours, photos and coordinates are included only for providers on a paid Bezal plan, and the description only on Business and Premium.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['business_ids'], 'properties': {'business_ids': {'type': 'array', 'items': {'type': 'string', '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)$'}, 'maxItems': 5, 'minItems': 1, 'description': 'Array of business UUIDs to compare'}}}
get_business
Get the public Bezal profile for one business by UUID. Every business includes name, category, city, state, rating, review count, tier and quote_request_url (its public Bezal profile, where a person can send a request). Phone, website, address, hours, photos and coordinates are included only for providers on a paid Bezal plan, and the description only on Business and Premium. For services, use get_service_catalog.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', '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)$', 'description': 'The UUID of the business to look up'}}}
get_provider_details
Legacy alias for get_business. Prefer get_business for new clients.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['business_id'], 'properties': {'business_id': {'type': 'string', '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)$'}}}
get_reviews
Get reviews for a specific business: Bezal reviews (rating, text, verified flag, date and the reviewer as first name and last initial) plus the Google rating and review count.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['business_id'], 'properties': {'limit': {'type': 'number', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Max reviews to return'}, 'business_id': {'type': 'string', '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)$', 'description': 'Business UUID'}}}
get_service_catalog
Get services and pricing for a specific business. Falls back to the list of service names if no priced catalog exists.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['business_id'], 'properties': {'business_id': {'type': 'string', '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)$', 'description': 'Business UUID'}}}
list_categories
List all available business categories in the directory.
Esquema de entrada
{'type': 'object', 'properties': {}}
request_service
Send a service request to a business on behalf of a person. Returns delivered: true only when the business owner was notified. Businesses that haven't claimed their Bezal profile get the request saved but aren't notified.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['business_id', 'seeker_name', 'seeker_email', 'message'], 'properties': {'message': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'Detailed message about what the requester needs'}, 'business_id': {'type': 'string', '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)$', 'description': 'The UUID of the business to send the request to'}, 'seeker_name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Name of the person requesting the service'}, 'seeker_email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254, 'description': 'Email address of the requester'}, 'service_needed': {'type': 'string', 'maxLength': 200, 'description': 'Short description of the service category'}}}
search_businesses
Search local business profiles on Bezal by name, category, or location. Every business includes name, category, city, state, rating, review count, tier and quote_request_url (its public Bezal profile, where a person can send a request). Phone, website, address, hours, photos and coordinates are included only for providers on a paid Bezal plan, and the description only on Business and Premium.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string', 'maxLength': 100, 'description': 'City name'}, 'limit': {'type': 'number', 'default': 5, 'maximum': 20, 'minimum': 1, 'description': 'Number of results to return (1-20)'}, 'query': {'type': 'string', 'maxLength': 200, 'description': 'Free-text search across business name and description'}, 'state': {'type': 'string', 'maxLength': 40, 'description': 'Two-letter state code or full state name'}, 'category': {'type': 'string', 'maxLength': 100, 'description': 'Category keyword (e.g. "plumbing", "hr consulting")'}}}
search_by_city
Search for businesses in a specific city, optionally filtered by category. Every business includes name, category, city, state, rating, review count, tier and quote_request_url (its public Bezal profile, where a person can send a request). Phone, website, address, hours, photos and coordinates are included only for providers on a paid Bezal plan, and the description only on Business and Premium.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['city'], 'properties': {'city': {'type': 'string', 'maxLength': 100, 'description': 'City name'}, 'limit': {'type': 'number', 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Max results'}, 'state': {'type': 'string', 'maxLength': 40, 'description': 'Two-letter state code or full name'}, 'category': {'type': 'string', 'maxLength': 100, 'description': 'Category keyword filter'}}}
search_by_service
Find businesses that list a specific service, when you know the exact service rather than the category (for example "Drain cleaning" rather than "plumbing"). Every business includes name, category, city, state, rating, review count, tier and quote_request_url (its public Bezal profile, where a person can send a request). Phone, website, address, hours, photos and coordinates are included only for providers on a paid Bezal plan, and the description only on Business and Premium.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['service_type'], 'properties': {'location': {'type': 'string', 'maxLength': 100, 'description': 'Optional city or state to filter by'}, 'service_type': {'type': 'string', 'maxLength': 100, 'description': 'Exact service offered (matched against the services list)'}}}
search_providers
Legacy alias for search_businesses. Prefer search_businesses for new clients.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'default': 5, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200}, 'category': {'type': 'string', 'maxLength': 100}, 'location': {'type': 'string', 'maxLength': 100}}}
submit_quote_request
Legacy alias for request_service. Prefer request_service for new clients.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['business_id', 'seeker_name', 'seeker_email', 'message'], 'properties': {'message': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'business_id': {'type': 'string', '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)$'}, 'seeker_name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'seeker_email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254}}}
Modificado
submit_quote_request
19 de September de 2026 a las 02:49
Modificado
search_providers
19 de September de 2026 a las 02:49
Modificado
search_by_city
19 de September de 2026 a las 02:49
Modificado
compare_businesses
19 de September de 2026 a las 02:49
Modificado
check_business_availability
19 de September de 2026 a las 02:49
Modificado
get_service_catalog
19 de September de 2026 a las 02:49
Modificado
get_reviews
19 de September de 2026 a las 02:49
Modificado
search_by_service
19 de September de 2026 a las 02:49
Modificado
request_service
19 de September de 2026 a las 02:49
Modificado
get_business
19 de September de 2026 a las 02:49
Modificado
search_businesses
19 de September de 2026 a las 02:49
Añadido
submit_quote_request
11 de September de 2026 a las 15:31
Añadido
get_provider_details
11 de September de 2026 a las 15:31
Añadido
search_providers
11 de September de 2026 a las 15:31
Añadido
search_by_city
11 de September de 2026 a las 15:31
Añadido
compare_businesses
11 de September de 2026 a las 15:31
Añadido
check_business_availability
11 de September de 2026 a las 15:31
Añadido
get_service_catalog
11 de September de 2026 a las 15:31
Añadido
get_reviews
11 de September de 2026 a las 15:31
Añadido
search_by_service
11 de September de 2026 a las 15:31
Añadido
request_service
11 de September de 2026 a las 15:31
Añadido
list_categories
11 de September de 2026 a las 15:31
Añadido
get_business
11 de September de 2026 a las 15:31
Añadido
search_businesses
11 de September de 2026 a las 15:31