Book local businesses in Southern California and San Jose, or get prices from nearby pros.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Hold an open time at a business for the person and text them a link to confirm it. Nothing is booked, and the business isn't told, until they tap Confirm within 15 minutes; otherwise the time is released. After they confirm, the business accepts the request (or it's confirmed at once at instant-book businesses). Payment is at the business. Ask for the person's name and US mobile number and tell them they'll get a text before calling this. Businesses that take a card when booking return a booking page link instead.
The person's name
The person's US mobile number; the confirmation link is texted here
The slot's start exactly as get_available_times returned it (ISO time)
The business slug or lokuli.com/shop/... link
A service id from get_business
Optional email for the business's confirmation
Optional note for the business (300 characters max)
Optional team member id from get_business
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http lokuli https://lokuli.com/ask/mcp
Hold an open time at a business for the person and text them a link to confirm it. Nothing is booked, and the business isn't told, until they tap Confirm within 15 minutes; otherwise the time is released. After they confirm, the business accepts the request (or it's confirmed at once at instant-book businesses). Payment is at the business. Ask for the person's name and US mobile number and tell them they'll get a text before calling this. Businesses that take a card when booking return a booking page link instead.
| Argument | Type | Description |
|---|---|---|
| name* | string | The person's name |
| string | Optional email for the business's confirmation | |
| notes | string | Optional note for the business (300 characters max) |
| phone* | string | The person's US mobile number; the confirmation link is texted here |
| start* | string | The slot's start exactly as get_available_times returned it (ISO time) |
| business* | string | The business slug or lokuli.com/shop/... link |
| staff_id | string | Optional team member id from get_business |
| service_id* | string | A service id from get_business |
{
"type": "object",
"required": [
"business",
"service_id",
"start",
"name",
"phone"
],
"properties": {
"name": {
"type": "string",
"description": "The person's name"
},
"email": {
"type": "string",
"description": "Optional email for the business's confirmation"
},
"notes": {
"type": "string",
"description": "Optional note for the business (300 characters max)"
},
"phone": {
"type": "string",
"description": "The person's US mobile number; the confirmation link is texted here"
},
"start": {
"type": "string",
"description": "The slot's start exactly as get_available_times returned it (ISO time)"
},
"business": {
"type": "string",
"description": "The business slug or lokuli.com/shop/... link"
},
"staff_id": {
"type": "string",
"description": "Optional team member id from get_business"
},
"service_id": {
"type": "string",
"description": "A service id from get_business"
}
}
}Check whether Lokuli can call pros for a zip code (Southern California and San Jose).
| Argument | Type | Description |
|---|---|---|
| zip* | string | 5-digit zip code |
{
"type": "object",
"required": [
"zip"
],
"properties": {
"zip": {
"type": "string",
"description": "5-digit zip code"
}
}
}Search Lokuli for local service businesses near a zip code (Southern California and San Jose). Understands everyday and Spanish wording ("deep clean", "fade", "mani pedi", "limpieza de casa"). Returns businesses that can be booked through Lokuli, with their services, prices and service ids, each marked with how it matched (name, service, synonym, or trade: same kind of business, so pick the closest service), and separately businesses from public records that are not on Lokuli (not bookable; use request_quotes for those).
| Argument | Type | Description |
|---|---|---|
| zip | string | 5-digit zip code to search near |
| city | string | City, if there's no zip (e.g. "Montebello") |
| limit | integer | Most results per group (default 6) |
| service* | string | What the person needs, in plain words: "haircut", "dog grooming", "brake repair" |
{
"type": "object",
"required": [
"service"
],
"properties": {
"zip": {
"type": "string",
"description": "5-digit zip code to search near"
},
"city": {
"type": "string",
"description": "City, if there's no zip (e.g. \"Montebello\")"
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Most results per group (default 6)"
},
"service": {
"type": "string",
"description": "What the person needs, in plain words: \"haircut\", \"dog grooming\", \"brake repair\""
}
}
}Open times for one service at a business, from the business's live Lokuli calendar (the same one its page and apps use). Returns each open slot's start (an ISO time to pass to book_appointment) and a label in the business's time zone.
| Argument | Type | Description |
|---|---|---|
| date | string | First day to check, YYYY-MM-DD (default: today) |
| days | integer | How many days from date (default 3) |
| business* | string | The business slug or lokuli.com/shop/... link |
| staff_id | string | Optional team member id from get_business, to see only their times |
| service_id* | string | A service id from get_business |
{
"type": "object",
"required": [
"business",
"service_id"
],
"properties": {
"date": {
"type": "string",
"description": "First day to check, YYYY-MM-DD (default: today)"
},
"days": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "How many days from date (default 3)"
},
"business": {
"type": "string",
"description": "The business slug or lokuli.com/shop/... link"
},
"staff_id": {
"type": "string",
"description": "Optional team member id from get_business, to see only their times"
},
"service_id": {
"type": "string",
"description": "A service id from get_business"
}
}
}Details of one business on Lokuli: services with prices, lengths and service ids, team members, hours, address, Lokuli reviews, and how booking works there (confirmed by the business or instantly; paid at the business, or on its booking page with a card). Accepts a slug from find_businesses or a lokuli.com/shop/... link.
| Argument | Type | Description |
|---|---|---|
| business* | string | The business slug (from find_businesses) or its lokuli.com/shop/... link |
{
"type": "object",
"required": [
"business"
],
"properties": {
"business": {
"type": "string",
"description": "The business slug (from find_businesses) or its lokuli.com/shop/... link"
}
}
}Have Lokuli phone local service businesses near the user (Southern California and San Jose only) to ask if they can do the job at the day and time the user wants, and what they'd charge. Lokuli texts the user a confirmation link; calls start only after they tap it, and prices come back to them by text. Use it for businesses that can't be booked on Lokuli, or to compare prices. Ask the user for the service, their 5-digit zip, the day and time they want, and their mobile number, and tell them they'll get a text before calling this tool. Free for the user. For testing, start the service with the word "test" (e.g. "test house cleaning"): the text and link work but no business is called.
| Argument | Type | Description |
|---|---|---|
| zip* | string | 5-digit zip code where the service is needed |
| date* | string | The day they want, YYYY-MM-DD (today through 60 days ahead) |
| name | string | The user's first name (optional) |
| time* | string | The time they want that day, like "10:00 AM" or "14:30" |
| phone* | string | The user's US mobile number; the confirmation link and the prices are texted here |
| details | string | Anything a shop needs to quote: size, make/model, problem (optional) |
| service* |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 30, 2026.
| string |
| What they need, in plain words: "house cleaning", "brake repair", "plumber for a leaking water heater" |
| business | string | Optional: a business slug from find_businesses to call first, then nearby pros |
{
"type": "object",
"required": [
"service",
"zip",
"date",
"time",
"phone"
],
"properties": {
"zip": {
"type": "string",
"description": "5-digit zip code where the service is needed"
},
"date": {
"type": "string",
"description": "The day they want, YYYY-MM-DD (today through 60 days ahead)"
},
"name": {
"type": "string",
"description": "The user's first name (optional)"
},
"time": {
"type": "string",
"description": "The time they want that day, like \"10:00 AM\" or \"14:30\""
},
"phone": {
"type": "string",
"description": "The user's US mobile number; the confirmation link and the prices are texted here"
},
"details": {
"type": "string",
"description": "Anything a shop needs to quote: size, make/model, problem (optional)"
},
"service": {
"type": "string",
"description": "What they need, in plain words: \"house cleaning\", \"brake repair\", \"plumber for a leaking water heater\""
},
"business": {
"type": "string",
"description": "Optional: a business slug from find_businesses to call first, then nearby pros"
}
}
}