Skip to main content
Glama

Approve, deny or change a time-off request

wheniwork_update_time_off_request
Destructive

Change a time-off request: set its status (0 pending, 1 canceled, 2 accepted/approved, 3 expired, 4 denied) and/or its dates or hours. Reversible — set the status back. start_time and end_time must be given together. When I Work: PUT /2/requests/{request_id}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hoursNoHours of paid time off to use.
statusNoNew status.
end_timeNoNew end, full date-time (give with start_time).
request_idYesThe time-off request id.
start_timeNoNew start, full date-time (give with end_time).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only supply destructiveHint=true; the description adds real behavioral context on top: mutation is reversible by setting status back, the paired start/end constraint is disclosed, and the status codes are decoded. It does not mention permission/authorization requirements or what happens to fields not supplied.

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 tight sentences: action, status semantics, constraint, then API endpoint. The critical mutation-and-status information is front-loaded and no sentence is filler.

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 mutation tool with no output schema and thin annotations, the description covers reversibility, field coupling, status codes, and the endpoint well enough to call it correctly. Missing only auth/permission expectations and behavior for partial updates, which are minor given the schema's clarity.

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 100%, so baseline is 3, but the description adds meaning the schema lacks: the status field is only described as 'New status' in the schema, whereas the description decodes all five values (0 pending, 1 canceled, 2 accepted/approved, 3 expired, 4 denied). The start_time/end_time pairing is also restated usefully.

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 precise verb+resource (change a time-off request) and enumerates the specific mutable fields (status, dates, hours). The sibling set contains create/get/list time-off variants, and the word 'change' plus the status-mutation framing clearly separates this from wheniwork_create_time_off_request and wheniwork_get_time_off_request.

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?

The title and description together establish the use case well: approving, denying, canceling, or editing an existing request. It gives the conditional constraint ('start_time and end_time must be given together') but never names an alternative tool or states when-not to use it (e.g., use create_time_off_request for new requests).

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.