Zovo Date Poll
Server Details
Helps a group schedule a time that works for everyone.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
Each tool covers a distinct lifecycle stage: creation, updating options/settings, reading results, and finalizing a chosen slot. The descriptions explicitly delimit scope (e.g. show_date_poll_results 'does not change the poll'), leaving no realistic path for misselection.
All names use snake_case with a verb prefix and the shared object 'date_poll', which is highly predictable. The one minor deviation is show_date_poll_results, which appends an extra noun instead of following the pure verb_date_poll shape.
Four tools is a tight, well-scoped set that exactly covers the organizer's workflow (create, edit, view, finalize). Every tool earns its place and none looks redundant or padded.
The poll lifecycle is well covered end to end, and respondent voting is intentionally handled on the web page rather than through tools. Minor gaps remain: there is no way to delete/cancel a poll outright or to list a poll's current settings without going through results.
Available Tools
4 toolscreate_date_pollCreate date pollAInspect
Use this when someone wants to find a date or time that works for a group (a dinner, meeting, call, game night, class). Publishes a shared web page where people answer yes, if need be or no for each proposed time. Returns a public link to share and a private organizer link. Takes 2-30 options as date + start time in one IANA time zone; refuses times that do not exist because of a daylight-saving change. Does not send invitations, emails or reminders. Do not use for a single fixed event that needs no vote.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Short note shown on the page, e.g. We will book a table for whoever can come. | |
| slots | Yes | The 2-30 proposed times, e.g. [{"date":"2026-11-14","start":"19:00"},{"date":"2026-11-15","start":"19:00"}]. | |
| title | Yes | What the group is meeting for, e.g. Team dinner. | |
| location | No | Place or call details in words, e.g. Luigi's, Main Street. No links. | |
| time_zone | Yes | IANA time zone of the proposed times, e.g. Europe/Berlin or America/New_York. | |
| hide_names | No | true to show only counts publicly, so only the organizer sees who answered what, e.g. false. Default false. | |
| organizer_name | No | Organizer's first name shown on the page, e.g. Sam. | |
| allow_if_need_be | No | Offer an 'if need be' answer besides yes and no, e.g. true. Default true. | |
| duration_minutes | No | Default length of each option in minutes (5-1440), e.g. 120. Default 60. |
Output Schema
| Name | Required | Description |
|---|---|---|
| best | Yes | |
| final | Yes | |
| names | Yes | |
| slots | Yes | |
| title | Yes | |
| closed | Yes | |
| changes | Yes | |
| warnings | Yes | |
| best_rule | Yes | |
| manageUrl | Yes | |
| publicUrl | Yes | |
| time_zone | Yes | |
| expires_at | Yes | |
| slots_count | No | |
| participants | Yes | |
| allow_if_need_be | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false), the description discloses real consequences: a publicly shareable web page, a private organizer link, no invitations/emails/reminders sent, and validation that refuses times that do not exist due to a daylight-saving change. The public-visibility/privacy implication is exactly the kind of context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five short sentences ordered as trigger, behavior, return, constraints, exclusions — the when-to-use and the not-for case are front-loaded and nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter mutation tool with a full output schema, the description covers the intent, side effects, share semantics, validation behavior and negative scope. An agent has everything needed to decide to call it and to predict what callers will get back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage the baseline is 3, but the description adds meaning the schema lacks: a 2-option minimum, the requirement that all slots share one IANA time zone, and DST-invalid-time rejection. Caveat: it says '2-30 options' while the schema allows maxItems 40, an inconsistency an agent could trip over.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource ('publishes a shared web page where people answer yes, if need be or no for each proposed time') and frames the resource as a date/time poll for a group. It implicitly separates creation from the sibling tools update_date_poll, finalize_date_poll and show_date_poll_results by centering on publishing the initial page and returning links.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear trigger ('when someone wants to find a date or time that works for a group') and a concrete exclusion ('Do not use for a single fixed event that needs no vote'), plus a scope limit ('Does not send invitations, emails or reminders'). It does not explicitly route to the sibling tools (update/finalize/show results), so the alternatives half of the guidance is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finalize_date_pollFinalize date pollAInspect
Use this when the organizer has decided on the final time of a date poll. Needs the private organizer link. Sets the chosen slot (or the top-ranked slot when slot_number is omitted), stops new answers, and the public page then shows the final time with an Add to calendar file (.ics). Does not notify anyone; share the public link again.
| Name | Required | Description | Default |
|---|---|---|---|
| manage_link | Yes | The private organizer link returned when the poll was made, e.g. https://date-poll.zovo.one/m/<id>/<key>. | |
| slot_number | No | The number of the chosen time as listed in the results (1 = first option), e.g. 2. Omit to pick the top-ranked time. |
Output Schema
| Name | Required | Description |
|---|---|---|
| best | Yes | |
| final | Yes | |
| names | Yes | |
| slots | Yes | |
| title | Yes | |
| closed | Yes | |
| changes | Yes | |
| warnings | Yes | |
| best_rule | Yes | |
| manageUrl | Yes | |
| publicUrl | Yes | |
| time_zone | Yes | |
| expires_at | Yes | |
| slots_count | No | |
| participants | Yes | |
| allow_if_need_be | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses several behaviors an agent could not infer: the operation locks the poll by stopping new answers, defaults to the top-ranked slot when slot_number is omitted, surfaces the final time with an .ics file on the public page, and critically does not notify participants. The 'no notification' fact is a real operational gap the caller must handle, and it does not conflict with readOnlyHint=false or destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences that lead with the when-to-use condition, then effects, then the caveat about notifications and the recommended next action. No filler, and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. For a small two-parameter mutation with openWorldHint=true, the description covers the prerequisite credential, the side effects, the defaulting rule, and the user-facing consequence — everything needed to invoke it correctly and set expectations afterwards.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both manage_link and slot_number are already documented, including the 'omit to pick the top-ranked time' fallback. The description restates the private-link requirement and the omitted-parameter behavior but adds no new syntax, format, or edge-case detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb-and-resource ('finalize a date poll') and enumerates the concrete effects: setting the chosen slot, stopping new answers, and exposing the final time with an .ics download. This is clearly distinguishable from create_date_poll, update_date_poll and show_date_poll_results without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger condition ('when the organizer has decided on the final time') and a prerequisite ('Needs the private organizer link'), plus a follow-up action ('share the public link again'). It stops short of naming an alternative tool or stating when not to use it (e.g. before voting closes), which keeps it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_date_poll_resultsShow date poll resultsARead-onlyIdempotentInspect
Use this when the organizer wants to see who answered a date poll and which time works for the most people. Needs the private organizer link (contains /m/). Returns counts per time, names, and the top time by the stated rule (most yes, then most yes + if need be, then earliest). Does not change the poll.
| Name | Required | Description | Default |
|---|---|---|---|
| manage_link | Yes | The private organizer link returned when the poll was made, e.g. https://date-poll.zovo.one/m/<id>/<key>. |
Output Schema
| Name | Required | Description |
|---|---|---|
| best | Yes | |
| final | Yes | |
| names | Yes | |
| slots | Yes | |
| title | Yes | |
| closed | Yes | |
| changes | Yes | |
| warnings | Yes | |
| best_rule | Yes | |
| manageUrl | Yes | |
| publicUrl | Yes | |
| time_zone | Yes | |
| expires_at | Yes | |
| slots_count | No | |
| participants | Yes | |
| allow_if_need_be | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is read-only, idempotent, non-destructive, and closed-world. Beyond that, the description adds useful behavioral context: the private organizer link requirement, the /m/ marker, what the return includes, and the tie-breaking rule for the top time. It repeats the non-mutating behavior already covered by annotations, but otherwise adds meaningful disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the usage condition, then gives the prerequisite, return behavior, and non-mutation guarantee. It is compact and every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with an output schema and rich annotations, the description supplies the key context: when to use it, the required private link, what results include, and how the top time is chosen. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single manage_link parameter is already documented with its expected format. The description reinforces that it must be the private organizer link and contains /m/, but adds little syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: seeing who answered a date poll and which time works best. It is clearly distinct from the sibling tools create_date_poll, update_date_poll, and finalize_date_poll, which mutate or finalize the poll rather than show results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage condition: use it when the organizer wants to see poll answers and the best time. It also states the prerequisite of needing the private organizer link containing /m/. It does not explicitly name exclusions or alternatives, but the read-only results purpose is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_date_pollUpdate date pollAInspect
Use this when the organizer wants to change an existing date poll: add time options, close or reopen voting, or change the title, place or note. Needs the private organizer link. Reopening also clears a final time. Existing answers are kept; people can answer new options with their edit link. Does not remove options or answers.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | New note shown on the page, e.g. Please answer by Friday. | |
| title | No | New title, e.g. Team dinner (moved). | |
| voting | No | close stops new answers; reopen accepts answers again and clears a final time, e.g. close. | |
| location | No | New place in words, e.g. Luigi's, Main Street. | |
| add_slots | No | New time options in the poll's time zone, e.g. [{"date":"2026-11-22","start":"19:00"}]. | |
| manage_link | Yes | The private organizer link returned when the poll was made, e.g. https://date-poll.zovo.one/m/<id>/<key>. |
Output Schema
| Name | Required | Description |
|---|---|---|
| best | Yes | |
| final | Yes | |
| names | Yes | |
| slots | Yes | |
| title | Yes | |
| closed | Yes | |
| changes | Yes | |
| warnings | Yes | |
| best_rule | Yes | |
| manageUrl | Yes | |
| publicUrl | Yes | |
| time_zone | Yes | |
| expires_at | Yes | |
| slots_count | No | |
| participants | Yes | |
| allow_if_need_be | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses authorization requirements ('Needs the private organizer link') and a non-obvious side effect ('Reopening also clears a final time'). It also explains downstream consequences the annotations cannot convey: existing answers are kept and participants can answer new options via their edit link, which matters because the tool is non-idempotent and modifies open-world shared state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences: trigger first, then requirement, then side effect, then retention guarantee and exclusion. No filler, and the most decision-relevant clause (the organizer link requirement) appears early.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover safety/idempotency, so the description's job is to cover intent, prerequisites, and side effects — all present. For a 6-parameter partial-update tool, the agent has everything needed to decide and call it correctly, including the fact that omitted fields are left untouched and answers survive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each field with examples, enums, and limits, making 3 the baseline. The description adds only a light gloss ('private organizer link', 'add time options... close or reopen voting') and no format or constraint detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('change an existing date poll') and then enumerates the exact mutation surface: add time options, close or reopen voting, change title/place/note. The word 'existing' plus the change-oriented scope clearly separates it from create_date_poll, finalize_date_poll, and show_date_poll_results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use this when the organizer wants to change an existing date poll' plus the explicit exclusion 'Does not remove options or answers' gives both a positive trigger and a boundary. It does not name a sibling to use for the excluded cases (e.g. deletion) or for setting a final time, so routing is clear on intent but not fully closed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
create_date_poll - First observed
finalize_date_poll - First observed
show_date_poll_results - First observed
update_date_poll
Related MCP Connectors
Find a time a group can meet: no-login availability poll that picks the best meeting slot.
Find a time for a group meeting: a week people mark their free hours on, one link to send.
Find a date that works for a group: answer a poll from its link, or create one and invite guests.
Find a date with a group: polls, rosters, RSVPs and sign-ups, run by your assistant.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables scheduling polls for group chats to find common available times, with tools to create polls, get results, add candidate slots, and finalize appointments.-
- AlicenseAqualityCmaintenanceCreate scheduling polls (like Doodle) from AI agents. Find the best time for meetings, dinners, and events. 5 tools: create_poll, get_poll, vote_on_poll, get_results, finalize_poll. No authentication required.581 npm1MIT
- AlicenseAqualityDmaintenanceAI-powered scheduling assistant that checks calendars, finds mutual availability, and books meetings via natural language commands.339 PyPI1MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to create and manage no-login scheduling polls, collect Yes/No availability, and set or close final decisions through MCP tools.-
Glama MCP Gateway
Add one secure layer between your agents and this server.