Skip to main content
Glama

Recruitee MCP by usefulapi

Add a candidate to a job

recruitee_assign_candidate_to_offer
Destructive

WRITE: put an existing candidate on a job (or talent pool) — creates a placement in the pipeline's first stage. Pass exactly one of offer_id or talent_pool_id. Recruitee: POST /c/{company_id}/placements.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
offer_idNoThe job id.
candidate_idYesThe candidate id.
talent_pool_idNoThe talent pool id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare destructiveHint=true; the description adds meaningful context by labeling the operation WRITE and describing the side effect (a placement created in the pipeline's first stage). It stops short of covering idempotency, behavior when the candidate is already placed, or permission requirements.

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?

Two sentences, front-loaded with the WRITE classification and the core effect, with the parameter constraint immediately after. The endpoint reference is compact and useful for error mapping; no 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?

With no output schema, the description carries the return burden but reasonably implies a created placement. It covers the XOR constraint and the write effect, missing only edge-case behavior (already-placed candidate, failure modes) which is a minor gap for a 3-param tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds exclusive-or semantics between offer_id and talent_pool_id that the schema does not express — both are optional there, so an agent could otherwise pass neither. That constraint is genuinely load-bearing beyond the structured data.

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+resource ('put an existing candidate on a job') and scopes it precisely: creates a placement in the pipeline's first stage. 'existing' distinguishes it from recruitee_create_candidate, and 'first stage' distinguishes it from recruitee_move_candidate_stage.

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 an explicit selection rule ('Pass exactly one of offer_id or talent_pool_id') and silently establishes the precondition that the candidate must already exist. It does not name sibling alternatives for the move-vs-assign decision, but the context is clear.

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.