Skip to main content
Glama

Withdraw Time Off

withdraw_time_off
Destructive

Withdraws one of the signed-in person's own time-off requests: a pending request leaves the approvers' queue, and approved leave that has not started is cancelled. Leave already under way, or leave HR recorded, is refused with the reason. The prior state is kept, so the result carries the call that puts it back. Handles "cancel my Friday off".

Input Schema

NameRequiredDescriptionDefault
userIdNoNot needed when signed in: these tools act for the signed-in person, and any other ID is refused. Applies only to a workspace connection with no signed-in user, naming whose time off this is.
requestIdYesThe time-off request id, as a time-off read or a filed request gave it.

Output Schema

NameRequiredDescriptionDefault
undoNoThe call that reverses this one, with its arguments.
statusNo
requestIdNo
withdrawnNo
previousStatusNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations (destructiveHint=true, idempotentHint=false): it discloses exactly what is destroyed in each case, the refusal conditions with a returned reason, and that prior state is retained with a restoring call returned. That is the reversibility and failure-mode context an agent needs for a destructive mutation.

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 with the primary action and scope front-loaded, then effects, then refusal/reversal semantics. The closing intent phrase is short and aids matching for colloquial requests; nothing is padded.

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

Completeness5/5

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

For a destructive, non-idempotent mutation with an output schema present, the description covers scope, success cases, refusal cases and reversibility, so nothing needed to call it correctly is missing. Return-value detail is appropriately delegated to the output schema.

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 both parameters are already documented (userId scoping, requestId format). The description's 'signed-in person's own' reinforces the userId constraint but adds no syntax or format detail beyond the schema; baseline 3 applies.

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 specific verb (withdraws) and a precisely scoped resource (one of the signed-in person's own time-off requests), which separates it from request_time_off, list_my_time_off and restore_time_off without needing the schemas. The description also enumerates the two concrete effects (leaves the approvers' queue / cancels unstarted approved leave).

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 clear applicability conditions: works on pending requests and approved-but-unstarted leave, and is refused for in-progress or HR-recorded leave. It also points to the reversal path ('the result carries the call that puts it back', i.e. restore_time_off), though it never names that sibling explicitly or states an exclusion against it by name.

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.

Resources