Skip to main content
Glama
adamzaidi

icloud-mcp

by adamzaidi

detect_conflicts

Identify scheduling conflicts and tight gaps between events across multiple calendars, comparing same-day non-all-day events to flag overlapping or insufficient buffer times.

Instructions

Detect scheduling conflicts and tight gaps between events across multiple calendars. Compares all non-all-day events on the same date from different calendars.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sinceNoStart of range (YYYY-MM-DD, default: today)
beforeNoEnd of range (YYYY-MM-DD, default: 90 days ahead)
minBufferNoMinimum buffer minutes between events to flag tight gaps (default 0 = no gap check)
calendarIdsYesArray of calendar IDs to check for conflicts

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.8.0

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full behavioral burden. It discloses a real behavioral rule (only non-all-day events, only same-date comparisons across different calendars), which is valuable. However, it omits that this is a read-only operation, what a returned conflict/gap record looks like, and any limits on calendar count or range size.

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?

Two tight sentences, each earning its place: the first states purpose and scope, the second supplies the comparison rule. Purpose is front-loaded and there is no filler.

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

Completeness3/5

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

There is no output schema and no annotations, so the description must carry more. It explains the comparison logic but never describes what a detected conflict or tight gap returns, which is exactly what an agent needs to interpret results from a detection tool.

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%, so the schema already documents since, before, minBuffer, and calendarIds with types and defaults. The description only echoes the 'tight gaps' concept behind minBuffer and the multi-calendar meaning of calendarIds, adding little beyond the structured fields. Baseline 3 applies when the schema does the heavy lifting.

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 (Detect) and resource (scheduling conflicts and tight gaps between events) and scopes it to multiple calendars, non-all-day events, and same-date comparisons. No sibling tool performs conflict detection, so this is unambiguously distinguished from list_events, search_events, and get_event.

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

Usage Guidelines3/5

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

Usage is only implied: the scope ('across multiple calendars', 'non-all-day events on the same date') suggests when the check is meaningful, but the description never states when to reach for this versus search_events or list_events_multi, nor any precondition such as needing calendar IDs up front. Adequate but with a clear gap.

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