Skip to main content
Glama

100Hires - AI ATS & Recruitment Software

List applications (pipeline view)

hires_list_applications
Read-only

List applications across accessible jobs with filters by candidate, job, stage, status, AI score and dates. Each item embeds its current stage, so a pipeline view needs no extra job call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
sizeNo
sortNoDefault -created_at
job_idNo
statusNo
includeNoEmbed: candidate, cv.text. Pass candidate for pipeline rendering (names instead of ids)
stage_idNoBest combined with job_id
company_idNo
ai_score_maxNo
ai_score_minNo
candidate_idNo
created_afterNoUnix seconds or ISO-8601
updated_afterNoUnix seconds or ISO-8601; for incremental sync

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / ai_score_max / description
      Removed value: -"Return only applications with ai_score <= this value."
    • removedInput schema / properties / ai_score_min / description
      Removed value: -"Return only applications with ai_score >= this value."
    • removedInput schema / properties / candidate_id / description
      Removed value: -"Filter applications by candidate ID."
    • removedInput schema / properties / company_id / description
      Removed value: -"Filter by company ID. Omit for all accessible companies."
    • changedInput schema / properties / created_after / description
      Previous value: -"Return only applications created at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated."New value: +"Unix seconds or ISO-8601"
    • changedInput schema / properties / include / description
      Previous value: -"Comma-separated relations to embed: `candidate`, `cv.text`. **Recommended: `candidate`** for pipeline / kanban / UI rendering — without it the widget shows candidate IDs instead of names and emails. Use `cv.text` only when resume text is genuinely needed (large payload)."New value: +"Embed: candidate, cv.text. Pass candidate for pipeline rendering (names instead of ids)"
    • removedInput schema / properties / job_id / description
      Removed value: -"Filter applications by job ID."
    • removedInput schema / properties / page / description
      Removed value: -"Page number (default 1)."
    • removedInput schema / properties / size / description
      Removed value: -"Items per page (default 25, max 100)."
    • changedInput schema / properties / sort / description
      Previous value: -"Sort order. Prefix with - for descending. Default: -created_at."New value: +"Default -created_at"
    • changedInput schema / properties / stage_id / description
      Previous value: -"Filter applications by pipeline stage ID. Best used together with job_id."New value: +"Best combined with job_id"
    • removedInput schema / properties / status / description
      Removed value: -"Filter by application status: pending (active), hired, or rejected."
    • changedInput schema / properties / updated_after / description
      Previous value: -"Return only applications updated at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. Use for incremental sync."New value: +"Unix seconds or ISO-8601; for incremental sync"
  2. Changed4 schema fields changed
    • changedInput schema / properties / created_after / description
      Previous value: -"Return only applications created after this Unix timestamp (seconds)."New value: +"Return only applications created at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated."
    • changedInput schema / properties / created_after / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "string"
      +]
    • changedInput schema / properties / updated_after / description
      Previous value: -"Return only applications updated after this Unix timestamp (seconds). Use for incremental sync."New value: +"Return only applications updated at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. Use for incremental sync."
    • changedInput schema / properties / updated_after / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "string"
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / sort / enum
      Previous value: -[
      -  "created_at",
      -  "-created_at",
      -  "ai_score",
      -  "-ai_score"
      -]New value: +[
      +  "created_at",
      +  "-created_at",
      +  "ai_score",
      +  "-ai_score",
      +  "last_message_at",
      +  "-last_message_at"
      +]
  4. Changed1 schema field changed
    • changedInput schema / properties / include / description
      Previous value: -"Comma-separated relations to embed: candidate, cv.text. Example: candidate,cv.text"New value: +"Comma-separated relations to embed: `candidate`, `cv.text`. **Recommended: `candidate`** for pipeline / kanban / UI rendering — without it the widget shows candidate IDs instead of names and emails. Use `cv.text` only when resume text is genuinely needed (large payload)."
  5. 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 and destructiveHint=false, so the safety profile is covered. The description adds behavioral context beyond annotations: it notes that items embed the current stage (so no extra job call is needed) and that the scope is 'across accessible jobs', implying permission boundaries. This is meaningful extra detail, though it does not cover pagination or other behaviors.

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 with no waste. The primary purpose is front-loaded in the first phrase, and the pipeline-view note is a compact, valuable addition. Every word earns its place.

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

Completeness3/5

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

For a tool with 13 parameters and no output schema, the description is somewhat thin. It covers the main filter categories and the embedded-stage behavior, but it does not explain pagination, sorting, or the include parameter (though the schema provides some descriptions). Given the tool's complexity and the lack of output schema, more guidance would be expected, but it is adequate for a basic pipeline listing use case.

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

Parameters3/5

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

With schema description coverage at only 38%, the description should compensate for undocumented parameters. It mentions filters by candidate, job, stage, status, AI score, and dates, which maps to several parameters (candidate_id, job_id, stage_id, status, ai_score_min/max, created_after/updated_after). However, it omits pagination (page, size), sorting (sort), include, and company_id. The description adds high-level meaning but does not fully compensate for the coverage gap.

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 description states a specific verb and resource: 'List applications across accessible jobs', with a clear scope of accessible jobs. It also distinguishes the tool's value by noting the embedded stage for pipeline views, which differentiates it from other list tools. This is a precise, non-tautological statement.

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 provides clear usage context by mentioning 'pipeline view needs no extra job call', which tells an agent when this tool is beneficial. It does not explicitly name alternatives or exclusions, but the purpose is clear enough that an agent can infer it is the go-to for listing applications, not for single-record retrieval. Slight deduction for lacking explicit when-not-to-use guidance.

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.