Skip to main content
Glama
PhilflowIO

dav-mcp

by PhilflowIO

calendar_query

Search and filter calendar events across all calendars using time range, text, or location filters. Avoids loading excessive entries by querying only matching results.

Instructions

⭐ PREFERRED: Search and filter calendar events efficiently. Use instead of list_events to avoid loading thousands of entries. Omit calendar_url to search across ALL calendars automatically.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of events to return (default 20, max 500). You get the earliest by start date, and the response states how many matched in total.
calendar_urlNoOptional: Specific calendar URL. Omit to search ALL calendars (recommended for "find events with X" queries). Only provide if user explicitly names a calendar. DO NOT use list_calendars first - that defeats cross-calendar search.
summary_filterNoSearch event titles/summaries containing this text (case-insensitive). Example: "meeting with Elena" or "standup". Can be used alone as sufficient filter.
time_range_endNoEnd datetime (ISO 8601). If provided, time_range_start is REQUIRED. Both dates together form a complete filter. Do not omit if start is provided.
location_filterNoSearch event locations containing this text. Example: "Berlin", "Office", "Zoom". Can be used alone as sufficient filter.
time_range_startNoStart datetime (ISO 8601, e.g., 2025-10-30T00:00:00Z). If provided, time_range_end is REQUIRED. Calculate dates for "today", "this week", etc. Can be used alone (with end date) as sufficient filter.
Behavior4/5

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

There are no annotations, so the description carries the burden. It discloses the efficient-search behavior, the performance reason, and the automatic cross-calendar scope. It does not explicitly state read-only or describe the result shape, but 'search and filter' plus the schema's note that the response states match counts makes the behavior clear enough.

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 description is compact and front-loaded with the 'PREFERRED' signal. Every sentence earns its place: one gives the action, one gives the alternative to avoid, and one gives the default-scope behavior. No filler or repetition.

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 query tool with six optional parameters and no output schema, the description plus the rich parameter documentation gives enough to call it correctly. It clearly routes away from list_events, explains the all-calendars default, and the schema covers filter usage. The main omission is an explicit statement of what the returned events look like, but this is not critical for a search 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?

The input schema already documents all six parameters in detail, including examples, defaults, and constraints, so schema coverage is 100%. The top-level description adds cross-calendar context but does not need to repeat parameter semantics; baseline 3 is appropriate.

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 action ('Search and filter calendar events') and a specific resource, while immediately differentiating itself from list_events. The 'PREFERRED' marker and cross-calendar note make the tool's role unmistakable.

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 explicitly tells the agent to prefer this over list_events to avoid loading thousands of entries. It also gives a concrete rule for calendar_url: omit it to search across all calendars, and the schema reinforces the routing by saying not to call list_calendars first.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PhilflowIO/dav-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server