Skip to main content
Glama
dewierwan

ashby-mcp

by dewierwan

ashby_list_applications

Read-only

List job applications using date, status, stage, and source filters to answer hiring questions about applicant volume, pipeline stages, or application sources.

Instructions

List applications across all jobs with date, status, stage, and source filters.

Use this to answer operational questions like "How many people applied this week?", "Show me all candidates in Application Review", or "Who applied via the Chrome extension?" Date and status filtering happens server-side for efficiency. Stage and source filters are applied by the MCP server.

Response: items[] (application_id, candidate_id, candidate_name, candidate_email, status, current_stage, source, job_id, job_title, createdAt), has_more, next_cursor.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return (1-100). Defaults to 25.
cursorNoPagination cursor from a previous response.
job_idNoFilter to a specific job (UUID).
sourceNoFilter by source title (e.g. 'Applied', 'Ashby Chrome Extension'). Case-insensitive substring match.
statusNoFilter by application status. Defaults to All.All
stage_nameNoFilter by exact interview stage name (e.g. 'Work test', 'Application Review').
stage_typeNoFilter by interview stage type (e.g. Lead, PreInterviewScreen, Interview, Offer).
created_afterNoISO datetime — only applications created after this timestamp (e.g. 2024-01-01T00:00:00Z).
created_beforeNoISO datetime — only applications created before this timestamp. Filtered client-side.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.7.3

TDQS

A4.4/5.0
Behavior4/5

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

Annotations include readOnlyHint=true, so the description doesn't need to restate safety. It adds valuable context: which filters are server-side vs. client-side, and the response structure (items[] with fields, has_more, next_cursor) which is not fully covered by annotations. This goes beyond the annotation's basic read-only hint.

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 concise, front-loaded with purpose and filters, then includes example queries and response format. Every sentence adds value—no fluff. The structure is logical: what, when, implementation note, response.

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?

For a listing tool with 9 parameters (all optional), the description covers intended use cases, filter behavior, and response shape. However, it doesn't explain the interplay between status and stage filters (e.g., whether they are combined with AND), nor does it mention pagination details beyond cursor/has_more. Still, given the output schema is absent and parameters are extensive, it does a good job of orienting an agent.

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 baseline is 3. The description adds meaningful context beyond schema by clarifying that date and status filtering are server-side (efficiency) while stage and source are client-side (applied by MCP server). This helps agents understand performance implications and where filtering occurs, which the schema alone doesn't convey.

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 clearly states the tool lists applications across all jobs, with explicit filters (date, status, stage, source). It differentiates itself from siblings like ashby_list_candidates_for_job and ashby_get_application_details by focusing on cross-job listing with filtering.

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 example questions that signal when to use the tool, and mentions that date/status filtering is server-side while stage/source is client-side. However, it does not explicitly mention when NOT to use it or point to alternatives like ashby_list_candidates_for_job for job-scoped lists.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.