Skip to main content
Glama
huebnermarketing

keka-mcp-server

Create Keka Leave Request

keka_create_leave_request

Create leave requests in Keka by specifying employee ID, leave type, and start/end dates. Optionally add reason, note, or submit on behalf of another employee.

Instructions

Submit a new leave request for an employee in Keka.

Args:

  • employeeId (string, required): Keka employee ID for whom leave is being requested

  • leaveTypeId (string, required): Leave type ID (use keka_list_leave_types to find IDs)

  • fromDate (string, required): Start date in ISO 8601 format (e.g., '2025-04-01')

  • toDate (string, required): End date in ISO 8601 format (e.g., '2025-04-03')

  • fromSession (number, optional): Start session — 0 = first half, 1 = second half (default: 0)

  • toSession (number, optional): End session — 0 = first half, 1 = second half (default: 1)

  • reason (string, optional): Reason for leave

  • note (string, optional): Additional note for the request

  • requestedBy (string, optional): Employee ID of the person submitting on behalf (defaults to employee)

  • response_format ('markdown' | 'json'): Output format (default: 'markdown')

Returns: Confirmation of leave request creation with the generated request ID.

Note: Requires the API key to have leave management write permissions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoAdditional note for the request
reasonNoReason for leave
toDateYesLeave end date (e.g., '2025-04-03')
fromDateYesLeave start date (e.g., '2025-04-01')
toSessionNoEnd session: 0 = first half, 1 = second half
employeeIdYesKeka employee ID
fromSessionNoStart session: 0 = first half, 1 = second half
leaveTypeIdYesLeave type ID (from keka_list_leave_types)
requestedByNoEmployee ID submitting on behalf (optional, defaults to employee)
response_formatNoOutput format: 'markdown' for human-readable, 'json' for machine-readablemarkdown

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior4/5

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

The description adds useful behavior beyond annotations: it states that leave management write permissions are required and that the tool returns a confirmation with the generated request ID. Annotations already indicate a non-read, non-idempotent mutation, so the description supplements rather than contradicts them.

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?

The description is well-organized with a clear one-line purpose followed by structured Args and a closing permissions note. It is somewhat long and duplicates schema content, but for a 10-parameter tool it remains scannable and front-loaded with the core action.

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?

The description covers the core workflow: required parameters, optional parameters with defaults, output format, return value, and permission requirements. There is no output schema, so the note about returning a confirmation with request ID is valuable. It does not discuss error cases or approval behavior, but those are not essential for invoking the tool correctly.

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%, and the description largely restates the same parameter meanings, defaults, and formats found in the schema. It adds minimal extra semantic value, though it does present defaults and session values in a readable way. Baseline 3 is appropriate.

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?

The description opens with a specific verb and resource: 'Submit a new leave request for an employee in Keka.' This goes beyond the tool name and clearly distinguishes the create action from sibling list/get tools. It also names the relevant parameter source, keka_list_leave_types, reinforcing the tool's specific purpose.

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?

The description makes the use case explicit ('Submit a new leave request') and points to the correct sibling for finding leave type IDs. It does not explicitly state when not to use this tool versus related list/get leave tools, but the create-versus-read distinction is clear from the description and sibling context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/huebnermarketing/keka-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server