get_candidate
Get a single candidate by ID. Returns full candidate profile including name, contact info, tags, and custom fields.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The candidate ID |
Get a single candidate by ID. Returns full candidate profile including name, contact info, tags, and custom fields.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The candidate ID |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
As a simple read operation with no annotations, the description discloses the return contents (name, contact info, tags, custom fields), which is sufficient. Could mention authorization or rate limits but not essential for this basic tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: one for purpose, one for output. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given it's a simple single-parameter read tool with no output schema, the description fully covers what the tool does and what it returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description in the schema already states 'The candidate ID'. The tool description adds no additional semantic information beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'single candidate by ID', which distinguishes it from sibling tools like list_candidates and other candidate-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like list_candidates or patch_candidate_profile. Usage is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
With 87 tools, there is potential for confusion among similar list tools (e.g., list_candidates vs list_applied_candidate_tags), but each tool targets a distinct entity or action, and descriptions provide enough clarity to differentiate them.
All tools follow a consistent verb_noun pattern using lowercase with underscores (e.g., list_jobs, get_application, patch_candidate_profile). No mixing of styles or irregular conventions.
At 87 tools, the count is extremely high for a single server, exceeding the 50+ threshold for extreme mismatch. While the domain is broad, the number of tools is likely to overwhelm agents and dilute focus.
The tool set covers a wide range of operations (list, get, patch, add, remove, upsert) across many entities, but lacks basic CRUD for core objects like jobs and candidates (no create_job or create_candidate), leaving notable gaps.