WhenMeet.me — group scheduling
REMOTE · WHENMEET.ME
Group meeting scheduler — rank times everyone's free across Google & Outlook, book Meet/Teams.
Available components
Last scanned (20 hours ago)
Scores higher than 19% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Productivity and Notes
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security91
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability0
- Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http. See how to fix → View diagnostics → Unverified
Schema Quality & AI Usability0
- Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
- Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
- Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified
Unverified: 6 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 16 Oct 26 −36
- Endpoint reachability: reachable → behind authorisation ▼ security
- Stability: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Transport: pass → unverified ▼ security
- Authorization: unverified → pass ▲ security
- First check of Authorization: partial security
- Capabilities: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 14 Oct 26 0
- Tool “create_meeting” rewrote its description, which is the text the model reads security
- Tool “find_common_slots” rewrote its description, which is the text the model reads security
- Tool “suggest_time” rewrote its description, which is the text the model reads security
- “create_meeting” reworded the description of “participants” cosmetic
- “find_common_slots” reworded the description of “participants” cosmetic
- “find_common_slots” reworded the description of “to” cosmetic
- 12 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “set_manual_availability” rewrote its description, which is the text the model reads security
- Schema quality: 153 → 221 ▼ functional
- Tool coverage: 53% → 68% ▲ functional
- New tool “book_slot” functional
- New tool “get_booking_slots” functional
- New tool “list_my_event_types” functional
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 0
- Stability: 0.97 → pass security
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://whenmeet.me/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=whenmeet.me | CN=WE1,O=Google Trust Services,C=US | 9 Oct 2026 | 7 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | d82e1f328e2317813ed4ce0607336cb |
| SANs: whenmeet.me, *.whenmeet.me | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of whenmeet.me. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| me. | present | 45352 | 8 | Verified |
| whenmeet.me. | present | 2371 | 13 | Verified |
| whenmeet.me. | Verified address RRset verified with the apex keys |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On connection |
| HTTP status | 401 |
WWW-Authenticate challenge Bearer resource_metadata="https://whenmeet.me/.well-known/oauth-protected-resource/mcp", scope="read write"
Bearer resource_metadata="https://whenmeet.me/.well-known/oauth-protected-resource/mcp", scope="read write" | Header | Value |
|---|---|
| x-content-type-options | nosniff |
| referrer-policy | strict-origin-when-cross-origin |
| www-authenticate | Bearer resource_metadata="https://whenmeet.me/.well-known/oauth-protected-resource/mcp", scope="read write" |
Protected resource metadata
| Document | https://whenmeet.me/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://whenmeet.me/mcp |
| Authorisation server | https://whenmeet.me |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://whenmeet.me/mcp | Auth required | 401 | |
| http (plaintext) | http://whenmeet.me/mcp | HTTPS enforced | 301 | https://whenmeet.me/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
book_slot ~333
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).
| Name | Type | Req | Description |
|---|---|---|---|
| answers | object | – | Answers to the link’s questions, keyed by question id (see get_booking_slots → eventType.questions). |
| string | – | Invitee email. Default: your account email. | |
| guests | array | – | Extra attendee emails (at most 10), e.g. a colleague from another company. |
| handle | string | yes | The person’s nickname (e.g. "lukasz" or "@lukasz") or their full booking link (e.g. "https://whenmeet.me/@lukasz/intro"). |
| name | string | – | Invitee name. Default: your account name. |
| notes | string | – | Anything the host should know (≤ 2000 chars). |
| slug | string | – | 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. |
| startsAt | number | yes | Slot start, unix ms (from get_booking_slots). |
| tz | string | – | IANA zone used to format times in the confirmation email. |
No output schema declared.
No examples provided.
create_meeting ~142
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.
| Name | Type | Req | Description |
|---|---|---|---|
| conference | string | – | Omit for no conference link. |
| endsAt | number | yes | unix ms |
| participants | array | yes | Participant emails, up to 50. |
| startsAt | number | yes | unix ms |
| title | string | – | – |
| tz | string | – | IANA zone used to format times in invite emails. |
No output schema declared.
No examples provided.
find_common_slots ~302
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.
| Name | Type | Req | Description |
|---|---|---|---|
| durationMin | number | – | Meeting length. Default 30. |
| from | number | – | Window start, unix ms. Default: now. |
| participants | array | yes | Participant emails, up to 50 (the authenticated user is the host and should be included). |
| to | number | – | Window end, unix ms. Default: now + 14 days. At most 60 days from now (400 bad_window). |
| tz | string | – | 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. |
No output schema declared.
No examples provided.
get_booking_slots ~300
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.
| Name | Type | Req | Description |
|---|---|---|---|
| from | number | – | Window start, unix ms. Default: now. |
| guests | array | – | Extra attendees on the visitor side (authenticated callers only; at most 10). Their availability is folded into othersFree. |
| handle | string | yes | The person’s nickname (e.g. "lukasz" or "@lukasz") or their full booking link (e.g. "https://whenmeet.me/@lukasz/intro"). |
| slug | string | – | 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. |
| to | number | – | Window end, unix ms (at most 62 days after from). Default: from + 14 days. |
| tz | string | – | Visitor IANA zone, e.g. Europe/Warsaw. |
No output schema declared.
No examples provided.
get_manual_availability ~45
Read previously hand-marked free slots for an email within a window.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – | |
| from | number | yes | – |
| to | number | yes | – |
No output schema declared.
No examples provided.
get_meeting ~52
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.
| Name | Type | Req | Description |
|---|---|---|---|
| meetingId | string | yes | – |
No output schema declared.
No examples provided.
get_meeting_availability ~137
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.
| Name | Type | Req | Description |
|---|---|---|---|
| durationMin | number | – | – |
| from | number | – | unix ms. Default: now. |
| meetingId | string | yes | – |
| to | number | – | unix ms. Default: now + 14 days. |
| tz | string | – | – |
No output schema declared.
No examples provided.
list_my_event_types ~140
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.
| Name | Type | Req | Description |
|---|---|---|---|
| tz | string | – | IANA zone for a newly provisioned profile (default: your account timezone). |
No output schema declared.
No examples provided.
respond_to_suggestion ~68
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| meetingId | string | yes | – |
| suggestionId | string | yes | – |
No output schema declared.
No examples provided.
set_manual_availability ~277
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).
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – | |
| freeSlots | array | yes | – |
| turnstileToken | string | – | Cloudflare Turnstile token; required for anonymous callers when a Turnstile secret is configured. |
| windowFrom | number | yes | unix ms |
| windowTo | number | yes | unix ms |
No output schema declared.
No examples provided.
suggest_time ~176
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).
| Name | Type | Req | Description |
|---|---|---|---|
| endsAt | number | yes | unix ms |
| meetingId | string | yes | – |
| message | string | – | – |
| startsAt | number | yes | unix ms |
| suggestedBy | string | yes | Email of the person proposing. |
| turnstileToken | string | – | Cloudflare Turnstile token; required for anonymous callers when a Turnstile secret is configured. |
No output schema declared.
No examples provided.
How do I install the WhenMeet.me — group scheduling MCP server?
WhenMeet.me — group scheduling is a hosted endpoint at https://whenmeet.me/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · whenmeet.me
claude mcp add --transport http me-whenmeet-scheduler 'https://whenmeet.me/mcp'
What is the WhenMeet.me — group scheduling MCP server?
WhenMeet.me — group scheduling is an MCP server listed in the public MCP registry as me.whenmeet/scheduler. Group meeting scheduler, rank times everyone's free across Google & Outlook, book Meet/Teams. This page covers its hosted endpoint (https://whenmeet.me/mcp).
Is the WhenMeet.me — group scheduling MCP server safe to use?
WhenMeet.me — group scheduling scores 36 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the WhenMeet.me — group scheduling MCP server expose?
WhenMeet.me — group scheduling exposes 11 tools: find_common_slots, create_meeting, get_meeting, get_meeting_availability, suggest_time, and 6 more. Their descriptions and schemas cost roughly 1,972 tokens of context every time the server is loaded.
Does the WhenMeet.me — group scheduling MCP server require authentication?
Yes. WhenMeet.me — group scheduling asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the WhenMeet.me — group scheduling MCP server still maintained?
WhenMeet.me — group scheduling is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.