Lokahi MCP Server
Lokahi MCP Server
Remote MCP server for the Lokahi wellness marketplace API, deployed as a Cloudflare Worker.
Lets AI assistants (Claude, ChatGPT, Cursor, etc.) search for practitioners, book sessions, manage offerings, and more — on behalf of authenticated users.
Setup
npm installKV Namespace
Create the KV namespace for OAuth state storage:
wrangler kv namespace create OAUTH_KVCopy the output ID and update wrangler.jsonc — replace PLACEHOLDER_KV_ID with the actual namespace ID.
Secrets
Set the shared secret used for the Worker-to-Anvil private handshake (must match the value configured in Anvil):
wrangler secret put ANVIL_OAUTH_SECRETDevelopment
npm run devDeploy
npm run deployAuthentication
The MCP server supports two authentication methods:
OAuth (recommended for Claude.ai / ChatGPT)
Select OAuth in your connector settings. The Worker handles the full OAuth 2.0 flow automatically:
You are redirected to Lokahi to log in and grant consent.
After approval, the Worker exchanges the authorization for tokens.
Access tokens expire after 1 hour; refresh tokens last 30 days and re-validate with Anvil that the user is still active.
The Worker implements spec-compliant OAuth with PKCE, discovery (/.well-known/oauth-authorization-server), and dynamic client registration (/oauth/register).
API Key (direct — for Claude Desktop, Cursor, Claude Code)
Generate an API key from your Lokahi account at Settings > API Access on app.lokahi.life. Keys start with lok_live_ and are shown once at creation time.
The server accepts the API key in two ways (checked in order):
Authorization: Bearer lok_live_...header (preferred)?apiKey=lok_live_...query parameter (fallback)
Public tools (search, practitioner profiles) work without auth. Seeker and practitioner tools require authentication.
Connecting
Claude.ai (remote MCP)
Go to Claude.ai > Settings > Connectors > Add MCP Server
URL:
https://lokahi-mcp.<your-subdomain>.workers.dev/sseAuthentication: select OAuth — the login flow is handled automatically
Claude Desktop / Cursor / Claude Code
Add to your MCP config (e.g. ~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"lokahi": {
"url": "https://lokahi-mcp.<your-subdomain>.workers.dev/sse",
"headers": {
"Authorization": "Bearer lok_live_YOUR_KEY_HERE"
}
}
}
}ChatGPT (GPT Actions / Connectors)
ChatGPT supports OAuth connectors. Point it at the Worker URL and select OAuth authentication — the discovery endpoint at /.well-known/oauth-authorization-server provides all the configuration automatically.
Alternatively, use the OpenAPI spec directly:
https://app.lokahi.life/_/api/v1/openapi.jsonAvailable Tools
Public (no auth)
search_practitioners— Search by keyword, specialty, or locationget_practitioner— Get full profile by slugget_available_dates— Dates with availability in a monthget_available_slots— Time slots on a specific datelist_modalities— All wellness modalitieslist_specialties— All specialties
Seeker (authenticated)
list_bookings— Your bookingsget_booking— Booking detailscreate_booking— Book a sessioncancel_booking— Cancel a bookingreschedule_booking— Reschedule a bookinglist_favourites— Your favourite practitionerstoggle_favourite— Add/remove favouritelist_conversations— Your conversationsget_messages— Messages in a conversationsend_message— Message a practitioner
Practitioner (authenticated + practitioner role)
practitioner_dashboard— Dashboard overviewlist_offerings/create_offering/update_offering/delete_offeringlist_practitioner_bookings/get_practitioner_bookingaccept_booking/decline_booking/practitioner_cancel_booking/complete_bookingget_availability/update_availabilityadd_availability_override/delete_availability_overridelist_practitioner_conversations/practitioner_send_messageget_practitioner_profile/update_practitioner_profile
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Armandopdw/lokahi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server