Start here
How an assistant finds and answers questions
The assistant reads the action catalog, searches Openleet for a matching published business, receives its stable slug, and then requests the specific facts or availability needed for the answer.
- 1
Connect
The MCP client connects to openleet.com/mcp.
- 2
Discover actions
The client calls tools/list and reads each input schema.
- 3
Find the business
search_businesses returns matching names, slugs, and source URLs.
- 4
Read exact facts
The client calls a profile, content, or booking tool and cites the source.
Action catalog
Five public, read-only tools
Find published businesses
search_businessesSearch by business name or topic, city, or category. Returns the public slug and source URL needed for follow-up calls.
Inputs: query, city, category, limit
Read a business profile
get_business_profileReturns public identity, categories, contact options, locations, hours, FAQs, languages, and booking status.
Inputs: slug
Read published content
list_business_contentLists public services, products, articles, projects, events, gallery entries, or menu items with their source URLs.
Inputs: slug, type, limit
Read bookable services
list_booking_servicesLists active booking services only when that published business has enabled and completed public booking.
Inputs: slug
Check live availability
check_booking_availabilityUses the same schedule, capacity, notice, region, and postal-code rules as the business customer booking page.
Inputs: slug, service_id, date, postal_code
JSON-RPC examples
Discover first, then request details
1. Search for a business
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "search_businesses",
"arguments": {
"city": "Squamish",
"category": "home services",
"limit": 10
}
}
}2. Use the returned slug
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "get_business_profile",
"arguments": {
"slug": "trustaxca"
}
}
}search_businesses first, or extract the slug from a known URL such as openleet.com/businesses/trustaxca.Live booking information
Check availability without exposing appointments
Correct sequence
- 1. Find the published business slug.
- 2. Call list_booking_services.
- 3. Copy the returned service ID.
- 4. Call check_booking_availability.
- 5. Send the user to the official booking URL.
Current boundary
MCP returns open slots, not existing appointment records. It cannot create, cancel, or reschedule a booking in this release. Availability may change until the customer completes the official booking form.
{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "check_booking_availability",
"arguments": {
"slug": "example-business",
"service_id": "SERVICE_ID_FROM_LIST_BOOKING_SERVICES",
"date": "2026-11-10",
"postal_code": "V8B 0A1"
}
}
}Data boundaries
What the MCP server can expose
Included
- Published business profiles claimed by their owners; search lists only businesses that appear in Explore
- Posts with published=true and visibility=PUBLIC
- Published locations, FAQs, and contact options, plus hours when the owner shows them
- Active services from an enabled public booking setup
- Live available slots after all booking rules are applied
Excluded
- Unclaimed profiles prepared by Openleet
- Draft, private, and unlisted posts
- Coming-soon, spam, duplicate, or non-promotable profiles
- Customer names, appointment records, and owner-only data
- Inactive booking services or disabled booking systems
- Dashboard, billing, analytics, and administrative records
Operational notes
Errors, limits, and freshness
Published business profile not foundThe slug does not exist publicly or the profile does not pass public visibility rules.
Active booking service not foundThe service ID is invalid, belongs to another business, or is inactive.
Booking is not availableThe plan, public booking switch, schedule, or active service setup is incomplete.
Too many availability checksThe caller reached the availability safety limit and should retry later.
Too many attempts. Please try again later.The caller made more than 120 tool calls in 10 minutes. Wait and retry.
Search and list calls return at most 20 records per request. Responses include public source URLs and last-updated timestamps where available. Assistants should preserve those URLs and avoid inventing information that Openleet did not return.
Related machine-readable resources
Continue exploring Openleet data
Each published profile can also provide AI JSON, JSON-LD, llms.txt, and HTML source pages. MCP adds structured discovery and live availability on top of those public resources.