Skip to main content
Glama

HR: List rejection reasons

hr_list_rejection_reasons
Read-only

List the typed reasons a candidacy or an employment period can end. Read-only, and REQUIRED before hr_reject_application: reasons are a closed per-workspace vocabulary, not free text, because 'why do people drop out' is unanswerable from a thousand unique strings. Two fields decide whether a reason is usable in a given place:

  • 'requires_comment' — the catch-all («Інше»). Rejecting or closing with it and no comment is REFUSED; send the explanation.

  • 'applies_to' — canonical stages where the reason is offered. An EMPTY list means 'offered everywhere', not 'offered nowhere'. Filter by 'canonical_stage' to get only what fits that exit.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "hr_list_rejection_reasons"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
offsetNo
is_activeNo
canonical_stageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the read-only/non-destructive/closed-world profile, yet the description still adds real behavior: reasons form a closed vocabulary, 'requires_comment' causes a REFUSED mutation when a comment is omitted, and an empty 'applies_to' means 'offered everywhere' rather than 'nowhere.' The only thing not covered is pagination/return-shape behavior, which is minor here.

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?

Front-loads the purpose, then uses two bullets for the two decision-relevant fields. The aside about 'a thousand unique strings' is justification rather than instruction and could be trimmed, but nothing else is filler.

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?

No output schema exists, so the description usefully explains the two fields the agent must interpret from the response ('requires_comment', 'applies_to'). Completeness is slightly short of full because the list-control parameters (paging, is_active) and default ordering are never addressed.

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 0%, so the description carries the burden. It explains 'canonical_stage' well (filter to the exit stage) but never mentions 'limit', 'offset', or 'is_active', leaving three of four parameters to inference from their names and type constraints.

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?

States a specific verb and resource: 'List the typed reasons a candidacy or an employment period can end.' It also frames the resource precisely as a 'closed per-workspace vocabulary, not free text,' which separates it from any free-text or per-record sibling.

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 names the downstream dependency ('REQUIRED before hr_reject_application') and gives the routing rule for narrowing results ('Filter by canonical_stage to get only what fits that exit'). An agent knows both when to call it and how to scope the call.

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