Schedule with Claude, ChatGPT, and Cursor: the WhenToMeet MCP server

We did not ship an AI assistant inside WhenToMeet. You already have one.

If you use Claude, ChatGPT, or Cursor, the assistant you're paying for is more useful than any chatbot we could cram into a sidebar. What it's missing is permission to touch your calendar. That's what the MCP server gives it.

A one-paragraph MCP primer

MCP — the Model Context Protocol — is a small spec for exposing tools to an LLM client. The client connects to a server, reads a list of tools with typed inputs, and calls them when the conversation needs one. It is the plug, not the lamp. WhenToMeet runs the server; your assistant of choice is the client.

The endpoint is POST /api/mcp. Stateless HTTP transport. Same API keys as REST v1.

Installing it

In your MCP client — Claude Desktop, ChatGPT with connectors, Cursor, or any other — add a server entry that points at https://whentomeet.com/api/mcp with your API key as a Bearer token. The exact config shape differs per client; docs.whentomeet.io has the copy-paste snippets for the common ones.

Once it's connected, the assistant can see seven tools:

  • list_polls — your scheduling polls and direct events
  • get_poll — one event with its slots and participant votes
  • create_poll — make a new scheduling event
  • list_bookings — appointments booked through your booking pages
  • list_calendar_events — a unified feed across every connected calendar
  • check_conflicts — does this proposed time range collide with anything
  • get_user_profile — your tier, timezone, preferences

That's the whole surface today.

Prompts that actually work

Generic prompts produce generic calls. These work:

"What's on my calendar next Tuesday between 10am and 4pm? Use list_calendar_events with that range."

"I want to do a 2-hour focus block tomorrow morning. Check my calendar with check_conflicts and suggest three start times that are free."

"Create a scheduling poll called 'Q3 planning' with six one-hour slots between 2026-05-04 and 2026-05-06, business hours only."

"Summarize my bookings for the last 30 days — who booked what, and how many no-shows."

"Draft an agenda for tomorrow's standup based on what's on my calendar this week."

The pattern: name the tool if you want control, describe the outcome if you don't. Claude and GPT are both good at picking the right tool from the description.

What it still cannot do

The MCP surface is not the entire product. As of this writing, the assistant cannot:

  • Vote on another person's poll for you
  • Edit or cancel an existing event
  • Read booking-page settings or change them
  • Do anything that requires OAuth into a third-party calendar on your behalf — that happens in our UI once, and then the MCP server sees the unified data

Those are gaps we'll close based on what people actually ask for. If the tool you want isn't there, tell us.

Rate limits and keys

The MCP server uses the same keys as REST v1 and the same per-key limits. Normal conversational use — a dozen tool calls per session — is nowhere near the ceiling. If you're running a batch job, use the REST endpoints directly; that's what they're for.

API access is Pro-gated. Generate a key in settings, drop it into your MCP client's config, and you're done.

Why we did it this way

We could have built a chat panel into the app. It would have been demo-friendly. But the assistant you already use is better, is already in your workflow, and already has context we never will. Giving it a clean surface on your calendar is more valuable than giving you a worse version of Claude inside WhenToMeet.

Full setup docs and the current tool reference live at docs.whentomeet.io.