@bookla-app/mcp
v1.0.6
Published
MCP server for the Bookla booking platform API. Connects Claude and other AI tools to Bookla for natural language booking management.
Maintainers
Readme
Bookla MCP Server
An MCP (Model Context Protocol) server that connects Claude and other AI tools to the Bookla booking platform API. Enables natural language interactions like "show me today's bookings" or "create a booking for Jane at 3pm tomorrow".
Quick Start
1. Get your API key
Get your API key from your Bookla dashboard under Settings > API Keys.
2. Connect to Claude Desktop
Add this to your Claude Desktop configuration file:
{
"mcpServers": {
"bookla": {
"command": "npx",
"args": ["bookla-mcp"],
"env": {
"BOOKLA_API_KEY": "your-bookla-api-key-here",
"BOOKLA_API_URL": "https://eu.bookla.com/api/v1"
}
}
}
}Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
3. Restart Claude Desktop
After saving the config, restart Claude Desktop. You should see the Bookla tools available in the tools menu.
Available Tools
| Tool | Description |
|------|-------------|
| list_companies | List all companies/locations on your account |
| get_company | Get details for a specific company |
| list_services | List bookable services (haircuts, lessons, etc.) |
| get_service | Get service details (duration, pricing, policy) |
| create_service | Create a new bookable service |
| delete_service | Delete a service |
| list_resources | List resources (staff, rooms, courts) |
| get_resource | Get resource details |
| create_resource | Create a new resource |
| get_available_times | Find available time slots for booking |
| get_bookings | List bookings with date/client/service filters |
| get_booking | Get full booking details |
| create_booking | Create a new booking |
| delete_booking | Cancel a booking |
| list_clients | List all clients |
| create_client | Register a new client |
| search_clients | Search clients by email or ID |
| delete_client | Delete a client |
Example Conversations
"What bookings do I have today?"
Claude will call list_companies to get your company ID, then get_bookings with today's date range.
"Book a tennis lesson for [email protected] tomorrow at 2pm"
Claude will search_clients for Jane, list_services to find the tennis lesson, get_available_times to verify 2pm is free, then create_booking.
"Show me available slots for massage next Monday"
Claude will find the massage service, then call get_available_times for Monday's date range.
Development
# Install dependencies
npm install
# Run in development mode (with tsx)
npm run dev
# Build TypeScript
npm run build
# Run built version
npm startAPI Reference
This server wraps the Bookla REST API. All merchant endpoints use ApiKeyAuth via the Authorization: ApiKey <key> header.
Default base URL: https://eu.bookla.com/api/v1
Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| BOOKLA_API_KEY | Yes | — | Your Bookla API key |
| BOOKLA_API_URL | No | https://eu.bookla.com/api/v1 | API base URL (change for different regions or staging) |
