Skip to main content
Glama

Papershift MCP by usefulapi

Create absence

papershift_create_absence
Destructive

WRITE: record an absence (vacation, sick leave, ...) for an employee. Get the absence type id from papershift_list_absence_types and the user id from papershift_list_users. Whether it counts immediately or waits for approval depends on the absence type and the account's approval rules; the employee may be notified. Papershift calculates the paid hours and vacation days. POST /absences.

Input Schema

NameRequiredDescriptionDefault
ends_atYesISO 8601 date-time with a timezone, e.g. 2026-11-02T08:00:00+01:00.
user_idYesEmployee the absence is for.
full_dayNoTrue for whole-day absences.
starts_atYesISO 8601 date-time with a timezone, e.g. 2026-11-02T08:00:00+01:00.
time_zoneNoIANA time zone of the times, e.g. Europe/Berlin (recommended).
absence_type_idYesAbsence type id.

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?

Annotations already flag destructive/non-idempotent/openWorld, and the description adds real value on top: approval behavior varies by absence type and account rules, the employee may be notified, and paid hours/vacation days are computed server-side rather than supplied. It stops short of stating what the destructive hint concretely implies or how the employee is notified.

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 short sentences, front-loaded with the WRITE marker and the resource, then prerequisites, then behavioral caveats. No filler and nothing buried.

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 mutation tool with no output schema, the description never says what comes back — whether the created absence id is returned or whether the caller must re-query via papershift_get_absence. Safety profile is covered by annotations and prerequisites are covered, so the remaining gap is the response contract.

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 all six parameters are documented in the schema itself. The description adds only indirect semantics (server computes paid hours, implying no hours argument) and says nothing about full_day or time_zone formatting beyond what the schema already provides.

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?

Opens with an explicit verb+resource pair ("WRITE: record an absence ... for an employee") and enumerates the domain (vacation, sick leave). It also names the sibling tools needed to resolve ids, so an agent can tell this apart from read-side siblings like papershift_list_absences or papershift_review_absence.

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 concrete preconditions: fetch absence_type_id from papershift_list_absence_types and user_id from papershift_list_users. It doesn't explicitly state when NOT to use this (e.g., versus review_absence for approval decisions), but the usage context is clear enough to act on.

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.