Meet.bot MCP
AI-native scheduling and booking: check availability, book meetings, share links.
Should I use this
Quality & Safety
Findings (1)
- LOWin book_meeting
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.meet.bot"
}
}
}Remote endpoints
https://mcp.meet.botstreamable-httpWhat it can do
Tool inventory
Tools (8)
🟢get_scheduling_pages
Get all scheduling pages for the authenticated user
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_page_info(page)
Get information about a specific scheduling page
Input Schema
{
"type": "object",
"properties": {
"page": {
"type": "string",
"description": "The URL of the scheduling page (e.g. https://meet.bot/your-page)"
}
},
"required": [
"page"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_available_slots(page, count, start, end, timezone, ...)
Get available booking slots for a scheduling page
Input Schema
{
"type": "object",
"properties": {
"page": {
"type": "string",
"description": "The URL of the scheduling page (e.g. https://meet.bot/your-page)"
},
"count": {
"type": "number",
"description": "Maximum number of slots to return (defaults to server limit)"
},
"start": {
"type": "string",
"description": "Start date for the range in YYYY-MM-DD format"
},
"end": {
"type": "string",
"description": "End date for the range in YYYY-MM-DD format"
},
"timezone": {
"type": "string",
"description": "IANA timezone for slot times (e.g. America/New_York, Europe/London)"
},
"booking_link": {
"type": "boolean",
"description": "If true, include shareable booking links in the response"
}
},
"required": [
"page"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪book_meeting(page, guest_email, guest_name, notes, start)
Book a new meeting slot
Input Schema
{
"type": "object",
"properties": {
"page": {
"type": "string",
"description": "The URL of the scheduling page (e.g. https://meet.bot/your-page)"
},
"guest_email": {
"type": "string",
"description": "Email address of the guest (used for calendar invite and confirmation)"
},
"guest_name": {
"type": "string",
"description": "Full name of the guest"
},
"notes": {
"type": "string",
"description": "Optional notes to include with the meeting (e.g. agenda, call details)"
},
"start": {
"type": "string",
"description": "Start time in ISO 8601 format (e.g. 2025-03-10T14:00:00Z); must be an available slot"
}
},
"required": [
"page",
"guest_email",
"guest_name",
"start"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢health_check
Check if the Meet.bot API client is healthy and the Bearer token is valid
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_webhooks
List the authenticated user's outbound booking webhooks (fired on booking_received, booking_rescheduled and booking_cancelled)
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡set_webhook(id, webhook_url, description, coverage, scope, ...)
Create or update an outbound booking webhook. Omit id to create (webhook_url required); pass id to update. Meet.bot POSTs a JWT-signed (HS256) JSON payload to the URL on each booking event.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Webhook id to update; omit to create a new one"
},
"webhook_url": {
"type": "string",
"description": "HTTPS URL we POST booking events to (required when creating)"
},
"description": {
"type": "string",
"description": "Optional label for the webhook"
},
"coverage": {
"type": "string",
"enum": [
"all",
"selected"
],
"description": "'all' (default) fires for every page including ones created later; 'selected' only for the pages in `pages`"
},
"scope": {
"type": "string",
"enum": [
"self",
"team"
],
"description": "'self' (default) your own pages; 'team' (team admins only) also fires for teammates' bookings"
},
"pages": {
"type": "array",
"items": {
"type": "number"
},
"description": "Page ids to cover when coverage='selected'"
},
"is_active": {
"type": "boolean",
"description": "Whether the webhook is active (default true)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_webhook(id)
Delete one of the authenticated user's webhooks by id
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "The webhook id to delete"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence