Skip to main content
Glama

Confirmed ATS changes at large employers

ats_changes
Read-only

The living-feed counterpart of the dataset: which tracked employers changed their applicant tracking system. Every entry currently in the feed was confirmed by a person against the live careers portal during the July 2026 re-verification and published together, which is why they share a timestamp — the automated sweep has not yet detected one on its own. Employers whose vendor exposes a probeable board or tenant host are re-probed on a rolling sweep, and a suspected change is human-confirmed before it appears here. An empty list means no confirmed changes yet, not that monitoring is off. Returns at most 50 rows, newest first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax changes to return (default 50, the cap)

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, but the description adds substantial behavioral detail: entries are human-confirmed against live portals, share a timestamp due to batch publication, the automated sweep has not yet detected one, rolling re-probing occurs, and a suspected change is human-confirmed before appearing. It also clarifies that an empty list does not indicate monitoring failure. This exceeds what annotations provide and offers rich, non-obvious operational context.

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?

The description is concise and well-structured: it opens with purpose, then explains the confirmation process, current state, interpretation of empty results, and return limits—all in a logical order. While a bit lengthy, every sentence adds necessary context (e.g., why timestamps are shared, what happens on rollback), and nothing is redundant.

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?

Given the tool's nuance (confirmation process, timestamp sharing, empty-list meaning, limit), the description covers all crucial aspects. There is no output schema, so the description appropriately includes the return format ('at most 50 rows, newest first'). It also explains the relationship to the dataset, making it complete for an agent to use correctly.

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?

The input schema has 100% coverage for the single 'limit' parameter with a description ('Max changes to return (default 50, the cap)'), so the schema already fully documents it. The description adds no additional parameter semantics beyond what the schema states, warranting the baseline score of 3.

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 'which tracked employers changed their applicant tracking system' and positions itself as 'the living-feed counterpart of the dataset.' This distinguishes it from siblings like 'which_ats' (current ATS) and 'ats_stats' (statistics), making the tool's purpose specific and non-redundant.

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 context on when the tool is useful (see confirmed changes) and explicitly interprets 'an empty list means no confirmed changes yet, not that monitoring is off.' While it doesn't explicitly say 'use X instead of Y,' the 'living-feed counterpart' phrasing implies it complements the static dataset, and the context is sufficient for an agent to decide when to call this tool.

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.

TDQS

A4.5/5.0
Disambiguation5/5

Each tool targets a clearly distinct action: ATS lookup, company listing, market stats, change feed, resume scoring, and resume retrieval. Even the two resume-related tools are unambiguous—one evaluates, the other fetches.

Naming Consistency3/5

Naming mixes conventions: ats_changes and ats_stats use a noun-focused ats_ prefix, check_resume, get_agent_resume, and list_companies use verb_noun, and which_ats is a question-style name. All are readable and snake_case, but the patterns are not consistent.

Tool Count5/5

Six tools is well-scoped for an ATS/resume data server. Each tool covers a distinct capability without redundancy or bloat.

Completeness5/5

The surface covers the domain well: employer ATS lookup, company filtering, market-share statistics, change tracking, resume scoring, and consent-gated resume retrieval. The deliberate lack of resume enumeration is a documented privacy boundary, not a gap.