{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_udap53rcev5j","handle":"when-works-for-you","url":"https://wellknown.network/agents/when-works-for-you","links":{"self":"https://wellknown.network/agents/when-works-for-you/record.json","html":"https://wellknown.network/agents/when-works-for-you","markdown":"https://wellknown.network/agents/when-works-for-you/record.md","api":"https://wellknown.network/api/v1/agents/when-works-for-you","status":"https://wellknown.network/api/v1/agents/when-works-for-you/status","claim":"https://wellknown.network/agents/when-works-for-you/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/when-works-for-you/claim.json","badge":"https://wellknown.network/agents/when-works-for-you/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/when-works-for-you/history","tools":"https://wellknown.network/api/v1/agents/when-works-for-you/tools"},"ard":{"identifier":"urn:air:whenworksforyou.com:server:when-works-for-you","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"When Works For You","summary":"Find a date that works for a group: answer a poll from its link, or create one and invite guests.","description":"Find a date that works for a group: answer a poll from its link, or create one and invite guests.","publisher":{"name":"com.whenworksforyou","url":null},"homepage":"https://whenworksforyou.com/help/connect-an-ai-assistant","repository":null,"version":"1.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://whenworksforyou.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-07T02:40:10.561747Z","publishedAt":"2026-10-07T02:40:10.561747Z","registryName":"com.whenworksforyou/wwfy"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":1,"provenance":"derived"}],"categories":["analytics"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-22T18:32:21.787Z","lastProbedAt":"2026-10-22T18:32:21.787Z","statusComputedAt":"2026-10-22T18:35:52.131Z","reliability30d":{"probes":48,"successRate":1,"p50Ms":239,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":48,"ok":48,"authBoundaryOk":0,"serviceOk":48,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-22T18:32:21.787Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":223,"error":null,"detail":{"tools":[{"name":"get_poll","description":"Reads a When Works For You poll from its link: the title, the organizer, every date option with how many people said yes or maybe, and whether a date is already"},{"name":"respond_to_poll","description":"Answers a When Works For You poll on someone's behalf: yes, maybe or no for each date. Only answer for the person you are helping, with availability they gave y"},{"name":"list_events","description":"Lists this organizer's own events, newest first — id, title, status, who's answered, and the leading date — PLUS their drafts still waiting to be sent (create_e"},{"name":"get_event","description":"Full detail for one of this organizer's own LIVE events (for a draft_ id use get_draft — a draft has no votes yet): the tally, every guest's status and marks, a"},{"name":"list_contacts","description":"Lists this organizer's saved address book, optionally filtered by a name/email/phone search. Read-only; needs the read permission."},{"name":"list_groups","description":"Lists this organizer's saved contact groups, with each one's member count. Read-only; needs the read permission."},{"name":"get_draft","description":"Full detail for one of this organizer's own unsent drafts (a draft_ id from create_event or list_events): title, description, every date with its time or daypar"},{"name":"create_event","description":"Two kinds of event. Mode \"classic\" is a free share-the-link poll: it asks about days (or a morning/afternoon/evening), has NO guest list and NO exact times — an"},{"name":"add_dates","description":"Adds one candidate date to a draft (a draft_ id from create_event) or a live event (an id from list_events/get_event) — a bare ISO date, or an object naming a s"},{"name":"add_guests","description":"Adds guests to a draft (a draft_ id from create_event) or a live AUTOPILOT event. On a live autopilot event this mails each new guest their invite immediately a"},{"name":"set_my_availability","description":"Marks the organizer's own availability on one of their own LIVE events — the same vote a personal link submits, since the organizer is a participant on their ow"},{"name":"update_event","description":"Changes the title and/or description of a draft (a draft_ id) or a live event — the console's own Edit form, for those two fields. Never mails anyone: the next "},{"name":"set_date_time","description":"Sets or clears the time on dates already on a draft or a live event — an exact start (and optional end) time, or a daypart (morning/afternoon/evening), never bo"},{"name":"remove_dates","description":"Takes dates off a draft (a draft_ id) or a live event, by ISO day. On a live event any votes on that day go with it, the confirmed date can't be removed, and at"},{"name":"update_guest","description":"Corrects one guest's email address on a draft (a draft_ id — a name can be changed there too) or a live event — the console's own \"Change address\". On a live AU"},{"name":"remove_guests","description":"Takes guests off a draft (a draft_ id) or a live event — each named by the participant_id get_event reports, or by email address. On a live event their votes go"},{"name":"discard_draft","description":"Deletes an unsent draft outright — the draft page's own \"Delete draft\". Nothing was ever mailed or charged for it, so nothing is undone; a draft that has alread"},{"name":"archive_event","description":"Archives a live event — the dashboard's own \"Delete\": it leaves the live list, its link tells guests the organizer took it down, and its votes are kept. Reversi"},{"name":"restore_event","description":"Brings an archived event (an id from list_events with archived:true) back to the live list — the dashboard's own \"Restore\". An event whose dates are all past is"},{"name":"send_invites","description":"Sends a draft's invites (mails the guests, spends one credit) — the exact Send the draft's own review page runs, for a draft_id from create_event. Spends one au"},{"name":"confirm","description":"Locks in the winning date for a live event, ending voting. On an autopilot poll this also mails every guest the confirmation and needs the send permission; a cl"}],"toolCount":21,"toolsHash":"6acecdca0267a834cfd00ee35e01e6723fa5d46930585ce1b841e535f23f29ec","serverName":"wwfy","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T11:35:52.434Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":207,"error":null,"detail":{"tools":[{"name":"get_poll","description":"Reads a When Works For You poll from its link: the title, the organizer, every date option with how many people said yes or maybe, and whether a date is already"},{"name":"respond_to_poll","description":"Answers a When Works For You poll on someone's behalf: yes, maybe or no for each date. Only answer for the person you are helping, with availability they gave y"},{"name":"list_events","description":"Lists this organizer's own events, newest first — id, title, status, who's answered, and the leading date — PLUS their drafts still waiting to be sent (create_e"},{"name":"get_event","description":"Full detail for one of this organizer's own LIVE events (for a draft_ id use get_draft — a draft has no votes yet): the tally, every guest's status and marks, a"},{"name":"list_contacts","description":"Lists this organizer's saved address book, optionally filtered by a name/email/phone search. Read-only; needs the read permission."},{"name":"list_groups","description":"Lists this organizer's saved contact groups, with each one's member count. Read-only; needs the read permission."},{"name":"get_draft","description":"Full detail for one of this organizer's own unsent drafts (a draft_ id from create_event or list_events): title, description, every date with its time or daypar"},{"name":"create_event","description":"Two kinds of event. Mode \"classic\" is a free share-the-link poll: it asks about days (or a morning/afternoon/evening), has NO guest list and NO exact times — an"},{"name":"add_dates","description":"Adds one candidate date to a draft (a draft_ id from create_event) or a live event (an id from list_events/get_event) — a bare ISO date, or an object naming a s"},{"name":"add_guests","description":"Adds guests to a draft (a draft_ id from create_event) or a live AUTOPILOT event. On a live autopilot event this mails each new guest their invite immediately a"},{"name":"set_my_availability","description":"Marks the organizer's own availability on one of their own LIVE events — the same vote a personal link submits, since the organizer is a participant on their ow"},{"name":"update_event","description":"Changes the title and/or description of a draft (a draft_ id) or a live event — the console's own Edit form, for those two fields. Never mails anyone: the next "},{"name":"set_date_time","description":"Sets or clears the time on dates already on a draft or a live event — an exact start (and optional end) time, or a daypart (morning/afternoon/evening), never bo"},{"name":"remove_dates","description":"Takes dates off a draft (a draft_ id) or a live event, by ISO day. On a live event any votes on that day go with it, the confirmed date can't be removed, and at"},{"name":"update_guest","description":"Corrects one guest's email address on a draft (a draft_ id — a name can be changed there too) or a live event — the console's own \"Change address\". On a live AU"},{"name":"remove_guests","description":"Takes guests off a draft (a draft_ id) or a live event — each named by the participant_id get_event reports, or by email address. On a live event their votes go"},{"name":"discard_draft","description":"Deletes an unsent draft outright — the draft page's own \"Delete draft\". Nothing was ever mailed or charged for it, so nothing is undone; a draft that has alread"},{"name":"archive_event","description":"Archives a live event — the dashboard's own \"Delete\": it leaves the live list, its link tells guests the organizer took it down, and its votes are kept. Reversi"},{"name":"restore_event","description":"Brings an archived event (an id from list_events with archived:true) back to the live list — the dashboard's own \"Restore\". An event whose dates are all past is"},{"name":"send_invites","description":"Sends a draft's invites (mails the guests, spends one credit) — the exact Send the draft's own review page runs, for a draft_id from create_event. Spends one au"},{"name":"confirm","description":"Locks in the winning date for a live event, ending voting. On an autopilot poll this also mails every guest the confirmation and needs the send permission; a cl"}],"toolCount":21,"toolsHash":"6acecdca0267a834cfd00ee35e01e6723fa5d46930585ce1b841e535f23f29ec","serverName":"wwfy","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T05:33:31.360Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":209,"error":null,"detail":{"tools":[{"name":"get_poll","description":"Reads a When Works For You poll from its link: the title, the organizer, every date option with how many people said yes or maybe, and whether a date is already"},{"name":"respond_to_poll","description":"Answers a When Works For You poll on someone's behalf: yes, maybe or no for each date. Only answer for the person you are helping, with availability they gave y"},{"name":"list_events","description":"Lists this organizer's own events, newest first — id, title, status, who's answered, and the leading date — PLUS their drafts still waiting to be sent (create_e"},{"name":"get_event","description":"Full detail for one of this organizer's own LIVE events (for a draft_ id use get_draft — a draft has no votes yet): the tally, every guest's status and marks, a"},{"name":"list_contacts","description":"Lists this organizer's saved address book, optionally filtered by a name/email/phone search. Read-only; needs the read permission."},{"name":"list_groups","description":"Lists this organizer's saved contact groups, with each one's member count. Read-only; needs the read permission."},{"name":"get_draft","description":"Full detail for one of this organizer's own unsent drafts (a draft_ id from create_event or list_events): title, description, every date with its time or daypar"},{"name":"create_event","description":"Two kinds of event. Mode \"classic\" is a free share-the-link poll: it asks about days (or a morning/afternoon/evening), has NO guest list and NO exact times — an"},{"name":"add_dates","description":"Adds one candidate date to a draft (a draft_ id from create_event) or a live event (an id from list_events/get_event) — a bare ISO date, or an object naming a s"},{"name":"add_guests","description":"Adds guests to a draft (a draft_ id from create_event) or a live AUTOPILOT event. On a live autopilot event this mails each new guest their invite immediately a"},{"name":"set_my_availability","description":"Marks the organizer's own availability on one of their own LIVE events — the same vote a personal link submits, since the organizer is a participant on their ow"},{"name":"update_event","description":"Changes the title and/or description of a draft (a draft_ id) or a live event — the console's own Edit form, for those two fields. Never mails anyone: the next "},{"name":"set_date_time","description":"Sets or clears the time on dates already on a draft or a live event — an exact start (and optional end) time, or a daypart (morning/afternoon/evening), never bo"},{"name":"remove_dates","description":"Takes dates off a draft (a draft_ id) or a live event, by ISO day. On a live event any votes on that day go with it, the confirmed date can't be removed, and at"},{"name":"update_guest","description":"Corrects one guest's email address on a draft (a draft_ id — a name can be changed there too) or a live event — the console's own \"Change address\". On a live AU"},{"name":"remove_guests","description":"Takes guests off a draft (a draft_ id) or a live event — each named by the participant_id get_event reports, or by email address. On a live event their votes go"},{"name":"discard_draft","description":"Deletes an unsent draft outright — the draft page's own \"Delete draft\". Nothing was ever mailed or charged for it, so nothing is undone; a draft that has alread"},{"name":"archive_event","description":"Archives a live event — the dashboard's own \"Delete\": it leaves the live list, its link tells guests the organizer took it down, and its votes are kept. Reversi"},{"name":"restore_event","description":"Brings an archived event (an id from list_events with archived:true) back to the live list — the dashboard's own \"Restore\". An event whose dates are all past is"},{"name":"send_invites","description":"Sends a draft's invites (mails the guests, spends one credit) — the exact Send the draft's own review page runs, for a draft_id from create_event. Spends one au"},{"name":"confirm","description":"Locks in the winning date for a live event, ending voting. On an autopilot poll this also mails every guest the confirmation and needs the send permission; a cl"}],"toolCount":21,"toolsHash":"6acecdca0267a834cfd00ee35e01e6723fa5d46930585ce1b841e535f23f29ec","serverName":"wwfy","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T22:30:48.769Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":607,"error":null,"detail":{"tools":[{"name":"get_poll","description":"Reads a When Works For You poll from its link: the title, the organizer, every date option with how many people said yes or maybe, and whether a date is already"},{"name":"respond_to_poll","description":"Answers a When Works For You poll on someone's behalf: yes, maybe or no for each date. Only answer for the person you are helping, with availability they gave y"},{"name":"list_events","description":"Lists this organizer's own events, newest first — id, title, status, who's answered, and the leading date — PLUS their drafts still waiting to be sent (create_e"},{"name":"get_event","description":"Full detail for one of this organizer's own LIVE events (for a draft_ id use get_draft — a draft has no votes yet): the tally, every guest's status and marks, a"},{"name":"list_contacts","description":"Lists this organizer's saved address book, optionally filtered by a name/email/phone search. Read-only; needs the read permission."},{"name":"list_groups","description":"Lists this organizer's saved contact groups, with each one's member count. Read-only; needs the read permission."},{"name":"get_draft","description":"Full detail for one of this organizer's own unsent drafts (a draft_ id from create_event or list_events): title, description, every date with its time or daypar"},{"name":"create_event","description":"Two kinds of event. Mode \"classic\" is a free share-the-link poll: it asks about days (or a morning/afternoon/evening), has NO guest list and NO exact times — an"},{"name":"add_dates","description":"Adds one candidate date to a draft (a draft_ id from create_event) or a live event (an id from list_events/get_event) — a bare ISO date, or an object naming a s"},{"name":"add_guests","description":"Adds guests to a draft (a draft_ id from create_event) or a live AUTOPILOT event. On a live autopilot event this mails each new guest their invite immediately a"},{"name":"set_my_availability","description":"Marks the organizer's own availability on one of their own LIVE events — the same vote a personal link submits, since the organizer is a participant on their ow"},{"name":"update_event","description":"Changes the title and/or description of a draft (a draft_ id) or a live event — the console's own Edit form, for those two fields. Never mails anyone: the next "},{"name":"set_date_time","description":"Sets or clears the time on dates already on a draft or a live event — an exact start (and optional end) time, or a daypart (morning/afternoon/evening), never bo"},{"name":"remove_dates","description":"Takes dates off a draft (a draft_ id) or a live event, by ISO day. On a live event any votes on that day go with it, the confirmed date can't be removed, and at"},{"name":"update_guest","description":"Corrects one guest's email address on a draft (a draft_ id — a name can be changed there too) or a live event — the console's own \"Change address\". On a live AU"},{"name":"remove_guests","description":"Takes guests off a draft (a draft_ id) or a live event — each named by the participant_id get_event reports, or by email address. On a live event their votes go"},{"name":"discard_draft","description":"Deletes an unsent draft outright — the draft page's own \"Delete draft\". Nothing was ever mailed or charged for it, so nothing is undone; a draft that has alread"},{"name":"archive_event","description":"Archives a live event — the dashboard's own \"Delete\": it leaves the live list, its link tells guests the organizer took it down, and its votes are kept. Reversi"},{"name":"restore_event","description":"Brings an archived event (an id from list_events with archived:true) back to the live list — the dashboard's own \"Restore\". An event whose dates are all past is"},{"name":"send_invites","description":"Sends a draft's invites (mails the guests, spends one credit) — the exact Send the draft's own review page runs, for a draft_id from create_event. Spends one au"},{"name":"confirm","description":"Locks in the winning date for a live event, ending voting. On an autopilot poll this also mails every guest the confirmation and needs the send permission; a cl"}],"toolCount":21,"toolsHash":"6acecdca0267a834cfd00ee35e01e6723fa5d46930585ce1b841e535f23f29ec","serverName":"wwfy","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T12:28:03.482Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":402,"error":null,"detail":{"tools":[{"name":"get_poll","description":"Reads a When Works For You poll from its link: the title, the organizer, every date option with how many people said yes or maybe, and whether a date is already"},{"name":"respond_to_poll","description":"Answers a When Works For You poll on someone's behalf: yes, maybe or no for each date. Only answer for the person you are helping, with availability they gave y"},{"name":"list_events","description":"Lists this organizer's own events, newest first — id, title, status, who's answered, and the leading date — PLUS their drafts still waiting to be sent (create_e"},{"name":"get_event","description":"Full detail for one of this organizer's own LIVE events (for a draft_ id use get_draft — a draft has no votes yet): the tally, every guest's status and marks, a"},{"name":"list_contacts","description":"Lists this organizer's saved address book, optionally filtered by a name/email/phone search. Read-only; needs the read permission."},{"name":"list_groups","description":"Lists this organizer's saved contact groups, with each one's member count. Read-only; needs the read permission."},{"name":"get_draft","description":"Full detail for one of this organizer's own unsent drafts (a draft_ id from create_event or list_events): title, description, every date with its time or daypar"},{"name":"create_event","description":"Two kinds of event. Mode \"classic\" is a free share-the-link poll: it asks about days (or a morning/afternoon/evening), has NO guest list and NO exact times — an"},{"name":"add_dates","description":"Adds one candidate date to a draft (a draft_ id from create_event) or a live event (an id from list_events/get_event) — a bare ISO date, or an object naming a s"},{"name":"add_guests","description":"Adds guests to a draft (a draft_ id from create_event) or a live AUTOPILOT event. On a live autopilot event this mails each new guest their invite immediately a"},{"name":"set_my_availability","description":"Marks the organizer's own availability on one of their own LIVE events — the same vote a personal link submits, since the organizer is a participant on their ow"},{"name":"update_event","description":"Changes the title and/or description of a draft (a draft_ id) or a live event — the console's own Edit form, for those two fields. Never mails anyone: the next "},{"name":"set_date_time","description":"Sets or clears the time on dates already on a draft or a live event — an exact start (and optional end) time, or a daypart (morning/afternoon/evening), never bo"},{"name":"remove_dates","description":"Takes dates off a draft (a draft_ id) or a live event, by ISO day. On a live event any votes on that day go with it, the confirmed date can't be removed, and at"},{"name":"update_guest","description":"Corrects one guest's email address on a draft (a draft_ id — a name can be changed there too) or a live event — the console's own \"Change address\". On a live AU"},{"name":"remove_guests","description":"Takes guests off a draft (a draft_ id) or a live event — each named by the participant_id get_event reports, or by email address. On a live event their votes go"},{"name":"discard_draft","description":"Deletes an unsent draft outright — the draft page's own \"Delete draft\". Nothing was ever mailed or charged for it, so nothing is undone; a draft that has alread"},{"name":"archive_event","description":"Archives a live event — the dashboard's own \"Delete\": it leaves the live list, its link tells guests the organizer took it down, and its votes are kept. Reversi"},{"name":"restore_event","description":"Brings an archived event (an id from list_events with archived:true) back to the live list — the dashboard's own \"Restore\". An event whose dates are all past is"},{"name":"send_invites","description":"Sends a draft's invites (mails the guests, spends one credit) — the exact Send the draft's own review page runs, for a draft_id from create_event. Spends one au"},{"name":"confirm","description":"Locks in the winning date for a live event, ending voting. On an autopilot poll this also mails every guest the confirmation and needs the send permission; a cl"}],"toolCount":21,"toolsHash":"6acecdca0267a834cfd00ee35e01e6723fa5d46930585ce1b841e535f23f29ec","serverName":"wwfy","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T04:26:00.062Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":211,"error":null,"detail":{"tools":[{"name":"get_poll","description":"Reads a When Works For You poll from its link: the title, the organizer, every date option with how many people said yes or maybe, and whether a date is already"},{"name":"respond_to_poll","description":"Answers a When Works For You poll on someone's behalf: yes, maybe or no for each date. Only answer for the person you are helping, with availability they gave y"},{"name":"list_events","description":"Lists this organizer's own events, newest first — id, title, status, who's answered, and the leading date — PLUS their drafts still waiting to be sent (create_e"},{"name":"get_event","description":"Full detail for one of this organizer's own LIVE events (for a draft_ id use get_draft — a draft has no votes yet): the tally, every guest's status and marks, a"},{"name":"list_contacts","description":"Lists this organizer's saved address book, optionally filtered by a name/email/phone search. Read-only; needs the read permission."},{"name":"list_groups","description":"Lists this organizer's saved contact groups, with each one's member count. Read-only; needs the read permission."},{"name":"get_draft","description":"Full detail for one of this organizer's own unsent drafts (a draft_ id from create_event or list_events): title, description, every date with its time or daypar"},{"name":"create_event","description":"Two kinds of event. Mode \"classic\" is a free share-the-link poll: it asks about days (or a morning/afternoon/evening), has NO guest list and NO exact times — an"},{"name":"add_dates","description":"Adds one candidate date to a draft (a draft_ id from create_event) or a live event (an id from list_events/get_event) — a bare ISO date, or an object naming a s"},{"name":"add_guests","description":"Adds guests to a draft (a draft_ id from create_event) or a live AUTOPILOT event. On a live autopilot event this mails each new guest their invite immediately a"},{"name":"set_my_availability","description":"Marks the organizer's own availability on one of their own LIVE events — the same vote a personal link submits, since the organizer is a participant on their ow"},{"name":"update_event","description":"Changes the title and/or description of a draft (a draft_ id) or a live event — the console's own Edit form, for those two fields. Never mails anyone: the next "},{"name":"set_date_time","description":"Sets or clears the time on dates already on a draft or a live event — an exact start (and optional end) time, or a daypart (morning/afternoon/evening), never bo"},{"name":"remove_dates","description":"Takes dates off a draft (a draft_ id) or a live event, by ISO day. On a live event any votes on that day go with it, the confirmed date can't be removed, and at"},{"name":"update_guest","description":"Corrects one guest's email address on a draft (a draft_ id — a name can be changed there too) or a live event — the console's own \"Change address\". On a live AU"},{"name":"remove_guests","description":"Takes guests off a draft (a draft_ id) or a live event — each named by the participant_id get_event reports, or by email address. On a live event their votes go"},{"name":"discard_draft","description":"Deletes an unsent draft outright — the draft page's own \"Delete draft\". Nothing was ever mailed or charged for it, so nothing is undone; a draft that has alread"},{"name":"archive_event","description":"Archives a live event — the dashboard's own \"Delete\": it leaves the live list, its link tells guests the organizer took it down, and its votes are kept. Reversi"},{"name":"restore_event","description":"Brings an archived event (an id from list_events with archived:true) back to the live list — the dashboard's own \"Restore\". An event whose dates are all past is"},{"name":"send_invites","description":"Sends a draft's invites (mails the guests, spends one credit) — the exact Send the draft's own review page runs, for a draft_id from create_event. Spends one au"},{"name":"confirm","description":"Locks in the winning date for a live event, ending voting. On an autopilot poll this also mails every guest the confirmation and needs the send permission; a cl"}],"toolCount":21,"toolsHash":"6acecdca0267a834cfd00ee35e01e6723fa5d46930585ce1b841e535f23f29ec","serverName":"wwfy","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T21:27:40.605Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":202,"error":null,"detail":{"tools":[{"name":"get_poll","description":"Reads a When Works For You poll from its link: the title, the organizer, every date option with how many people said yes or maybe, and whether a date is already"},{"name":"respond_to_poll","description":"Answers a When Works For You poll on someone's behalf: yes, maybe or no for each date. Only answer for the person you are helping, with availability they gave y"},{"name":"list_events","description":"Lists this organizer's own events, newest first — id, title, status, who's answered, and the leading date — PLUS their drafts still waiting to be sent (create_e"},{"name":"get_event","description":"Full detail for one of this organizer's own LIVE events (for a draft_ id use get_draft — a draft has no votes yet): the tally, every guest's status and marks, a"},{"name":"list_contacts","description":"Lists this organizer's saved address book, optionally filtered by a name/email/phone search. Read-only; needs the read permission."},{"name":"list_groups","description":"Lists this organizer's saved contact groups, with each one's member count. Read-only; needs the read permission."},{"name":"get_draft","description":"Full detail for one of this organizer's own unsent drafts (a draft_ id from create_event or list_events): title, description, every date with its time or daypar"},{"name":"create_event","description":"Two kinds of event. Mode \"classic\" is a free share-the-link poll: it asks about days (or a morning/afternoon/evening), has NO guest list and NO exact times — an"},{"name":"add_dates","description":"Adds one candidate date to a draft (a draft_ id from create_event) or a live event (an id from list_events/get_event) — a bare ISO date, or an object naming a s"},{"name":"add_guests","description":"Adds guests to a draft (a draft_ id from create_event) or a live AUTOPILOT event. On a live autopilot event this mails each new guest their invite immediately a"},{"name":"set_my_availability","description":"Marks the organizer's own availability on one of their own LIVE events — the same vote a personal link submits, since the organizer is a participant on their ow"},{"name":"update_event","description":"Changes the title and/or description of a draft (a draft_ id) or a live event — the console's own Edit form, for those two fields. Never mails anyone: the next "},{"name":"set_date_time","description":"Sets or clears the time on dates already on a draft or a live event — an exact start (and optional end) time, or a daypart (morning/afternoon/evening), never bo"},{"name":"remove_dates","description":"Takes dates off a draft (a draft_ id) or a live event, by ISO day. On a live event any votes on that day go with it, the confirmed date can't be removed, and at"},{"name":"update_guest","description":"Corrects one guest's email address on a draft (a draft_ id — a name can be changed there too) or a live event — the console's own \"Change address\". On a live AU"},{"name":"remove_guests","description":"Takes guests off a draft (a draft_ id) or a live event — each named by the participant_id get_event reports, or by email address. On a live event their votes go"},{"name":"discard_draft","description":"Deletes an unsent draft outright — the draft page's own \"Delete draft\". Nothing was ever mailed or charged for it, so nothing is undone; a draft that has alread"},{"name":"archive_event","description":"Archives a live event — the dashboard's own \"Delete\": it leaves the live list, its link tells guests the organizer took it down, and its votes are kept. Reversi"},{"name":"restore_event","description":"Brings an archived event (an id from list_events with archived:true) back to the live list — the dashboard's own \"Restore\". An event whose dates are all past is"},{"name":"send_invites","description":"Sends a draft's invites (mails the guests, spends one credit) — the exact Send the draft's own review page runs, for a draft_id from create_event. Spends one au"},{"name":"confirm","description":"Locks in the winning date for a live event, ending voting. On an autopilot poll this also mails every guest the confirmation and needs the send permission; a cl"}],"toolCount":21,"toolsHash":"6acecdca0267a834cfd00ee35e01e6723fa5d46930585ce1b841e535f23f29ec","serverName":"wwfy","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T15:31:45.851Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":204,"error":null,"detail":{"tools":[{"name":"get_poll","description":"Reads a When Works For You poll from its link: the title, the organizer, every date option with how many people said yes or maybe, and whether a date is already"},{"name":"respond_to_poll","description":"Answers a When Works For You poll on someone's behalf: yes, maybe or no for each date. Only answer for the person you are helping, with availability they gave y"},{"name":"list_events","description":"Lists this organizer's own events, newest first — id, title, status, who's answered, and the leading date — PLUS their drafts still waiting to be sent (create_e"},{"name":"get_event","description":"Full detail for one of this organizer's own LIVE events (for a draft_ id use get_draft — a draft has no votes yet): the tally, every guest's status and marks, a"},{"name":"list_contacts","description":"Lists this organizer's saved address book, optionally filtered by a name/email/phone search. Read-only; needs the read permission."},{"name":"list_groups","description":"Lists this organizer's saved contact groups, with each one's member count. Read-only; needs the read permission."},{"name":"get_draft","description":"Full detail for one of this organizer's own unsent drafts (a draft_ id from create_event or list_events): title, description, every date with its time or daypar"},{"name":"create_event","description":"Two kinds of event. Mode \"classic\" is a free share-the-link poll: it asks about days (or a morning/afternoon/evening), has NO guest list and NO exact times — an"},{"name":"add_dates","description":"Adds one candidate date to a draft (a draft_ id from create_event) or a live event (an id from list_events/get_event) — a bare ISO date, or an object naming a s"},{"name":"add_guests","description":"Adds guests to a draft (a draft_ id from create_event) or a live AUTOPILOT event. On a live autopilot event this mails each new guest their invite immediately a"},{"name":"set_my_availability","description":"Marks the organizer's own availability on one of their own LIVE events — the same vote a personal link submits, since the organizer is a participant on their ow"},{"name":"update_event","description":"Changes the title and/or description of a draft (a draft_ id) or a live event — the console's own Edit form, for those two fields. Never mails anyone: the next "},{"name":"set_date_time","description":"Sets or clears the time on dates already on a draft or a live event — an exact start (and optional end) time, or a daypart (morning/afternoon/evening), never bo"},{"name":"remove_dates","description":"Takes dates off a draft (a draft_ id) or a live event, by ISO day. On a live event any votes on that day go with it, the confirmed date can't be removed, and at"},{"name":"update_guest","description":"Corrects one guest's email address on a draft (a draft_ id — a name can be changed there too) or a live event — the console's own \"Change address\". On a live AU"},{"name":"remove_guests","description":"Takes guests off a draft (a draft_ id) or a live event — each named by the participant_id get_event reports, or by email address. On a live event their votes go"},{"name":"discard_draft","description":"Deletes an unsent draft outright — the draft page's own \"Delete draft\". Nothing was ever mailed or charged for it, so nothing is undone; a draft that has alread"},{"name":"archive_event","description":"Archives a live event — the dashboard's own \"Delete\": it leaves the live list, its link tells guests the organizer took it down, and its votes are kept. Reversi"},{"name":"restore_event","description":"Brings an archived event (an id from list_events with archived:true) back to the live list — the dashboard's own \"Restore\". An event whose dates are all past is"},{"name":"send_invites","description":"Sends a draft's invites (mails the guests, spends one credit) — the exact Send the draft's own review page runs, for a draft_id from create_event. Spends one au"},{"name":"confirm","description":"Locks in the winning date for a live event, ending voting. On an autopilot poll this also mails every guest the confirmation and needs the send permission; a cl"}],"toolCount":21,"toolsHash":"6acecdca0267a834cfd00ee35e01e6723fa5d46930585ce1b841e535f23f29ec","serverName":"wwfy","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T08:33:02.190Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":229,"error":null,"detail":{"tools":[{"name":"get_poll","description":"Reads a When Works For You poll from its link: the title, the organizer, every date option with how many people said yes or maybe, and whether a date is already"},{"name":"respond_to_poll","description":"Answers a When Works For You poll on someone's behalf: yes, maybe or no for each date. Only answer for the person you are helping, with availability they gave y"},{"name":"list_events","description":"Lists this organizer's own events, newest first — id, title, status, who's answered, and the leading date — PLUS their drafts still waiting to be sent (create_e"},{"name":"get_event","description":"Full detail for one of this organizer's own LIVE events (for a draft_ id use get_draft — a draft has no votes yet): the tally, every guest's status and marks, a"},{"name":"list_contacts","description":"Lists this organizer's saved address book, optionally filtered by a name/email/phone search. Read-only; needs the read permission."},{"name":"list_groups","description":"Lists this organizer's saved contact groups, with each one's member count. Read-only; needs the read permission."},{"name":"get_draft","description":"Full detail for one of this organizer's own unsent drafts (a draft_ id from create_event or list_events): title, description, every date with its time or daypar"},{"name":"create_event","description":"Two kinds of event. Mode \"classic\" is a free share-the-link poll: it asks about days (or a morning/afternoon/evening), has NO guest list and NO exact times — an"},{"name":"add_dates","description":"Adds one candidate date to a draft (a draft_ id from create_event) or a live event (an id from list_events/get_event) — a bare ISO date, or an object naming a s"},{"name":"add_guests","description":"Adds guests to a draft (a draft_ id from create_event) or a live AUTOPILOT event. On a live autopilot event this mails each new guest their invite immediately a"},{"name":"set_my_availability","description":"Marks the organizer's own availability on one of their own LIVE events — the same vote a personal link submits, since the organizer is a participant on their ow"},{"name":"update_event","description":"Changes the title and/or description of a draft (a draft_ id) or a live event — the console's own Edit form, for those two fields. Never mails anyone: the next "},{"name":"set_date_time","description":"Sets or clears the time on dates already on a draft or a live event — an exact start (and optional end) time, or a daypart (morning/afternoon/evening), never bo"},{"name":"remove_dates","description":"Takes dates off a draft (a draft_ id) or a live event, by ISO day. On a live event any votes on that day go with it, the confirmed date can't be removed, and at"},{"name":"update_guest","description":"Corrects one guest's email address on a draft (a draft_ id — a name can be changed there too) or a live event — the console's own \"Change address\". On a live AU"},{"name":"remove_guests","description":"Takes guests off a draft (a draft_ id) or a live event — each named by the participant_id get_event reports, or by email address. On a live event their votes go"},{"name":"discard_draft","description":"Deletes an unsent draft outright — the draft page's own \"Delete draft\". Nothing was ever mailed or charged for it, so nothing is undone; a draft that has alread"},{"name":"archive_event","description":"Archives a live event — the dashboard's own \"Delete\": it leaves the live list, its link tells guests the organizer took it down, and its votes are kept. Reversi"},{"name":"restore_event","description":"Brings an archived event (an id from list_events with archived:true) back to the live list — the dashboard's own \"Restore\". An event whose dates are all past is"},{"name":"send_invites","description":"Sends a draft's invites (mails the guests, spends one credit) — the exact Send the draft's own review page runs, for a draft_id from create_event. Spends one au"},{"name":"confirm","description":"Locks in the winning date for a live event, ending voting. On an autopilot poll this also mails every guest the confirmation and needs the send permission; a cl"}],"toolCount":21,"toolsHash":"6acecdca0267a834cfd00ee35e01e6723fa5d46930585ce1b841e535f23f29ec","serverName":"wwfy","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T02:32:25.963Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":194,"error":null,"detail":{"tools":[{"name":"get_poll","description":"Reads a When Works For You poll from its link: the title, the organizer, every date option with how many people said yes or maybe, and whether a date is already"},{"name":"respond_to_poll","description":"Answers a When Works For You poll on someone's behalf: yes, maybe or no for each date. Only answer for the person you are helping, with availability they gave y"},{"name":"list_events","description":"Lists this organizer's own events, newest first — id, title, status, who's answered, and the leading date — PLUS their drafts still waiting to be sent (create_e"},{"name":"get_event","description":"Full detail for one of this organizer's own LIVE events (for a draft_ id use get_draft — a draft has no votes yet): the tally, every guest's status and marks, a"},{"name":"list_contacts","description":"Lists this organizer's saved address book, optionally filtered by a name/email/phone search. Read-only; needs the read permission."},{"name":"list_groups","description":"Lists this organizer's saved contact groups, with each one's member count. Read-only; needs the read permission."},{"name":"get_draft","description":"Full detail for one of this organizer's own unsent drafts (a draft_ id from create_event or list_events): title, description, every date with its time or daypar"},{"name":"create_event","description":"Two kinds of event. Mode \"classic\" is a free share-the-link poll: it asks about days (or a morning/afternoon/evening), has NO guest list and NO exact times — an"},{"name":"add_dates","description":"Adds one candidate date to a draft (a draft_ id from create_event) or a live event (an id from list_events/get_event) — a bare ISO date, or an object naming a s"},{"name":"add_guests","description":"Adds guests to a draft (a draft_ id from create_event) or a live AUTOPILOT event. On a live autopilot event this mails each new guest their invite immediately a"},{"name":"set_my_availability","description":"Marks the organizer's own availability on one of their own LIVE events — the same vote a personal link submits, since the organizer is a participant on their ow"},{"name":"update_event","description":"Changes the title and/or description of a draft (a draft_ id) or a live event — the console's own Edit form, for those two fields. Never mails anyone: the next "},{"name":"set_date_time","description":"Sets or clears the time on dates already on a draft or a live event — an exact start (and optional end) time, or a daypart (morning/afternoon/evening), never bo"},{"name":"remove_dates","description":"Takes dates off a draft (a draft_ id) or a live event, by ISO day. On a live event any votes on that day go with it, the confirmed date can't be removed, and at"},{"name":"update_guest","description":"Corrects one guest's email address on a draft (a draft_ id — a name can be changed there too) or a live event — the console's own \"Change address\". On a live AU"},{"name":"remove_guests","description":"Takes guests off a draft (a draft_ id) or a live event — each named by the participant_id get_event reports, or by email address. On a live event their votes go"},{"name":"discard_draft","description":"Deletes an unsent draft outright — the draft page's own \"Delete draft\". Nothing was ever mailed or charged for it, so nothing is undone; a draft that has alread"},{"name":"archive_event","description":"Archives a live event — the dashboard's own \"Delete\": it leaves the live list, its link tells guests the organizer took it down, and its votes are kept. Reversi"},{"name":"restore_event","description":"Brings an archived event (an id from list_events with archived:true) back to the live list — the dashboard's own \"Restore\". An event whose dates are all past is"},{"name":"send_invites","description":"Sends a draft's invites (mails the guests, spends one credit) — the exact Send the draft's own review page runs, for a draft_id from create_event. Spends one au"},{"name":"confirm","description":"Locks in the winning date for a live event, ending voting. On an autopilot poll this also mails every guest the confirmation and needs the send permission; a cl"}],"toolCount":21,"toolsHash":"6acecdca0267a834cfd00ee35e01e6723fa5d46930585ce1b841e535f23f29ec","serverName":"wwfy","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_poll","description":"Reads a When Works For You poll from its link: the title, the organizer, every date option with how many people said yes or maybe, and whether a date is already"},{"name":"respond_to_poll","description":"Answers a When Works For You poll on someone's behalf: yes, maybe or no for each date. Only answer for the person you are helping, with availability they gave y"},{"name":"list_events","description":"Lists this organizer's own events, newest first — id, title, status, who's answered, and the leading date — PLUS their drafts still waiting to be sent (create_e"},{"name":"get_event","description":"Full detail for one of this organizer's own LIVE events (for a draft_ id use get_draft — a draft has no votes yet): the tally, every guest's status and marks, a"},{"name":"list_contacts","description":"Lists this organizer's saved address book, optionally filtered by a name/email/phone search. Read-only; needs the read permission."},{"name":"list_groups","description":"Lists this organizer's saved contact groups, with each one's member count. Read-only; needs the read permission."},{"name":"get_draft","description":"Full detail for one of this organizer's own unsent drafts (a draft_ id from create_event or list_events): title, description, every date with its time or daypar"},{"name":"create_event","description":"Two kinds of event. Mode \"classic\" is a free share-the-link poll: it asks about days (or a morning/afternoon/evening), has NO guest list and NO exact times — an"},{"name":"add_dates","description":"Adds one candidate date to a draft (a draft_ id from create_event) or a live event (an id from list_events/get_event) — a bare ISO date, or an object naming a s"},{"name":"add_guests","description":"Adds guests to a draft (a draft_ id from create_event) or a live AUTOPILOT event. On a live autopilot event this mails each new guest their invite immediately a"},{"name":"set_my_availability","description":"Marks the organizer's own availability on one of their own LIVE events — the same vote a personal link submits, since the organizer is a participant on their ow"},{"name":"update_event","description":"Changes the title and/or description of a draft (a draft_ id) or a live event — the console's own Edit form, for those two fields. Never mails anyone: the next "},{"name":"set_date_time","description":"Sets or clears the time on dates already on a draft or a live event — an exact start (and optional end) time, or a daypart (morning/afternoon/evening), never bo"},{"name":"remove_dates","description":"Takes dates off a draft (a draft_ id) or a live event, by ISO day. On a live event any votes on that day go with it, the confirmed date can't be removed, and at"},{"name":"update_guest","description":"Corrects one guest's email address on a draft (a draft_ id — a name can be changed there too) or a live event — the console's own \"Change address\". On a live AU"},{"name":"remove_guests","description":"Takes guests off a draft (a draft_ id) or a live event — each named by the participant_id get_event reports, or by email address. On a live event their votes go"},{"name":"discard_draft","description":"Deletes an unsent draft outright — the draft page's own \"Delete draft\". Nothing was ever mailed or charged for it, so nothing is undone; a draft that has alread"},{"name":"archive_event","description":"Archives a live event — the dashboard's own \"Delete\": it leaves the live list, its link tells guests the organizer took it down, and its votes are kept. Reversi"},{"name":"restore_event","description":"Brings an archived event (an id from list_events with archived:true) back to the live list — the dashboard's own \"Restore\". An event whose dates are all past is"},{"name":"send_invites","description":"Sends a draft's invites (mails the guests, spends one credit) — the exact Send the draft's own review page runs, for a draft_id from create_event. Spends one au"},{"name":"confirm","description":"Locks in the winning date for a live event, ending voting. On an autopilot poll this also mails every guest the confirmation and needs the send permission; a cl"}],"package":null,"toolSurface":{"id":"ts_e2e3ubgst9as","endpointId":"ep_fj6uwh3evwu4","hash":"6acecdca0267a834cfd00ee35e01e6723fa5d46930585ce1b841e535f23f29ec","toolCount":21,"serverName":"wwfy","serverVersion":"1.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-09T13:31:58.603Z","lastSeenAt":"2026-10-22T18:32:21.810Z","observations":48,"toolNames":["get_poll","respond_to_poll","list_events","get_event","list_contacts","list_groups","get_draft","create_event","add_dates","add_guests","set_my_availability","update_event","set_date_time","remove_dates","update_guest","remove_guests","discard_draft","archive_event","restore_event","send_invites","confirm"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_fj6uwh3evwu4","url":"https://whenworksforyou.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-19T19:30:45.783Z","auth":{"observedAt":"2026-10-19T19:30:46.221Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://whenworksforyou.com/.well-known/oauth-protected-resource/mcp","resource":"https://whenworksforyou.com/mcp","authorizationServers":["https://whenworksforyou.com/api/auth"],"scopesSupported":["events:read","events:write","events:send","offline_access"]},"authorizationServer":{"url":"https://whenworksforyou.com/.well-known/oauth-authorization-server/api/auth","issuer":"https://whenworksforyou.com/api/auth","grantTypesSupported":["authorization_code","client_credentials","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none","client_secret_basic","client_secret_post","private_key_jwt"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":["EdDSA","ES256","ES512","PS256","RS256"],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":true,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-19T19:30:46.239Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"whenworksforyou.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-10T14:45:38.000Z","validTo":"2026-12-09T15:45:27.000Z","daysToExpiry":47,"sanCount":1,"fingerprint256":"CC:C9:F7:CD:02:BC:89:8C:07:9B:F3:C0:7A:47:C2:67:99:73:5C:BD:EE:AF:09:39:EA:2E:6D:66:4A:2D:94:31"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.whenworksforyou/wwfy","url":"https://registry.modelcontextprotocol.io/v0/servers/com.whenworksforyou%2Fwwfy","firstSeenAt":"2026-10-09T13:21:39.126Z","fetchedAt":"2026-10-22T04:18:51.166Z","normalizedAt":"2026-10-22T04:18:51.166Z"}]},"firstSeenAt":"2026-10-09T13:21:39.126Z","updatedAt":"2026-10-22T18:37:46.357Z"}