me.whenmeet/scheduler
Official8 toolsWhenMeet.me — group scheduling
Group meeting scheduler — rank times everyone's free across Google & Outlook, book Meet/Teams.
Group meeting scheduler ranking available times across Google & Outlook with booking.
Captured live from the server via tools/list.
find_common_slots
Rank the best meeting times when ALL given participants are free, merging live Google/Microsoft calendar data, hand-marked availability and the heat-map sources. Defaults to the next 14 days. Requires authentication.
Parameters (5)
- participantsarrayrequired
Participant emails (the authenticated user is the host and should be included).
- fromnumber
Window start, unix ms. Default: now.
- tonumber
Window end, unix ms. Default: now + 14 days.
- durationMinnumber
Meeting length. Default 30.
- tzstring
IANA zone for business-hours filtering, e.g. Europe/Warsaw.
create_meeting
Confirm a meeting: writes the event into the authenticated host’s calendar with an optional Google Meet/Teams link, emails invites with an ICS attachment, and returns the share URL (/m/<id>). Requires authentication.
Parameters (6)
- participantsarrayrequired
- startsAtnumberrequired
unix ms
- endsAtnumberrequired
unix ms
- titlestring
- conferencestring
Omit for no conference link.
- tzstring
IANA zone used to format times in invite emails.
get_meeting
Read a meeting by its share-link id (the UUID from /m/<id>): time, title, conference URL, host, and any proposed alternate times with their status.
Parameters (1)
- meetingIdstringrequired
get_meeting_availability
Aggregated group availability for an existing meeting (the symmetric heat-map): per-30-min-slot counts of how many participants are free, plus ranked everyone-free slots. Individual calendars are never exposed. No auth needed — the meeting id is the capability.
Parameters (5)
- meetingIdstringrequired
- fromnumber
unix ms. Default: now.
- tonumber
unix ms. Default: now + 14 days.
- durationMinnumber
- tzstring
suggest_time
Propose a different time for an existing meeting on behalf of a guest. The host is notified by email and can accept or decline. Authenticated callers (Bearer PAT) skip the bot challenge; an anonymous caller must pass a Cloudflare Turnstile token in `turnstileToken` (only required when the server is configured with a Turnstile secret).
Parameters (6)
- meetingIdstringrequired
- suggestedBystringrequired
Email of the person proposing.
- startsAtnumberrequired
unix ms
- endsAtnumberrequired
unix ms
- messagestring
- turnstileTokenstring
Cloudflare Turnstile token; required for anonymous callers when a Turnstile secret is configured.
respond_to_suggestion
Accept or decline a proposed alternate time. Accepting moves the meeting (calendar event included) and re-sends invites. Only the meeting host may call this — requires authentication.
Parameters (3)
- meetingIdstringrequired
- suggestionIdstringrequired
- actionstringrequired
set_manual_availability
Publish hand-marked FREE time slots for an email address (the no-calendar fallback, e.g. Apple iCloud users). Replaces previously marked slots inside the window; the group heat-map updates immediately. Authenticated callers (Bearer PAT) skip the bot challenge; an anonymous caller must pass a Cloudflare Turnstile token in `turnstileToken` (only required when the server is configured with a Turnstile secret).
Parameters (5)
- emailstringrequired
- windowFromnumberrequired
unix ms
- windowTonumberrequired
unix ms
- freeSlotsarrayrequired
- turnstileTokenstring
Cloudflare Turnstile token; required for anonymous callers when a Turnstile secret is configured.
get_manual_availability
Read previously hand-marked free slots for an email within a window.
Parameters (3)
- emailstringrequired
- fromnumberrequired
- tonumberrequired
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"scheduler": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://whenmeet.me/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.