Skip to main content
Glama

List position candidates with scores

get_candidates_with_scores
Read-onlyIdempotent

Get candidates for a specific job position with their matching scores included. Returns candidates sorted by score by default, avoiding N+1 queries. Paginate with cursor (from pageInfo.nextCursor); keep sortBy, sortOrder and minScore identical across pages, since the cursor is anchored to that ordering. If the previous page's last candidate leaves the result set mid-traversal (removed from the job, or rescored below minScore), the traversal still resumes from the position that candidate held.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "jobDescriptionId": "<jobDescriptionId>"
    },
    "name": "get_candidates_with_scores"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoRecords per page (default: 20, max: 1000). Values above ~50 are meant for programmatic syncing, not for reasoning over the results.
cursorNoOpaque cursor from the previous page (`pageInfo.nextCursor`). Omit for the first page. Treat it as a token — do not construct or modify it.
sortByNoSort field (default: matchingScore).
minScoreNoMinimum overall matching score (0-100)
sortOrderNoSort order (default: desc).
updatedSinceNoISO 8601 timestamp. Returns only records modified strictly after it, for incremental syncing. Deleted records are never returned.
jobDescriptionIdYesThe job position ID to get candidates for

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, so the safety profile is free. The description adds genuinely new behavior: default score-descending ordering, cursor anchoring to sort configuration, and the specific edge case of a page boundary element disappearing mid-traversal. That last detail is the kind of thing only a description can convey.

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-loaded with purpose in the first sentence, then pagination discipline, then the edge case. No filler sentences, though the final sentence is long and clause-heavy enough to slow comprehension on first read.

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 seven parameters but only one required, no output schema, and 100% schema coverage, the remaining burden is traversal behavior — which the description handles, including the mutation-during-pagination case. Slightly short on what the returned candidate/score records actually contain.

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. The description still adds value beyond the schema by imposing a cross-page invariant on cursor/sortBy/sortOrder/minScore that the schema cannot express, and by naming pageInfo.nextCursor as the cursor source.

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 and resource: 'Get candidates for a specific job position with their matching scores included.' That scope is distinct from get_candidate (single) and search_candidates (query-wide), though neither sibling is named explicitly, so differentiation is inferable rather than stated.

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?

Usage context is implied: the N+1 remark and the pagination guidance signal this is the bulk/sync-style listing tool. But it never says when to prefer it over search_candidates or get_candidate_score_breakdown, and offers no explicit exclusions. Guidance is present in practice (pagination rules) but not in tool selection.

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