Skip to main content
Glama
benmonopoli

Greenhouse MCP

by benmonopoli

update_rejection_reason

Change the rejection reason on an already-rejected application using its application ID and a new reason ID from the rejection reasons list.

Instructions

Change the rejection reason on an already-rejected application. Write operation.

To find the application_id: search_candidates_by_name → get_candidate → find the rejected application. For the new reason: list_rejection_reasons → match by name. Looks up the application's rejection details record and updates its reason.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
application_idYesGreenhouse application ID (must be already rejected)
rejection_reason_idYesNew rejection reason ID — get from list_rejection_reasons

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.5.0
    • addedInput schema / properties / application_id / description
      Added value: +"Greenhouse application ID (must be already rejected)"
    • addedInput schema / properties / rejection_reason_id / description
      Added value: +"New rejection reason ID — get from list_rejection_reasons"
  2. Addedv0.3.4

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It helpfully declares 'Write operation' and explains the mechanism (looks up the application's rejection details record and updates its reason), but it omits permission requirements, reversibility, and side effects on other rejection metadata. Adequate but incomplete for a mutation tool with zero annotation coverage.

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 operation and its precondition in the first sentence, then details the lookup chains. Multi-line but each segment carries actionable information with little waste; the final sentence partly restates the opening.

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?

An output schema exists, so return values need not be described. The description covers the precondition, the write nature, and how to resolve both IDs, leaving only permission and reversibility details uncovered for a mutation tool.

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 coverage is 100% and both parameter descriptions already state the prerequisite ('must be already rejected') and the source ('get from list_rejection_reasons'). The description's lookup chain largely restates what the schema provides, so 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?

States a specific verb and resource ('Change the rejection reason') and pins the precondition ('on an already-rejected application'), which cleanly distinguishes it from reject_application and unreject_application in the sibling list. An agent can identify the correct tool without opening the schema.

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?

Provides concrete procedural guidance for both parameters: search_candidates_by_name → get_candidate to locate the rejected application, and list_rejection_reasons to resolve the new reason ID. It clarifies the 'already-rejected' precondition but does not explicitly contrast with reject_application/unreject_application, so the alternatives clause is implicit.

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

Deploy Server

Other Tools