Skip to main content
Glama

TimeTac MCP by usefulapi

Request absence

timetac_create_absence
Destructive

WRITE: create an absence or leave request for a user. Each call creates a new request, so do not repeat it. type_id is the category (1 holiday, 2 overtime reduction, 3 other paid leave); subtype_id picks the leave type from timetac_list_absence_types. TimeTac API: POST absences/create.

Input Schema

NameRequiredDescriptionDefault
to_dateYes
type_idYesAbsence category: 1 = holiday, 2 = overtime reduction, 3 = other paid leave.
user_idYes
durationNoRequested duration, in the unit of duration_unit.
from_dateYes
subtype_idNoSpecific leave type inside the category (for example which other paid leave). See timetac_list_absence_types.
duration_unitNod = days, hs = hours.
request_commentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Adds real behavior beyond annotations: the call is non-idempotent and each invocation produces a new record, and the underlying endpoint is named. It does not explain that the created request is likely pending approval or what state/identifier comes back, and the destructiveHint=true annotation is left unaddressed.

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

Conciseness4/5

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

Compact and front-loaded: write semantics, idempotency warning, category mapping, then the endpoint. The trailing API endpoint note earns little for an agent but costs only a few tokens.

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?

Given 8 parameters, no output schema, and a thin annotation set, the description covers the key decision points an agent needs to issue the write safely. Missing pieces are the post-create outcome (returned ID, pending status) and the meaning of the destructiveHint flag.

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 50%; the description reinforces type_id and usefully points subtype_id at timetac_list_absence_types. However, duration, duration_unit, request_comment, and the semantics of from_date/to_date (range vs single day, half-days) are left entirely to the schema.

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 ('create an absence or leave request for a user') and leads with a WRITE marker that separates it from the read/approve/reject siblings. Sibling differentiation is implied by intent rather than stated by name.

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 practical usage rule ('Each call creates a new request, so do not repeat it') and routes subtype lookup to timetac_list_absence_types. No explicit exclusion or prerequisite (e.g. that requests land in a pending state needing timetac_approve_absence) is stated.

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.