Skip to main content
Glama

Jet HR MCP by usefulapi

Create a presence or absence request

jethr_create_absence_request

Create a leave, sickness, remote-work or other presence/absence request for an employee. WRITES to the company's HR records. codename is the request kind (from jethr_list_absence_policies); give start_date and end_date for day requests, or start_date + start_time + time_duration for hourly requests. send_notification=true makes Jet HR notify the people involved (approvers/employee) and needs confirm_notification=true; default false. Some kinds need extra fields (child data, trip data, sickness certificate): Jet HR answers with a validation error naming them. POST /public-api/v1/presence-absence-requests/.

Input Schema

NameRequiredDescriptionDefault
pucNoSickness only: the PUC protocol number.
noteNoNote on the request.
codenameYesRequest kind codename (from jethr_list_absence_policies), e.g. HOLIDAY.
employeeYesEmployee uuid (from jethr_list_employees).
end_dateNoLast day (yyyy-mm-dd); omit for a single day.
child_ssnNoChild fiscal code (required for FEEDING, SICKNESS_CHILD_CHILD, SICKNESS_CHILD_INFANT).
trip_nameNoTrip policy name (required for TRIP_* kinds; see jethr_list_trip_refund_policies).
start_dateNoFirst day (yyyy-mm-dd).
start_timeNoStart time HH:MM, hourly requests only.
assisted_ssnNoFiscal code of the assisted person (kinds that need it, e.g. Law 104 leave).
time_durationNoDuration HH:MM, hourly requests only.
child_birth_dateNoChild birth date (required for PARENTAL_PATERNAL_MANDATORY_LEAVE).
send_notificationNoNotify the people involved (default false); needs confirm_notification=true.
confirm_notificationNoMust be true when send_notification is true: the user approved that Jet HR notifies the people involved.
trip_meals_reimbursedNoTRIP_* kinds: meals are reimbursed.
sickness_justification_typeNoSickness only: PUC protocol number or paper certificate.
donor_transfusion_center_ssnNoDonor leave only: fiscal code of the transfusion center.
trip_accommodation_reimbursedNoTRIP_* kinds: accommodation is reimbursed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing the key side effect (send_notification makes Jet HR notify approvers/employee, gated by confirm_notification) and the error behavior for kind-specific required fields. Remaining gaps are minor: nothing about duplicate/overlapping requests or how to recover from a failed create beyond the validation message.

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?

Dense but front-loaded: the write-mutation warning and codename source come first, followed by request shapes, notification semantics, and error handling. Every sentence carries information, though the single paragraph is packed tight for 18 parameters.

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, it covers the write semantics, prerequisite lookups, both request shapes and the notification gate. The one real omission is what the call returns (created request id/object), which matters since no output schema exists to document it.

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 already 100%, so the baseline is 3; the description adds synthesized meaning by grouping parameters into day-based vs hourly request shapes and flagging the send_notification/confirm_notification coupling, which is more than the per-field descriptions convey in isolation.

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?

Specific verb + resource ('Create a leave, sickness, remote-work or other presence/absence request for an employee') plus the exact endpoint, making it unmistakable against siblings like jethr_update_absence_request or jethr_create_expense.

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?

Explicitly routes the agent to prerequisites (codename from jethr_list_absence_policies, employee uuid from jethr_list_employees) and states the two mutually exclusive calling shapes: start_date/end_date for day requests vs start_date+start_time+time_duration for hourly. It also tells the agent what to do when extra fields are needed (retry with the fields the validation error names), which removes the main ambiguity for an 18-param tool.

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.