Let clients find your services with AI
Why this exists
People increasingly ask their assistant, not a search bar. The client who needs deep tissue today between 2 and 4 shouldn't click through five screens to learn the time doesn't work—and the practitioner with exactly that opening shouldn't be invisible to the question. Kirah is the connection: painless for the client to ask, painless for the practitioner to be found. The full story →
What this looks like for a client
In ChatGPT: A client asks for chair massage in Columbus and sees a participating business's real service, price, and opening. The client then books outside ChatGPT because the public plugin does not create appointments.
In Claude or Grok: A client asks the same question, sees the service, price, and real opening, then requests the appointment. If the business uses Approve first, the owner approves the request and the client receives confirmation.
How it works
For developers and agent builders
Public ChatGPT plugin: `https://kirah.ai/api/mcp-directory-v1` — an informational surface limited to business and service discovery plus current availability. It does not collect booking details or change appointments.
Booking-capable MCP endpoint: `https://kirah.ai/api/mcp` — stateless Streamable HTTP for compatible connections, with tools covering discovery through safe cancellation. Live introspection at `/api/mcp-info`. Claude uses its dedicated connector documented at `/claude-connector.html`.
OpenAPI contract: `/.well-known/kirah-gateway.openapi.json` — versioned, with a total response envelope (every response carries an `outcome`) and layered rate limits that never charge a malformed request against a booking budget.
Per-business manifests: `/.well-known/kirah.json` on tenant domains, with `Link: rel="service-desc"` headers on path-hosted tenants—so even a raw `curl` with no JavaScript finds the manifest.
The part that matters for owners
Opt-in, per business
Discovery by AI agents is off until you turn it on. Your business is never exposed to agents by default.
Approval mode applies to booking-capable agents
A booking request from Claude or Grok waits for your yes exactly like a request from your own site. Nothing is confirmed without you when Approve first is on.
Rules are enforced by the server
Deposits, policies, and rate limits are enforced where the model cannot override them. The audit log is append-only.
Private data stays tenant-scoped
Public service catalogs remain discoverable, while private booking data and capability tokens are scoped to one business. The server rejects ineligible bookings and rule bypasses.