Skip to main content
Glama

Create a leave request

deputy_create_leave_request
Destructive

Add a leave request for an employee. By default it waits for manager approval (status 0); pass status 1 only when your system is the source of truth and the leave is already approved. Deputy tracks leave in hours, so give exact start and end times. Find leave type ids with deputy_query_resource on LeaveRules. Deputy: POST /api/v1/resource/Leave.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNo0 awaiting approval (default), 1 already approved.
commentYesThe employee's note to the manager.
end_dateYesLast day, YYYY-MM-DD.
end_timeYesLeave end: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).
start_dateYesFirst day, YYYY-MM-DD.
start_timeYesLeave start: a unix timestamp in seconds, or an ISO 8601 datetime (include an offset for local times).
employee_idYesThe employee id.
location_idYesLocation (Company id) the leave is recorded against.
leave_rule_idYesLeave type (LeaveRules id), e.g. annual leave.
approval_commentNoManager's comment, when status is 1.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

The only annotation is destructiveHint=true, which carries little semantic weight, so this description does real work: it discloses the default approval workflow (status 0), the narrow condition for auto-approval (status 1), and that Deputy records leave in hours requiring exact start/end times. It does not cover permissions, whether the request can be edited afterward, or what the response returns, but it adds meaningful behavior beyond the annotation.

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?

Four tight sentences, front-loaded with the action, then the approval-status rule, then the time-granularity caveat, then the lookup route. No filler and no restatement of schema fields.

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 an 8-required-parameter creation tool with no output schema, the description covers the two things the schema cannot: the default/override approval behavior and how to obtain the leave-rule id. Missing only edge-case guidance (e.g. overlapping leave, location mismatch) that an agent might want before writing.

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 description coverage is 100%, so the baseline is 3. The description goes slightly beyond the schema by clarifying the default semantics of status (schema only says '0 awaiting approval (default)') and by explaining the hours/start-end precision requirement, and it supplies the discovery method for the otherwise opaque leave_rule_id.

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+resource ('Add a leave request for an employee') and even names the underlying endpoint (POST /api/v1/resource/Leave). It routes the agent to deputy_query_resource for leave-rule ids, but does not explicitly contrast itself with the other write siblings such as deputy_add_unavailability, so it stops short of full sibling differentiation.

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 concrete conditional for the status parameter: default 0 (awaiting manager approval), pass 1 only when the caller's system is the source of truth and leave is already approved. It also tells the agent where to find leave_rule_id (deputy_query_resource on LeaveRules). No explicit when-not-to-use case or alternative create path is stated, so it is clear context without exclusions.

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.