Skip to main content
Glama
Greenhouse MCP

Greenhouse MCP

by benmonopoli

add_job_permission

Assign job-level access by granting a user a role on a specific job, such as recruiter access to the Backend role. Provide user_id, job_id, and user_role_id; admin-only write operation.

Instructions

Grant a user a role on a specific job. Write operation — admin only.

Users say "give Sarah recruiter access to the Backend role." For user_id: list_users → match by name. For job_id: list_jobs → match by name. For user_role_id: list_user_roles → match by role name (role_type 'job_admin').

Input Schema

NameRequiredDescriptionDefault
job_idYesJob to grant access to — get from list_jobs
user_idYesGreenhouse user ID — get from list_users
user_role_idYesJob Admin role on this job — get valid IDs from list_user_roles

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.5.0
    • addedInput schema / properties / job_id / description
      Added value: +"Job to grant access to — get from list_jobs"
    • addedInput schema / properties / user_id / description
      Added value: +"Greenhouse user ID — get from list_users"
    • addedInput schema / properties / user_role_id / description
      Added value: +"Job Admin role on this job — get valid IDs from list_user_roles"
  2. Addedv0.3.4

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does disclose the two most important traits: it is a write/mutation and it requires admin rights. It stops short of describing idempotency, behavior on existing grants, or what a failed grant returns.

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 core action, then demotes the lookup mechanics to a secondary block. The 'give Sarah recruiter access' example earns its place by translating a natural user request into the tool call, though the id-resolution notes partially duplicate the schema.

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 3-parameter write tool with an output schema present, the description covers purpose, precondition, and argument sourcing, which is enough to invoke correctly. It need not explain return values, and the only real gap is sibling differentiation.

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 each parameter is already documented in the schema (get from list_users / list_jobs / list_user_roles). The description mostly repeats that guidance; its only added value is the role_type 'job_admin' qualifier, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (grant) and resource (a role on a job), so the operation is unambiguous. However, it does not distinguish itself from the near-identical sibling add_future_job_permission, so an agent can't tell the two apart from the description alone.

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 a concrete routing workflow: use list_users to resolve user_id, list_jobs for job_id, and list_user_roles for user_role_id. It states the admin-only precondition but never says when to prefer this over add_future_job_permission or how it relates to remove_job_permission.

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