Skip to main content
Glama

Zovo Group Calendar

Server Details

Shares a schedule that your group subscribes to once and that stays up to date.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation4/5

Each tool maps to a distinct phase of the calendar lifecycle (create, view, modify), and the descriptions explicitly state which link type is required for show/update. The only soft spot is update_group_calendar, which bundles add/change/cancel/restore/rename into one tool and could be confused with create when the user wants to add more events.

Naming Consistency5/5

All three names follow the identical verb_group_calendar pattern (create/show/update), with a shared resource suffix that makes the family instantly recognizable. The only minor nit is 'show' where 'get' might be expected, but it is applied consistently within a single uniform scheme.

Tool Count4/5

Three tools is lean but defensible for a focused publish-and-maintain calendar service; each tool earns its place and there is no filler. It sits at the low end of comfortable, and update_group_calendar carries a lot of weight for one tool.

Completeness3/5

The create/read/update arc is covered, but deletion is explicitly excluded ('does not delete events', nothing about removing a calendar), so an organizer has no way to undo a mistaken creation or drop a past event. There is also no listing of calendars an organizer owns, which forces agent-side state tracking of the private links.

Available Tools

3 tools
create_group_calendarCreate group calendarAInspect

Use this when someone wants a shared calendar that a group subscribes to: a team practice schedule, class timetable, club or family events. Publishes a page with the upcoming events and subscribe links (webcal, Google Calendar add-by-URL) to a live iCalendar feed. Takes 1-200 events in one IANA time zone, with optional weekly repeats and skipped dates; events can run up to one year ahead. Returns the public link and a private organizer link. Does not send invitations, reminders or emails, and does not write into anyone's calendar directly.

NameRequiredDescriptionDefault
nameYesCalendar name people will see in their calendar app, e.g. U12 soccer practice.
eventsYesThe events, e.g. [{"title":"Practice","date":"2026-11-10","start":"17:30","end":"19:00","repeat_weekly_until":"2027-02-23"}].
time_zoneYesIANA time zone of the event times, e.g. Europe/Berlin or America/Chicago.
descriptionNoShort description shown on the page and in calendar apps, e.g. Practice schedule for the U12 team.
organizer_nameNoOrganizer's first name shown on the page, e.g. Coach Sam.

Output Schema

NameRequiredDescription
nameYes
nextYes
closedYes
eventsYes
changesYes
feed_urlYes
warningsYes
manageUrlYes
publicUrlYes
time_zoneYes
expires_atYes
webcal_urlYes
events_countNo
events_totalYes
refresh_noteYes
events_activeYes
google_add_urlYes
past_occurrencesYes
upcoming_occurrencesYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false), the description discloses that the output is public/subscribable, that two links are returned (public and private organizer), that events are capped and span at most one year ahead, and that a single IANA time zone governs all events. It also clarifies the non-destructive surface: nothing is written into anyone's calendar and no emails are sent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence front-loads the use case and audience, then subsequent sentences layer output, constraints, and exclusions in a logical order. There is no filler; even the negative sentence about invitations/reminders carries routing information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists and return values need not be explained, the description still summarizes the two returned links, which helps the agent tell the user what they will get. Combined with the constraint and exclusion notes, nothing material is missing for a create-type tool with five parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 value by stating cross-parameter constraints the schema cannot express — one time zone for all events, weekly repeats with skipped dates, and a one-year horizon. However, it says 'Takes 1-200 events' while the schema allows maxItems 220, a small numeric inconsistency that could confuse an agent about the real cap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource (create a shared, subscribable group calendar) and grounds it in concrete use cases — team practice schedule, class timetable, club or family events. It also states the concrete artifact produced (a public page plus a live iCalendar feed), which lets an agent distinguish it from the show/update siblings 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The opening clause 'Use this when someone wants a shared calendar that a group subscribes to' gives an explicit trigger, reinforced by example scenarios. The closing sentence carves out what the tool does not do (no invitations, reminders, emails, no direct writes to someone's calendar), which implicitly routes invitation-style requests elsewhere, though no sibling or alternative tool is named explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_group_calendarShow group calendarA
Read-onlyIdempotent
Inspect

Use this when the organizer wants to see a group calendar they made: its events with their numbers, the next dates and the subscribe links. Needs the private organizer link (contains /m/). Does not change the calendar.

NameRequiredDescriptionDefault
manage_linkYesThe private organizer link returned when the calendar was made, e.g. https://calendar-feed.zovo.one/m/<id>/<key>.

Output Schema

