Skip to main content
Glama
mjucius

Cozi MCP Server

by mjucius

Search the calendar

search_calendar

Find appointments by words in their subject, across months (Cozi's own search, the one in its app). Use it for "when is the dentist?" instead of paging through months.

Instructions

Find appointments by words in their subject, across months (Cozi's own search, the one in its app). Use it for "when is the dentist?" instead of paging through months. Returns: {appointments: [{...same fields as get_calendar, last_day?, next_days?}], more?}. A recurring series is one entry with last_day (latest past occurrence) and next_days (up to 10 upcoming). Cozi searches from a few years back onward, and an appointment created in the last few seconds may not be found yet; more: true means it found more than this first page, so narrow the query.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.5.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: it discloses the search time horizon ('from a few years back onward'), an indexing lag ('an appointment created in the last few seconds may not be found yet'), pagination semantics ('more: true means it found more than this first page'), and how recurring series collapse into one entry with last_day/next_days.

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?

Front-loads purpose and usage, then return shape, then caveats, in a tight sequence. Despite covering many topics, nearly every clause adds distinct information an agent needs (field shape, pagination, staleness, recurrence).

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?

There is no output schema, but the description supplies the return shape inline and covers the operational edge cases (indexing delay, result cap, recurrence representation) that an agent would otherwise have to discover by trial. Nothing material for correct invocation is missing.

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 0% for the single required 'query' parameter, so the description must compensate. It does by specifying that matching is against words 'in their subject', narrowing the semantics of an otherwise bare string param, though it does not cover case sensitivity, partial-word matching, or multi-word behavior.

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?

States a specific verb and resource ('Find appointments by words in their subject, across months') and clarifies it is Cozi's own app-level search, which separates it from get_calendar and today. An agent can distinguish it from all siblings 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 Guidelines4/5

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

Gives a concrete when-to-use cue ('when is the dentist?') and an explicit alternative behavior ('instead of paging through months'), which implicitly routes to get_calendar. It does not explicitly name the sibling tool or state when-not to use it, so it falls short of a full 5.

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