Skip to main content
Glama
icloud-mcp

icloud-mcp

by adamzaidi

list_events_multi

Retrieve events from multiple iCloud calendars in a single call, grouped by calendar ID. Filter by date range and set a limit per calendar.

Instructions

List events from multiple calendars in one call. Returns events grouped by calendar ID.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "calendarIds": "<calendarIds>"
    },
    "name": "list_events_multi"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMax events per calendar (default 50)
sinceNoStart of date range (YYYY-MM-DD, default: 30 days ago)
beforeNoEnd of date range (YYYY-MM-DD, default: 30 days ahead)
calendarIdsYesArray of calendar IDs to fetch events from

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 the full burden. "List" implies a safe read and the second sentence usefully discloses the return shape (grouped by calendar ID), which is real value beyond a bare name. It says nothing about ordering, partial failures across calendars, or per-calendar truncation behavior beyond what the schema's limit field implies.

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 short sentences with zero waste: the action/scope is front-loaded, then the return shape. Every sentence earns its place.

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 simple read tool with fully documented parameters and no annotations, the description covers purpose, scope relative to siblings, and return grouping. Only minor gaps remain: no note on whether one failing calendar aborts the whole call, and no detail on ordering of grouped results.

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% and each parameter documents its own defaults (limit 50, since 30 days ago, before 30 days ahead), so the schema does the heavy lifting. The description adds nothing extra, but the baseline for fully-documented params is a 3 and the return-grouping note partially covers how calendarIds shapes output.

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?

States a specific verb and resource ("List events") plus the scope that distinguishes it from the sibling list_events: "from multiple calendars in one call." An agent can infer the difference from the single-calendar sibling without opening schemas, though it never names list_events explicitly.

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 phrase "multiple calendars in one call" hints you should pick this over list_events when aggregating across calendars, but there is no explicit when-to-use/when-not statement and no alternative named. It offers guidance indirectly rather than stating it.

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