Skip to main content
Glama

Save leave request

save_leave_request

File or edit a leave request: employee, leave type, start and end dates, days, reason and notes. Omit id to file a new request; pass an id to edit that request. A new request is always filed as requested, never approved; use decide_leave_request to approve, decline or cancel it. Leave requests post nothing to the ledger.

Input Schema

NameRequiredDescriptionDefault
idNo
daysNoThe leave taken, in the leave type's unit. Fractions are allowed.
notesNo
reasonNo
enddateNo
archivedNo
employeeNo
sicknoteNo
leavetypeNo
startdateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / days / description
      Added value: +"The leave taken, in the leave type's unit. Fractions are allowed."
    • removedInput schema / properties / units
      Removed value: -{
      -  "type": "number"
      -}
  2. Added

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the annotations, the description discloses two non-obvious behaviors: a new request is always filed as "requested" and never auto-approved, and leave requests post nothing to the ledger. That is real added value for a write tool with readOnlyHint=false and destructiveHint=false. The gap is edit semantics: with destructiveHint=false declared, it never says whether passing an id overwrites unspecified fields or performs a partial update, nor what happens to the archived/sicknote fields.

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?

Three tight sentences, front-loaded with the core action and then the create/edit rule and the sibling handoff. The mid-sentence field enumeration largely restates schema property names, which earns little, but the rest of the text is dense and waste-free.

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

Completeness3/5

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

For a 10-parameter mutation tool with no output schema and near-zero schema documentation, the description covers the workflow well (create vs edit, approval, ledger impact) but leaves the caller guessing on date formatting, partial-vs-full updates, and whether a new request needs employee/leavetype/startdate despite an empty required list. Adequate but with clear gaps.

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 only 10%, so the description must carry the load, and it partially does by explaining the id switch and naming several business fields. But it adds no meaningful semantics for archived, sicknote, reason vs notes, or the date string format, and says nothing about which fields a new request realistically needs given that required is empty.

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?

"File or edit a leave request" gives a specific verb pair and resource, then enumerates the fields handled (employee, leave type, dates, days, reason, notes) and distinguishes the two modes by the id parameter. An agent can tell this apart from decide_leave_request and the list_leave_* siblings without opening any schema.

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

Usage Guidelines5/5

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

It states the exact selection rule between create and edit ("Omit id to file a new request; pass an id to edit that request") and routes approval/decline/cancel work to decide_leave_request by name. Both the when-to-use condition and the alternative are explicit.

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