when2meet-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WHEN2MEET_AGENT_NAME | No | The label used when submitting under an alternate name (e.g., 'Jason Charwin (Composer)' when the main entry has a password). Set to 'Claude', 'GPT-4', 'Gemini', etc. Defaults to 'Cursor'. | Cursor |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_pollA | Load a when2meet poll: title, participants, time range, and optional slot grid. Args: url: Full when2meet URL, e.g. https://www.when2meet.com/?38093485-OZAlv timezone: IANA timezone for slot labels (e.g. America/New_York) include_slots: If true, include all slot indices (can be 300+ entries) |
| find_common_availabilityB | Find times when participants overlap. Args: url: when2meet poll URL timezone: IANA timezone for slot labels participant_names: Optional subset of names min_participants: Minimum number of people free (default: all selected) only_marked_participants: Exclude participants who have not marked any slots |
| fill_from_weekly_scheduleA | Fill a poll from recurring weekly busy blocks (best for class schedules). Matches by weekday + local time from poll labels — no week_start_date needed. Args: url: when2meet poll URL name: Your name on the poll busy_blocks: List of {day, start, end} e.g. {"day":"Monday","start":"09:00","end":"10:15"} timezone: IANA timezone for slot labels password: Per-event password if returning to an existing name buffer_minutes: Expand each busy block by this many minutes before/after block_before: Daily cutoff like "10:00" — treat earlier slots as busy block_after: Daily cutoff like "18:00" — treat later slots as busy dry_run: Preview only (default true for safety) on_name_conflict: error | alternate_suffix | create_new agent_name: Model label for alternate name, e.g. Claude (default: WHEN2MEET_AGENT_NAME env) |
| compute_availability_from_busy_timesA | Compute free slots from ISO calendar busy intervals. Args: url: when2meet poll URL busy_times: List of {start, end} ISO-8601 datetimes when busy timezone: IANA timezone for comparisons week_start_date: Date of column 0 (YYYY-MM-DD). Inferred from today if omitted. all_day_dates: Optional list of YYYY-MM-DD all-day busy dates buffer_minutes: Expand busy intervals by this many minutes block_before: Daily cutoff like "10:00" block_after: Daily cutoff like "18:00" |
| preview_availabilityA | Validate slot indices and preview availability before submitting. Args: url: when2meet poll URL slot_indices: Zero-based indices to mark available timezone: IANA timezone for labels |
| submit_availabilityA | Sign in and mark availability on a when2meet poll. Args: url: when2meet poll URL name: Your name as it should appear on the poll slot_indices: Zero-based slot indices to mark available password: Per-event password for returning participants timezone: IANA timezone used when loading the poll dry_run: Preview only (default true for safety) on_name_conflict: error | alternate_suffix — when password fails for existing name agent_name: Model label for alternate name, e.g. Claude (default: WHEN2MEET_AGENT_NAME env) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct phase: read poll, analyze group overlap, compute/fill from busy times, preview, and submit. The two busy-time tools are differentiated by weekly recurring vs one-off ISO inputs, but their names alone could still cause some confusion.
Most tools follow a clear verb_noun snake_case pattern like get_poll, submit_availability, and preview_availability. The longer names fill_from_weekly_schedule and compute_availability_from_busy_times deviate by adding prepositional phrases, making the pattern slightly inconsistent.
Six tools cover reading, analysis, two input modes, preview, and submission without redundancy or bloat. This is a well-scoped and focused set for a when2meet MCP server.
The set covers the main workflow: load a poll, find availability, compute personal availability, preview, and submit. Obvious gaps like creating a poll or explicitly clearing existing availability are absent, but they may be outside the intended URL-driven scope.