Skip to main content
Glama

Recruitee MCP by usefulapi

Search candidates

recruitee_search_candidates
Read-only

Search the company's candidates with Recruitee's candidate search (the same engine as the app's filters). query is a free-text search across name, emails, phones, tags, sources, job assignments, current stage, cover letter and CV content. filters accepts Recruitee filter objects verbatim, e.g. {"field":"created_at","gte":1548975600} (Unix seconds), {"field":"has_cv","eq":true}, {"filter":"tags","id":{"in":[12]}}, {"filter":"stages","name":{"in":["Phone interview"]}}. Returns hits (with each candidate's placements: job + current stage) and total. Recruitee: GET /c/{company_id}/search/new/candidates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, starting at 1.
limitNoCandidates per page (default 60).
queryNoFree-text search (adds a {"field":"all","query":...} filter).
filtersNoAdditional Recruitee search filter objects, sent as filters_json.
sort_byNoSort key with _asc or _desc suffix, e.g. created_at_desc (default), relevance_desc, candidate_name_asc, candidate_rating_desc, candidate_stage_name_asc.

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.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description earns credit by disclosing the return shape ('hits' with each candidate's placements and 'total') even though no output schema exists, and by naming the underlying endpoint. It stops short of describing pagination behavior despite page/limit params.

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?

Well front-loaded: purpose first, then query semantics, then filter examples, then return shape. Every sentence carries information, though the trailing raw API endpoint reference is the least valuable line.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool with no output schema, the definition covers the essentials: what is searched, how filters are shaped, and what comes back (hits + total, with placements). Nothing an agent needs to invoke it correctly is missing.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds meaning the schema cannot: it spells out which fields free-text `query` covers and expands the opaque filter-object format with four concrete examples (created_at Unix seconds, has_cv boolean, tags, stages). That is essential guidance beyond the bare 'additionalProperties' schema.

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?

The description gives a specific verb+resource ('Search the company's candidates') and elaborates on exactly what `query` scans across, which makes the tool's scope unambiguous. It does not, however, explicitly differentiate itself from the sibling `recruitee_list_candidates`, so it lands one notch below the top.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It signals when this is the right tool by describing it as 'the same engine as the app's filters' and showing filter examples, implying use when filtering/searching is needed. But it never states when to prefer `list_candidates` or `get_candidate` instead, leaving the agent to infer the boundary.

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.