accueil / serveurs / Géo & Temps / me.whenmeet/scheduler
me.whenmeet/scheduler
serveur MCP (Model Context Protocol) · WhenMeet.me 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que me.whenmeet/scheduler est sûr ?
Au dernier audit MCP Hub, le serveur MCP « me.whenmeet/scheduler » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 11 outils
- book_slot≈ 462 tokens
Book a time on someone’s WhenMeet.me booking link. startsAt must be a slot start from get_booking_slots. Writes the event to the host’s calendar (Google Meet / Teams link added automatically), emails invites with an ICS to you, your guests and the host (or the team), and returns bookingId, conferenceUrl, meetingUrl and manageUrl (cancel / reschedule). name/email default to the authenticated user — pass them to book for someone else. Requires authentication (anonymous bookings need a human bot-check).
Paramètres, retour & exemple (9)
Paramètrestz· string · optionnel
IANA zone used to format times in the confirmation email.name· string · optionnel
Invitee name. Default: your account name.slug· string · optionnel
Link type slug (the part after the nickname, e.g. "intro"). Optional when the person has a single link type or the handle is a full link.email· string · optionnel
Invitee email. Default: your account email.notes· string · optionnel
Anything the host should know (≤ 2000 chars).guests· array · optionnel
Extra attendee emails (at most 10), e.g. a colleague from another company.handle· string · requis
The person’s nickname (e.g. "lukasz" or "@lukasz") or their full booking link (e.g. "https://whenmeet.me/@lukasz/intro").answers· object · optionnel
Answers to the link’s questions, keyed by question id (see get_booking_slots → eventType.questions).startsAt· number · requis
Slot start, unix ms (from get_booking_slots).
Exemple d'appel{"name": "book_slot", "arguments": {"handle": "texte", "startsAt": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_meeting≈ 238 tokens
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>). Up to 50 participants; the start must be at most 60 days ahead (bad_window). Requires authentication.
Paramètres, retour & exemple (6)
Paramètrestz· string · optionnel
IANA zone used to format times in invite emails.title· string · optionnelendsAt· number · requis
unix msstartsAt· number · requis
unix msconference· string · optionnel · meet | teams
Omit for no conference link.participants· array · requis
Participant emails, up to 50.
Exemple d'appel{"name": "create_meeting", "arguments": {"endsAt": 1, "startsAt": 1, "participants": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_common_slots≈ 412 tokens
Rank the best meeting times for the given participants, merging live Google/Microsoft calendar data, hand-marked availability and the heat-map sources. Each participant is filtered (Mon–Fri, waking hours) and scored in their OWN timezone; scores factor in buffer time around existing meetings and prefer sooner slots. Returns up to 8 slots: everyone-free slots first (allFree:true), then — only if there are too few — the best compromise slots (allFree:false) with a freeCount. Defaults to the next 14 days; the window may end at most 60 days from now (bad_window). Up to 50 participants; reading other people’s connected calendars is limited to 30 new addresses per hour and 50 per day (lookup_limit), and each read is shown to the calendar owner. Requires authentication.
Paramètres, retour & exemple (5)
Paramètresto· number · optionnel
Window end, unix ms. Default: now + 14 days. At most 60 days from now (400 bad_window).tz· string · optionnel
Requester IANA zone, e.g. Europe/Warsaw — the fallback zone for participants whose own timezone is unknown, and the zone for the round-hour scoring bonus.from· number · optionnel
Window start, unix ms. Default: now.durationMin· number · optionnel · 15 | 30 | 45 | 60
Meeting length. Default 30.participants· array · requis
Participant emails, up to 50 (the authenticated user is the host and should be included).
Exemple d'appel{"name": "find_common_slots", "arguments": {"participants": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_booking_slots≈ 381 tokens
Bookable times on someone’s WhenMeet.me booking link (whenmeet.me/@nickname[/slug]) — personal or team link. Returns the link (title, durationMin, required questions, team mode), the host’s timezone and slots[{start,end,othersFree,othersTotal}]. Only times and counts are ever exposed, never anyone’s calendar. Called with a token, othersFree/othersTotal also show which slots suit YOUR calendar and the optional guests (othersFree === othersTotal = good for everyone). Defaults to the next 14 days. No auth needed.
Paramètres, retour & exemple (6)
Paramètresto· number · optionnel
Window end, unix ms (at most 62 days after from). Default: from + 14 days.tz· string · optionnel
Visitor IANA zone, e.g. Europe/Warsaw.from· number · optionnel
Window start, unix ms. Default: now.slug· string · optionnel
Link type slug (the part after the nickname, e.g. "intro"). Optional when the person has a single link type or the handle is a full link.guests· array · optionnel
Extra attendees on the visitor side (authenticated callers only; at most 10). Their availability is folded into othersFree.handle· string · requis
The person’s nickname (e.g. "lukasz" or "@lukasz") or their full booking link (e.g. "https://whenmeet.me/@lukasz/intro").
Exemple d'appel{"name": "get_booking_slots", "arguments": {"handle": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_manual_availability≈ 83 tokens
Read previously hand-marked free slots for an email within a window.
Paramètres, retour & exemple (3)
Paramètresto· number · requisfrom· number · requisemail· string · requis
Exemple d'appel{"name": "get_manual_availability", "arguments": {"to": 1, "from": 1, "email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_meeting≈ 85 tokens
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.
Paramètres, retour & exemple (1)
ParamètresmeetingId· string · requis
Exemple d'appel{"name": "get_meeting", "arguments": {"meetingId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_meeting_availability≈ 202 tokens
Aggregated group availability for an existing meeting (the symmetric heat-map): per-30-min-slot counts of how many participants are free, plus ranked slots (per-participant timezones, buffer + soonness scoring, allFree:true everyone-free slots and allFree:false compromise slots). Individual calendars are never exposed. No auth needed — the meeting id is the capability.
Paramètres, retour & exemple (5)
Paramètresto· number · optionnel
unix ms. Default: now + 14 days.tz· string · optionnelfrom· number · optionnel
unix ms. Default: now.meetingId· string · requisdurationMin· number · optionnel · 15 | 30 | 45 | 60
Exemple d'appel{"name": "get_meeting_availability", "arguments": {"meetingId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_my_event_types≈ 190 tokens
Your own booking link and its link types: profile (nickname, timezone, weekly hours), publicUrl (whenmeet.me/@nickname), and eventTypes[] with url, duration, settings and — for team links — mode ("all" = everyone must be free, "any" = whoever is free, in turn) and members with their status. Zero-config: if you have a calendar connected but never opened /links, this provisions the default 30-minute link first (idempotent), so the link is live. Requires authentication.
Paramètres, retour & exemple (1)
Paramètrestz· string · optionnel
IANA zone for a newly provisioned profile (default: your account timezone).
Exemple d'appel{"name": "list_my_event_types", "arguments": {"tz": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - respond_to_suggestion≈ 127 tokens
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.
Paramètres, retour & exemple (3)
Paramètresaction· string · requis · accept | declinemeetingId· string · requissuggestionId· string · requis
Exemple d'appel{"name": "respond_to_suggestion", "arguments": {"action": "accept", "meetingId": "texte", "suggestionId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - set_manual_availability≈ 395 tokens
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. Only one of YOUR addresses (account email, a connected calendar, a team address you joined; needs a Bearer PAT) goes live right away, for everyone — then the result is {ok, saved, free, busy} and the group heat-map updates immediately. For any other address nothing is published yet: the result is {ok: true, pending: true} and that person gets an email to confirm (confirmation emails are limited per day: 3 per address and 20 in total for your account; beyond that the call fails with rate_limited). To collect someone else's times, send them an ask-link instead (the picker's "Copy ask-link"). An anonymous caller must pass a Cloudflare Turnstile token in `turnstileToken` (only required when the server is configured with a Turnstile secret).
Paramètres, retour & exemple (5)
Paramètresemail· string · requiswindowTo· number · requis
unix msfreeSlots· array · requiswindowFrom· number · requis
unix msturnstileToken· string · optionnel
Cloudflare Turnstile token; required for anonymous callers when a Turnstile secret is configured.
Exemple d'appel{"name": "set_manual_availability", "arguments": {"email": "texte", "windowTo": 1, "freeSlots": [], "windowFrom": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - suggest_time≈ 258 tokens
Propose a different time for an existing meeting on behalf of a guest. The host is notified by email and can accept or decline (at most 10 suggestions per hour per meeting and email; beyond that rate_limited). 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).
Paramètres, retour & exemple (6)
ParamètresendsAt· number · requis
unix msmessage· string · optionnelstartsAt· number · requis
unix msmeetingId· string · requissuggestedBy· string · requis
Email of the person proposing.turnstileToken· string · optionnel
Cloudflare Turnstile token; required for anonymous callers when a Turnstile secret is configured.
Exemple d'appel{"name": "suggest_time", "arguments": {"endsAt": 1, "startsAt": 1, "meetingId": "texte", "suggestedBy": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».