For AI agents
Schedule meetings on Breaker1 over MCP
Breaker1 exposes a public Model Context Protocol server so AI agents - Claude, ChatGPT, Cursor, Lindy, Perplexity, and others - can find a Breaker1 user, see mutually-free times on their calendar, and book a meeting on their behalf.
Endpoint
https://ssesweekhcliexsnshum.supabase.co/functions/v1/mcp
JSON-RPC 2.0 over HTTP POST (MCP Streamable HTTP). Send Accept: application/json, text/event-stream and Content-Type: application/json on every request.
Add Breaker1 to your assistant
ChatGPT
- Settings → Connectors → Add custom connector.
- Name it Breaker1 and paste the MCP endpoint.
- Leave auth as No authentication, or sign in to manage your own meetings.
- Enable it in a chat, then ask: "Use Breaker1 to find a time with @matt next week."
Claude
- Settings → Connectors → Add custom connector.
- Paste the MCP endpoint, name it Breaker1, save.
- Tap the connector menu in a chat and enable Breaker1.
- Optional: connect your account when prompted to unlock host-only tools.
Cursor
- Open Cursor Settings → MCP.
- Add a new MCP server with the Breaker1 endpoint.
- Use the built-in chat to ask for availability or book a meeting.
Lindy
- Create a Lindy agent and add an MCP server integration.
- Paste the Breaker1 endpoint and, if you have one, an API key.
- Prompt your agent to schedule via Breaker1.
Perplexity
- Use Perplexity's connector or API integration settings.
- Add the Breaker1 MCP endpoint for scheduling actions.
- Ask Perplexity to find times or book meetings through Breaker1.
The search and fetch tools follow the ChatGPT/Claude connector convention so Breaker1 shows up cleanly in the picker.
REST API (non-MCP agents)
Not using MCP? Paid Breaker1 accounts can create scoped API keys in Agents → API keys and call the REST endpoints below.
https://breaker1.com/api/public/agent/v1
GET https://breaker1.com/api/public/agent/v1/availability?username=matt&duration_min=30&start=2026-08-01&end=2026-08-07Mutually-free slots for a host.POST https://breaker1.com/api/public/agent/v1/bookingsCreate a booking on a host's calendar.GET https://breaker1.com/api/public/agent/v1/me/bookingsYour upcoming confirmed bookings.POST https://breaker1.com/api/public/agent/v1/bookings/:id/cancelCancel a booking you created or host.
Pass the API key in the Authorization: Bearer ag_… header. Keys are scoped to read, book, and/or cancel.
Host rules override your agent
Whatever a connected agent has been told to do, Breaker1 decides the outcome. Every booking, reschedule and cancellation is re-validated on our servers against the host's own settings before anything touches their calendar - these are not conventions the agent is trusted to follow.
start_isomust exactly match a slot currently returned byget_availabilityfor the same duration. Invented, rounded or stale times are refused.- Working hours, time zone, minimum notice, buffers and travel buffer apply.
- Protected midday time and any weekdays the host has blocked are off limits.
- A host's daily meeting cap can refuse an otherwise-open slot.
- Approval rules (by meeting length or meeting type) return
status: "pending". A pending meeting is not on the calendar until the host approves it. - A host can pause outside agents entirely. Booking, moving and cancelling then fail while their own booking link keeps working.
Refusal codes
slot_not_available, agent_paused, blocked_day, daily_cap, protected_time.
On a refusal, re-check availability or hand the user the host's booking link. Do not retry the same time or try to route around the rule - every attempt, including refusals, is written to the host's activity log with the agent id that made it.
Public tools
search
ChatGPT/Claude connector search. Free-text query (name, @username, or email) → list of { id, title, url } results. Pair with `fetch`.
fetch
Given an id from `search` (e.g. `user:matt`), returns a compact document: display name, meeting durations, approval requirement, booking URL, and the next few open time slots.
find_user
Look up a Breaker1 host by email or @username. Returns their booking URL, available meeting durations, and whether they require approval.
get_availability
Return mutually-free meeting slots in UTC for a host, given a duration and date range. Working hours, time zone, buffers, and existing bookings are already applied.
propose_times
Return N mutually-free slots already formatted for a natural-language reply ("Tue 2pm PT, Wed 10am PT…"). Use when a user says "find a time with @matt next week".
create_booking
Book a slot. Status returns 'confirmed' or 'pending' if the host requires approval. Creates the calendar event + Google Meet link and emails both sides.
reschedule_booking
Move an existing meeting to a new time using its id + the guest_email it was booked under. Releases the old slot, updates the calendar event, and emails the guest the new time.
cancel_booking
Cancel a booking using its id + the guest_email it was booked under. Sends the cancellation email and cleans up the host's calendar event.
Host-only tools (OAuth)
Sign in via OAuth 2.1 to unlock tools that act as your own Breaker1 account. Clients discover the consent flow automatically via /.well-known/oauth-protected-resource.
my_upcoming_meetings
Confirmed bookings on your own calendar.
my_pending_approvals
Booking requests waiting for your approval.
approve_booking
Approve a pending booking request.
decline_booking
Decline a pending booking request.
cancel_my_booking
Cancel any booking on your own calendar.
Quick test
curl -X POST https://ssesweekhcliexsnshum.supabase.co/functions/v1/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}'Discovery
- /.well-known/mcp.json - MCP server descriptor
- /.well-known/agent.json - agent-friendliness declaration & rate limits
- /.well-known/oauth-protected-resource - OAuth 2.1 protected resource metadata
- /llms.txt - short summary for LLMs
Rate limits & etiquette
- 120 calls/hour per IP across all tools
- 10 booking attempts/hour per IP
- 30 calls/hour per IP per target host
- Pass
agent_idoncreate_booking(e.g."claude.ai") so hosts can see who booked them - Web Bot Auth (RFC 9421)
Signature-Agentheaders are recorded for observability; full key verification is on the roadmap