sync-day
Server Details
Free no-signup group scheduling; share a link and rank times by who's free.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
8 toolscreate_eventCreate eventAInspect
Create a sync.day availability poll and get its share link. Candidate days run from startDate to endDate (inclusive; or give days instead). Each day offers candidate START times from hourFrom, every startStepMinutes, as long as start + durationMinutes <= hourTo. Returns slug, public url (share this), adminUrl and adminKey (keep private; needed for update_event / remove_participant). Example: 周六周日下午聚餐 3 小时 -> {title:'周末聚餐', startDate:'2026-09-05', endDate:'2026-09-06', hourFrom:13, hourTo:18, durationMinutes:180, startStepMinutes:60}.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of consecutive days from startDate (1-21); alternative to endDate. | |
| title | Yes | Event name, max 60 chars. e.g. 周末聚餐, Team sync | |
| hourTo | Yes | End of each day's window, exclusive (1-24), must be > hourFrom. e.g. 22 | |
| endDate | No | Last candidate day, inclusive, YYYY-MM-DD (same as startDate for a single day; at most 21 days). Give this or days; endDate wins when both are set. | |
| hourFrom | Yes | Earliest hour of each day (0-23). e.g. 9 | |
| question | No | Optional prompt shown to participants, max 200 chars. e.g. 哪天晚上有空? | |
| startDate | Yes | First candidate day, YYYY-MM-DD. e.g. 2026-09-05 | |
| durationMinutes | Yes | Event length in minutes. One of 30, 60, 90, 120, 180, 240, 480. | |
| startStepMinutes | No | Gap between candidate start times in minutes: 30 or 60 (default 60). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only convey generic flags (readOnly false, idempotent false, etc.), so the description carries the behavioral burden. It discloses the creation side effect, the date/time generation rules, the returned fields (slug, public url, adminUrl, adminKey), and the important security instruction to keep adminKey private. This goes well beyond the structured annotation data and has no contradiction.
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 dense but efficient: purpose first, then the generation rule, then return values, then an illustrative example. The 'days' aside is slightly ambiguous and adds some confusion, but every major sentence earns its place and the structure 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?
Since there is no output schema, describing returns (slug, public url, adminUrl, adminKey) is essential and is done clearly. It also covers the core input semantics and example scale. It would be more complete with an explicit clarification of the optional `days` parameter and the endDate-vs-days precedence, but overall it equips an agent to call it correctly.
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 coverage is 100%, so the baseline is 3, but the description adds a conceptual algorithm and a concrete example mapping natural language to parameters (title, startDate, endDate, hourFrom, hourTo, durationMinutes, startStepMinutes). The weakness is that the 'or give days instead' option is left vague and does not clarify the confusing `days` property in the schema, so it does not fully resolve every parameter.
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?
States a specific verb+resource: creates a sync.day availability poll and returns the share link. The description also explains how candidate days/times are generated, which makes the purpose concrete. It does not explicitly distinguish itself from siblings like decide_time or update_event, so it stops short of a 5.
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?
No explicit guidance on when to use create_event versus alternatives. The only related-tool hint is that adminKey is needed later for update_event / remove_participant, which is forward-looking usage advice, not tool-selection guidance. An agent must infer when to use this tool from the name/title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decide_timeDecide the timeAIdempotentInspect
Organiser only: settle on a start time (locks availability picking and voting; the page shows 已定). Pass start=null to reopen. Requires the adminKey from create_event.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Event slug from the URL, e.g. calm-otter-4821 (sync.day/calm-otter-4821) | |
| start | Yes | A candidate start key of the event (normally one of voteOptions), or null to reopen. | |
| adminKey | Yes | Organiser key returned by create_event (the ?key= part of adminUrl). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key side-effect: locking availability picking and voting, and that the page shows 已定. It also mentions reopening with start=null and the adminKey requirement, adding meaningful behavioral context beyond the idempotent/read-only annotations.
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 short sentences with no filler. The most important constraint ('Organiser only') is front-loaded, followed by the primary action, side-effect, and the reopening behavior.
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?
The description covers the operation's purpose, side-effects, reversibility, and authentication requirement. With a well-described schema and annotations indicating idempotency, nothing essential is missing for an agent to call this tool correctly.
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 coverage is 100%, so the schema already fully documents slug, start, and adminKey. The description adds 'start=null to reopen' and 'adminKey from create_event', but these details also appear in the schema descriptions, so little new semantic value is added.
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: 'settle on a start time' and clarifies the effect 'locks availability picking and voting'. The 'Organiser only' qualifier and the lock-vs-vote distinction differentiate it from vote_time and submit_availability even without naming them.
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 explicitly limits usage to organisers and requires adminKey from create_event, and explains the re-open behavior via start=null. It doesn't explicitly name alternatives or when not to use it, but the context is clear enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eventGet eventARead-onlyInspect
Read an event: settings, every candidate start key per day (startOptions), who has answered (participants with their start keys; names may repeat), the top 10 start times by head-count (ranked), the starts EVERYONE with picks can make with their votes (voteOptions), each person's vote (votes) and decidedStart. No key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Event slug from the URL, e.g. calm-otter-4821 (sync.day/calm-otter-4821) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals safety, and the description reinforces this by saying 'Read an event' and 'No key needed,' adding useful authentication context. It also discloses the exact set of returned fields, which goes beyond the annotation's minimal safety signal.
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 a single dense sentence that front-loads the core purpose and then packs an exhaustive list of return data into parentheticals. Every clause carries information, with no filler or repetition.
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?
With no output schema present, the description fully compensates by naming every significant returned component: settings, startOptions, participants, ranked top 10, voteOptions, votes, and decidedStart. It also covers the access requirement ('No key needed'), making the tool complete for a single-parameter read operation.
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?
The input schema already documents the single slug parameter with a pattern and an example, providing 100% schema description coverage. The description does not add parameter-level detail beyond what the schema provides, so the baseline score of 3 is appropriate.
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 clear verb ('Read') and a specific resource ('an event'), then enumerates the precise data returned: settings, startOptions, participants, ranked times, voteOptions, votes, and decidedStart. This clearly distinguishes it from sibling mutation tools like create_event, update_event, and submit_availability.
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 establishes that this is a read-only retrieval operation and adds the practical note that no key is needed. It does not explicitly name alternative tools or state when not to use it, but the read-versus-mutation contrast with the sibling tools makes the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_event_textParse event textARead-onlyInspect
Turn a natural-language sentence (Chinese works best) into create_event input using sync.day's AI parser. Does NOT create anything; review the result, then call create_event. Example: '下周六或周日下午聚餐,大概 3 小时'.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | One sentence describing the event, max 300 chars. | |
| today | No | Reference date for relative words like 明天/下周, YYYY-MM-DD. Defaults to today in Asia/Shanghai. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, and the description reinforces this by saying 'Does NOT create anything'. The description adds useful behavioral context beyond annotations: it is an AI parser, it works best with Chinese, and its output should be reviewed before acting. This goes beyond what annotations alone provide.
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 compact and front-loaded: the core function is stated first, followed by the critical safety clarification and a concrete example. Every sentence earns its place, and there is no redundant wording.
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 simple two-parameter, read-only parsing tool with full schema coverage, the description covers the essential context: what it does, what it does not do, and what to do next. There is no output schema, so a bit more detail about the exact shape of the returned create_event input would be ideal, but the description already says the output is create_event input and instructs the agent to review it.
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 both parameters well. The description adds a clarifying example and the 'Chinese works best' hint, which helps with the text parameter, but it doesn't add substantial parameter-level meaning beyond what the schema provides. Baseline 3 is appropriate.
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 ('Turn'), a specific resource ('natural-language sentence'), and a concrete target output ('create_event input'). It also explicitly distinguishes itself from create_event by saying 'Does NOT create anything', which separates it from the sibling tool.
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 clearly tells the agent when to use this tool: for natural-language sentences, with a note that Chinese works best. It also gives explicit follow-up guidance: review the result, then call create_event. The example makes the intended usage concrete and understandable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_participantRemove participantADestructiveIdempotentInspect
Organiser only: remove one participant by name (the oldest row with that name when it repeats), together with their vote. Requires the adminKey from create_event.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact participant name to remove. | |
| slug | Yes | Event slug from the URL, e.g. calm-otter-4821 (sync.day/calm-otter-4821) | |
| adminKey | Yes | Organiser key returned by create_event (the ?key= part of adminUrl). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description discloses the tie-breaking behavior ('the oldest row with that name when it repeats'), that the vote is removed with the participant, and that adminKey is required. This is meaningful behavioral context that the schema and annotations do not provide.
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 two sentences with no filler. It front-loads the key constraints (organizer-only, removes vote) and the tie-break rule, while keeping the whole definition compact.
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 simple, three-parameter destructive tool, the description fully covers permission requirements, the exact deletion behavior, and the duplicate-name rule. No output schema is needed to understand the effect of this operation.
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 coverage is 100%, so the baseline is 3. The description adds extra meaning by explaining that removal is by exact name, how repeated names are handled, and where the adminKey comes from, which enriches the parameter semantics beyond the raw 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 uses a specific verb ('remove') and resource ('participant'), and clarifies it also removes their vote. It also specifies organizer-only access, which distinguishes it clearly from the other event-management siblings.
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 clearly states who may use the tool (organizer only) and the required credential (adminKey from create_event). It does not explicitly contrast it with alternatives, but none of the listed siblings serve the same removal purpose, so the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_availabilitySubmit availabilityAIdempotentInspect
Save (or replace) one person's availability: the candidate start keys they can make, from get_event.startOptions. The person is identified by identity, not by name: the same identity later overwrites the same row (and can rename it), a different identity with the same name is a second participant. Keys outside the event's start options are rejected. Returns the updated ranking.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name, 1-20 chars, may repeat. e.g. 小明 | |
| slug | Yes | Event slug from the URL, e.g. calm-otter-4821 (sync.day/calm-otter-4821) | |
| starts | Yes | Start keys like 2026-09-05T14:00. Empty array clears this person's picks. | |
| identity | Yes | Random secret for this person that you generate and keep per person, 16-256 chars (e.g. 32 hex chars; NOT a plain user id or name, since anyone who guesses it can act as them). Same identity = same participant; the server stores only a hash. Example: 3f9a1c77b2e04d5e8a61f0c9d2b7e415 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by explaining that the same identity overwrites its row and can rename it, that a different identity with the same name becomes a second participant, and that invalid keys are rejected. It also discloses the return value, which is especially valuable because no output schema is present.
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 written sentences cover the core action, the identity semantics, validation, and the return value. Every sentence earns its place, and the most important distinction (identity vs. name) 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?
Given the tool's moderate complexity and the absence of an output schema, the description is complete enough for an agent to call it correctly. It explains the overwrite behavior, participant identity model, validation constraints, and what the response contains.
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 coverage is 100%, so the baseline is 3. The description adds real value by clarifying that identity is the true key and name is not unique, that starts come from get_event.startOptions, and that invalid keys are rejected. This enhances the schema's identity and starts documentation without repeating it.
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 opens with a specific verb and resource: 'Save (or replace) one person's availability,' and ties the data to get_event.startOptions. It clearly distinguishes this from sibling tools by framing it as availability submission rather than voting, event creation, or participant removal.
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 provides clear context: use this after fetching start options from get_event, and pass an identity token rather than a name. It does not explicitly name alternatives or state when not to use it, but the intended workflow is unambiguous for this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_eventUpdate eventAIdempotentInspect
Organiser only: change any event settings (same fields and rules as create_event; omitted fields keep their current value; endDate wins over days). Existing picks are kept; those no longer valid starts are just hidden.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of consecutive days from startDate (1-21); alternative to endDate. | |
| slug | Yes | Event slug from the URL, e.g. calm-otter-4821 (sync.day/calm-otter-4821) | |
| title | No | Event name, max 60 chars. e.g. 周末聚餐, Team sync | |
| hourTo | No | End of each day's window, exclusive (1-24), must be > hourFrom. e.g. 22 | |
| endDate | No | Last candidate day, inclusive, YYYY-MM-DD (same as startDate for a single day; at most 21 days). Give this or days; endDate wins when both are set. | |
| adminKey | Yes | Organiser key returned by create_event (the ?key= part of adminUrl). | |
| hourFrom | No | Earliest hour of each day (0-23). e.g. 9 | |
| question | No | Optional prompt shown to participants, max 200 chars. e.g. 哪天晚上有空? | |
| startDate | No | First candidate day, YYYY-MM-DD. e.g. 2026-09-05 | |
| durationMinutes | No | Event length in minutes. One of 30, 60, 90, 120, 180, 240, 480. | |
| startStepMinutes | No | Gap between candidate start times in minutes: 30 or 60 (default 60). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly=false, idempotent=true, destructive=false), the description discloses several non-obvious behaviors: omitted fields keep current values, endDate takes precedence over days, existing picks are retained, and invalid starts are merely hidden. This exactly covers the update semantics an agent needs to know before invoking.
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?
Two sentences carry the essential permissions, update behavior, conflict rule, and participant effects with no filler. The most important constraint (organiser only) 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?
For an 11-parameter update tool with no output schema, this is nearly complete: permissions, partial-update semantics, conflict resolution, and downstream effects on picks are all covered. It delegates field-level rules to create_event and does not describe the response shape, leaving a small gap.
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?
The schema already documents all parameters (100% coverage), so the baseline is 3. The description adds valuable cross-cutting parameter behavior—omitted fields are unchanged and endDate overrides days—and points to create_event for shared field rules, exceeding schema-only information.
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?
Description opens with 'Organiser only: change any event settings', naming a specific action (change) on a specific resource (event) and immediately scoping it to the organiser. It also distinguishes the update semantics from create_event by stating omitted fields persist and picks are preserved.
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 clearly indicates this tool is for changing settings of an existing event and requires organiser credentials, which is strong usage context. It does not explicitly list when-not-to-use or name alternative tools, but the update-vs-create distinction is implied through 'same fields and rules as create_event'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vote_timeApprove start timesAIdempotentInspect
Approval voting: set every start one person accepts (replaces their earlier approvals; an empty list clears them). The voter is the identity used in submit_availability and must have at least one start saved. Only keys listed in get_event.voteOptions are accepted; the error lists the current options otherwise. Rejected once the organiser decided. Example: {slug:'calm-otter-4821', identity:'3f9a1c77b2e04d5e8a61f0c9d2b7e415', starts:['2026-09-05T15:00','2026-09-06T10:00']}. start is shorthand for a single-item starts.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Event slug from the URL, e.g. calm-otter-4821 (sync.day/calm-otter-4821) | |
| start | No | Shorthand for starts: [start] | |
| starts | No | All start keys this person accepts (from get_event.voteOptions); [] clears their approvals | |
| identity | Yes | Random secret for this person that you generate and keep per person, 16-256 chars (e.g. 32 hex chars; NOT a plain user id or name, since anyone who guesses it can act as them). Same identity = same participant; the server stores only a hash. Example: 3f9a1c77b2e04d5e8a61f0c9d2b7e415 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behaviors beyond annotations: it replaces earlier approvals, an empty list clears them, invalid keys produce an error listing current options, and the operation is rejected after an organiser decision. These are not visible in the annotations alone and give the agent a realistic model of side effects.
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 core action, then logically covers replacement, clearing, prerequisites, validation, rejection, and a complete example. Every sentence adds distinct information and the length is appropriate for the tool's semantics.
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?
The description is largely complete, but it does not specify what happens if the optional starts parameter is omitted, even though only slug and identity are required. With no output schema, it also does not describe the success response. These are minor gaps relative to the otherwise thorough guidance.
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 coverage is 100%, so the schema already explains slug, identity, starts, and start. The description adds value with a concrete example, explains that 'start' is shorthand for a single-item starts list, and clarifies that identity is the voter identity from submit_availability.
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 opens with a clear verb and object: 'set every start one person accepts', and the title 'Approve start times' matches. It also distinguishes this tool from siblings by framing it as approval voting tied to identity and voteOptions from get_event, not creation or decision-making.
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 strong context: the identity must come from submit_availability and have at least one saved start, keys must be from get_event.voteOptions, and calls are rejected once the organiser decided. It does not explicitly name sibling alternatives, but the constraints clearly indicate when and how this tool should be used.
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. Dates show when Glama detected each change.
8 tool updates
- First observed
create_event - First observed
decide_time - First observed
get_event - First observed
parse_event_text - First observed
remove_participant - First observed
submit_availability - First observed
update_event - First observed
vote_time
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Free no-signup group scheduling (a modern When2meet): share one link, find a time for everyone.
Group meeting scheduler — rank times everyone's free across Google & Outlook, book Meet/Teams.
Group scheduling: create a plan link, mark availability, get best times, lock the final time.
Agent-first meeting schedule polls for humans and agents. Create polls, vote, find times.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenancewhen2meet-style scheduling polls — self-hostable, reverse-proxy-auth friendly, agent-first API (OpenAPI + llms.txt + MCP).MIT
- 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.5921MIT
- FlicenseNot gradedqualityCmaintenanceEnables scheduling polls for group chats to find common available times, with tools to create polls, get results, add candidate slots, and finalize appointments.-
- AlicenseAqualityCmaintenanceEnables reading and filling when2meet scheduling polls over HTTP, including computing availability from weekly schedules or calendar busy times, previewing, and submitting availability, all without browser automation or OAuth.6MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool has a clearly distinct purpose: creation, parsing, reading, updating, deciding, submitting availability, voting, and participant removal. The closest pair, submit_availability and vote_time, are separated by their inputs (startOptions vs voteOptions) and lifecycle stage.
All tool names follow a consistent lowercase snake_case verb_noun pattern, e.g. create_event, get_event, update_event, vote_time, decide_time. Minor compound names like parse_event_text and remove_participant still fit the same predictable convention.
Eight tools is well-scoped for an availability-polling server. Each tool covers a distinct part of the workflow without redundancy or excessive fragmentation.
The core lifecycle is covered: create, parse, read, update, submit availability, vote, decide, and remove participants. The only notable gap is no explicit delete/cancel event tool, but this does not break the main scheduling workflow.