Skip to main content
Glama

HireMike MCP

list_candidates

Read-onlyIdempotent

The job's candidates, 100 per page. has_more says whether to ask for the next page. Each row has the application_id, status, stage, shortlist flag, scores, offer response, rejection reason and interview times. The name is under untrusted.

sort is one of the dashboard board's "Sort by" options. best_score (the default) ranks by the interview score, or the CV score when there is no interview score yet. newest and oldest use the date of application; name is A to Z. The list has every candidate, rejected ones too: the board shows rejected candidates, and candidates not on the board yet, in separate lists.

Filters (each is optional; give several to narrow the list more): status and stage take one or more values; stage "none" means not on the board yet. shortlisted true or false. min_score (0-100) keeps candidates whose best score (as best_score) is at least that; a candidate with no score drops out. applied_after (inclusive) and applied_before (exclusive) are ISO 8601 dates or times, UTC if no offset. name finds part of the candidate's name, at least 2 characters, any case. There is no search by email or phone, by design.

Input Schema

NameRequiredDescriptionDefault
nameNo
pageNo
sortNobest_score
stageNo
job_idYes
statusNo
min_scoreNo
shortlistedNo
applied_afterNo
applied_beforeNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, but the description adds substantial context beyond that: pagination via has_more, row fields, default sort semantics, filter behavior, and the deliberate absence of email/phone search. This gives the agent a complete behavioral picture.

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?

The description is dense but well organized: it front-loads the core list behavior, then return fields, then sort, then filters. Every sentence contributes useful information and there is no redundant restatement.

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?

Although an output schema exists, the description still explains the returned fields and pagination. For a 10-parameter filtered-list tool with no schema descriptions, it provides everything an agent needs to select and invoke the tool correctly.

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?

With 0% schema description coverage, the description compensates thoroughly by explaining sort meanings, status/stage filtering (including stage 'none'), shortlisted, min_score boundaries and drop behavior, date inclusivity/exclusivity, and name-search constraints. Even page and job_id are implicitly covered through pagination and 'The job's candidates'.

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?

The opening sentence clearly identifies the resource ('The job's candidates') and pagination behavior ('100 per page'), making it immediately distinguishable from get_candidate and other sibling tools. It also states exactly what each row contains and how the name field is exposed.

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?

The description thoroughly explains when and how to use the filters, sort options, and pagination, including edge cases like rejected candidates and candidates not yet on the board. It does not explicitly name an alternative sibling tool such as get_candidate, but the usage context is clear enough for an agent.

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.

Resources