Skip to main content
Glama

less-annoying-crm

List calendar events

lacrm_list_events
Read-only

List calendar events in a date range, filterable by user or calendar. If contact_id is given, all events attached to that contact are returned and other filters are ignored. LACRM: GetEvents.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based. Default 1.
end_dateNoEnd of the range (inclusive), ISO 8601 date or date-time.
user_idsNoOnly events for these UserIds.
contact_idNoOnly events attached to this contact (a long numeric Uid — always pass it as a string).
start_dateNoStart of the range (inclusive), ISO 8601 date or date-time.
max_resultsNoResults per page (MaxNumberOfResults), 1-10000. Default here: 50.
calendar_idsNoOnly events on these CalendarIds (your own calendars only).
sort_directionNoSort direction.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds a non-obvious behavioral trait not present in the schema: contact_id short-circuits and overrides all other filters. It does not mention pagination behavior, but the page/max_results defaults are already documented in the schema.

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 short sentences, zero filler, with the core scope stated first and the exception rule immediately after. The API endpoint hint ('LACRM: GetEvents') is a compact, useful trace to the underlying operation.

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 an eight-parameter, zero-required read-only list tool with a fully documented schema, the description covers scope, filters, and the one surprising precedence rule. With no output schema, it could say a little more about the shape of returned events, but nothing critical to correct invocation is missing.

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 all eight parameters are documented in the schema itself (including defaults and enum for sort_direction). The description only adds the cross-parameter override semantics for contact_id; it gives no additional format or syntax detail. Baseline 3 is appropriate.

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 calendar events') with the scope qualifier 'in a date range', and names the two filter axes (user, calendar). It is clearly distinguishable from lacrm_create_event, though it does not explicitly route against any ambiguous sibling.

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 usage condition: when contact_id is supplied, all events attached to that contact are returned and other filters are ignored. This is real when-to-use guidance, but no alternative tool is named for cases where the agent wants filtered-by-user results spanning contacts.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.