NameRequiredDescription
nameYes
nextYes
closedYes
eventsYes
changesYes
feed_urlYes
warningsYes
manageUrlYes
publicUrlYes
time_zoneYes
expires_atYes
webcal_urlYes
events_countNo
events_totalYes
refresh_noteYes
events_activeYes
google_add_urlYes
past_occurrencesYes
upcoming_occurrencesYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description still earns credit by adding the access requirement that the caller must hold the private organizer link containing '/m/', which is real behavioral context not present in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the usage trigger, then the requirement, then the non-mutation note. The closing 'Does not change the calendar' largely restates readOnlyHint/destructiveHint=false, which is a small redundancy but also a useful plain-language confirmation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a one-parameter read tool with a full output schema, so the description need not explain return structure, yet it still sketches the payload. The usage trigger, link requirement, and non-mutation guarantee cover everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter is fully documented with a format example. The description repeats the 'private organizer link (contains /m/)' hint, which the schema already conveys via its example URL, so it adds little meaning beyond the structured field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('see a group calendar they made') and enumerates what comes back: events with numbers, next dates, and subscribe links. It clearly reads as the retrieval counterpart to create_group_calendar and update_group_calendar, but it never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit selection condition ('when the organizer wants to see a group calendar they made') and a prerequisite ('needs the private organizer link'). It stops short of naming a wrong-tool condition or pointing to an alternative for non-organizers, so it is clear context without full routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_group_calendarUpdate group calendarA
Destructive
Inspect

Use this when the organizer wants to add events to a group calendar, change an event (time, date, place, note, repeat, skipped dates), cancel or restore an event, or rename the calendar. Needs the private organizer link and the event numbers from show_group_calendar. Changed events keep their identity and get a higher revision, so calendar apps update them on their next refresh; cancelled events stay marked as cancelled. Does not notify anyone and does not delete events.

NameRequiredDescriptionDefault
nameNoNew calendar name, e.g. U12 practice (winter).
changesNoChanges to existing events by number, e.g. [{"event":1,"skip_dates":["2026-12-22"]},{"event":3,"cancel":true}].
add_eventsNoNew events to add, same shape as when creating, e.g. [{"title":"Tournament","date":"2026-12-12","all_day":true}].
descriptionNoNew description, e.g. Winter indoor schedule.
manage_linkYesThe private organizer link returned when the calendar was made, e.g. https://calendar-feed.zovo.one/m/<id>/<key>.

Output Schema

NameRequiredDescription
nameYes
nextYes
closedYes
eventsYes
changesYes
feed_urlYes
warningsYes
manageUrlYes
publicUrlYes
time_zoneYes
expires_atYes
webcal_urlYes
events_countNo
events_totalYes
refresh_noteYes
events_activeYes
google_add_urlYes
past_occurrencesYes
upcoming_occurrencesYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses that changed events keep their identity and receive a higher revision so subscriber apps refresh, that cancelled events remain visible as cancelled, and that no one is notified. That is substantive side-effect context an agent cannot infer from destructiveHint/openWorldHint alone, and it does not contradict them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the trigger and operation list, followed by prerequisites and then side effects. No filler, and the negative constraints are placed last where they read as caveats.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-operation mutation tool with an output schema, the description covers operations, prerequisites, and side effects well. It stops short of saying what happens when an event number is invalid or when a batch partially fails, which would matter for a 50-item changes array.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 provenance the schema lacks: the manage_link is the private organizer link and event numbers must come from show_group_calendar. It does not add format or interaction detail for the nested change/add arrays, which the schema already documents thoroughly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource and then enumerates the exact operations covered: adding events, changing time/date/place/note/repeat/skipped dates, cancelling, restoring, and renaming. It also distinguishes itself from the sibling show_group_calendar by pointing there for event numbers, so an agent can route correctly without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It opens with an explicit trigger ('Use this when the organizer wants to...') and lists the concrete situations that select this tool. It also states prerequisites (private organizer link, event numbers from show_group_calendar) and two exclusions (does not notify, does not delete), which is exactly the when/when-not guidance the dimension asks for.

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.

  1. 3 tool updates
    • First observedcreate_group_calendar
    • First observedshow_group_calendar
    • First observedupdate_group_calendar

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables scheduling prompts with cron expressions and receiving webhook POSTs to callback URLs.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Lets an AI assistant check your availability by reading private ICS subscription feeds and returning merged busy intervals or open free slots, while keeping event titles, notes, attendees, and feed URLs entirely on the server. Access is read-only and protected by OAuth with a single-account allowlist.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources