Skip to main content
Glama
t4dhg

@t4dhg/mcp-holded

Holded calendar

holded_calendar

Manage calendar events and bookings: list, view, create, update, delete events and bookings, check availability slots, and list locations.

Instructions

Events and bookings. Actions: list_events, get_event, create_event, update_event, delete_event, list_bookings (start_date, end_date, service_id, sort_field, sort_order), get_booking, create_booking, update_booking, cancel_booking, list_locations, slots (id is the location id; data carries the query, for example { date, service_id }).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoRecord id (24 hex characters)
dataNoPayload for create and update actions, following the Holded v2 request contract
limitNoPage size, 1 to 200 (default 50)
actionYes
cursorNoCursor from the previous page to continue listing
confirmNoRequired for gated actions. The first call without it sends nothing and explains what would happen.
end_dateNo
service_idNo
sort_fieldNo
sort_orderNo
start_dateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.1

TDQS

C2.4/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden. It provides some behavioral details, such as the parameters for list_bookings and the special handling for slots (id is location id, data carries the query). However, it does not disclose the confirm/confirmation flow for gated actions, the side effects of delete/cancel, or the meaning of the data object for other create/update actions. The description fails to explain how the action dispatch works beyond listing actions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single run-on sentence listing actions with parenthetical details. It is not front-loaded with a clear statement of purpose; instead, it immediately dives into a list. The formatting is cluttered and difficult to parse quickly. While it is compact, it lacks a clear structure that would aid an agent's comprehension.

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

Completeness2/5

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

Given the tool's complexity (11 parameters, 12 actions, nested data object) and no output schema, the description is insufficient. It covers only a few actions in detail (list_bookings, slots) and leaves other actions' semantics to the schema. It does not explain pagination, the confirm flow, or return values. For a dispatcher tool, this is a significant gap that would require the agent to experiment or look elsewhere.

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 coverage is only 45%, and the description partially compensates. It explicitly lists the parameters for list_bookings (start_date, end_date, service_id, sort_field, sort_order) and clarifies the slots action's id and data fields. It also notes that data is the payload for create/update actions. However, it does not add semantics for the other actions' parameters, such as what fields are required for create_event or how confirm works.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool handles 'Events and bookings' and lists specific actions, which gives a general sense of purpose. It distinguishes from sibling tools like sales or contacts because it is the only calendar/booking domain. However, it lacks a clear verb+resource statement (e.g., 'Manage calendar events and bookings') and the purpose is implied through the action list rather than explicitly articulated.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives. The sibling tools are clearly different domains (contacts, sales, etc.), so an agent could infer from the name and actions that this is for calendar/booking operations. But the description does not state any conditions for use, exclusions, or when to prefer another tool. No alternatives are mentioned.

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