Skip to main content
Glama

ATS Jobs

Server Details

Open jobs read from a company's own careers system: Greenhouse, Ashby, Lever.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
groundtruthtools/ats-jobs-mcp
GitHub Stars
0
Server Listing
io.github.groundtruthtools/ats-jobs-mcp

TDQS

A4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: compare_companies aggregates across multiple companies, find_company_board identifies the ATS provider, and list_open_jobs retrieves jobs for a single company. The descriptions explicitly clarify when to use each, leaving no ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (compare_companies, find_company_board, list_open_jobs). This predictable naming makes the set easy to navigate.

Tool Count5/5

With only three tools, the set is well-scoped for the domain of cross-ATS job search. Each tool earns its place by covering a distinct step: discovery, aggregation, and retrieval.

Completeness5/5

The tools cover the full workflow: finding a company's board, listing its open jobs, and comparing across companies. There are no obvious missing operations for the stated purpose of querying applicant-tracking systems.

Available Tools

3 tools
compare_companiesCompare several companies' jobsBInspect

Open jobs across several companies at once, in one schema. This is the thing no single applicant-tracking system can do: each vendor only knows about its own customers. Companies on different systems come back with the same field names. One company failing does not lose the others.

ParametersJSON Schema
NameRequiredDescriptionDefault
companiesYesUp to 20 company board names or careers URLs.
per_companyNoMaximum postings per company.

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose one genuinely valuable trait: partial-failure tolerance ('One company failing does not lose the others') and cross-system field-name normalization. It omits auth requirements, rate limits, result ordering, and how invalid company identifiers are reported, so the behavioral picture is partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The capability and scope lead the description, which is good front-loading. But the middle sentence ('This is the thing no single applicant-tracking system can do...') is promotional filler that does not help an agent decide or invoke, costing roughly a quarter of the text.

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?

Two parameters, no output schema, no annotations: the description covers the merged-schema return shape and partial failure, which are the two hardest things to guess. It still leaves the result envelope, ordering, and deduplication behavior unstated, and with no output schema those gaps matter.

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?

Schema description coverage is 100%, so the schema already documents both 'companies' and 'per_company' with bounds and defaults. The description adds no format guidance for company identifiers or per-company limits, so it does not exceed the baseline set by a fully documented schema.

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 precisely what the tool returns: open jobs across several companies merged into one schema. The multi-company scope implicitly distinguishes it from list_open_jobs and find_company_board, but neither sibling is named, so the agent must infer the routing.

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?

The phrase 'across several companies at once' implies this is the batch alternative to the single-company siblings, and the maxItems=20 constraint is implied by the schema. However there is no explicit when-to-use, when-not-to-use, or named alternative, leaving the agent to infer the split from the description alone.

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

find_company_boardFind a company's job boardAInspect

Find which applicant-tracking system a company's careers page runs on. Greenhouse, Ashby and Lever all publish open job board APIs, and all of them are unusable unless you already know the company's board name. None publishes a directory of its customers, and none could, since no vendor knows about the others. Use this first when you have a company name rather than a careers URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum matches to return.
companyYesCompany name or board name, for example 'anthropic' or '1Password'. Case and punctuation do not matter.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses useful domain context (no vendor publishes a customer directory, so this lookup exists to bridge that gap) and implies a read-only lookup, but says nothing about what is returned, how partial or ambiguous matches are handled, or whether failure to match is an error or an empty result.

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?

Three sentences, purpose front-loaded, and the ecosystem explanation earns its place by justifying the tool's existence. Slightly more domain narrative than an agent strictly needs, but nothing is padding.

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?

There is no output schema and no annotations, so the description is the only source of behavioral information. It explains why the tool is needed but never says what the agent gets back (ATS vendor, board name, multiple candidates) or how to chain the result into list_open_jobs — the exact next step it sets up.

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?

Schema description coverage is 100% and both parameters are documented in the schema, so the baseline is 3. The description adds the useful framing that a company name is the input when a careers URL is unavailable, but no syntax or matching-behavior detail beyond the schema's own note that case and punctuation are ignored.

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?

The description states a specific verb and resource: 'Find which applicant-tracking system a company's careers page runs on.' It also implicitly positions itself as a first-step lookup relative to a careers URL, but it never names the siblings (compare_companies, list_open_jobs) so differentiation is inferred 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit trigger — 'Use this first when you have a company name rather than a careers URL' — plus the rationale that vendor APIs require a board name. There is no stated when-not condition and no named alternative, which keeps it short of a 5.

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

list_open_jobsList a company's open jobsAInspect

Every open job at one company, read from its own careers system. Returns title, department, location, employment type, workplace type, posted date, a parsed salary range where the employer publishes one, and a verify_url pointing at the employer's own advert. Salaries are refused rather than guessed: an hourly rate, an ambiguous currency, or bands in two currencies all yield no figure, and salary_text keeps whatever the employer wrote.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum postings to return.
companyYesA board name ('stripe'), a careers URL ('https://jobs.ashbyhq.com/ramp'), or system:name ('ashby:ramp').
include_descriptionNoInclude the full job description. Off by default because descriptions are long; contact details are removed either way.

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and handles it well: it discloses the exact returned fields, the salary-parsing policy ('refused rather than guessed', with concrete failure cases), the salary_text fallback, and that contact details are stripped either way. It stops short of stating auth needs, rate limits, or pagination behavior beyond the limit cap.

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?

Three sentences, front-loaded with the scope and source before the return-value list and the salary caveat. Dense but each sentence earns its place; the return-field enumeration is long but functional.

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?

No output schema exists, so the description must describe return values, and it does so thoroughly, including the salary edge cases and verify_url. It leaves pagination semantics (how to page past limit=200) and permission requirements unstated, a minor gap for a read-only list tool.

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?

Schema description coverage is 100%, so the schema already documents company, limit, and include_description, and the description adds no parameter-specific syntax or format detail. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

States a specific verb ('List') and resource ('Every open job at one company'), and scopes the source ('read from its own careers system'), so an agent knows exactly what this returns. The purpose is unambiguous and clearly distinct from compare_companies and find_company_board.

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 is implied rather than stated: 'Every open job at one company' signals a single-company lookup, which contrasts by omission with the comparison and board-discovery siblings. There is no explicit when-to-use/when-not-to-use statement or named alternative, so the agent must infer the routing.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedcompare_companies
    • First observedfind_company_board
    • First observedlist_open_jobs

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables real-time job search across thousands of companies' open roles from Greenhouse, Lever, Ashby, and SmartRecruiters, with full-text filtering and company-specific queries, no API key required.
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Search and read public Ashby job boards for named companies, with filtering, full job details, and side-by-side compensation comparison. No API key required.
    6
    5
    52 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to pull live job listings from major ATS platforms (Greenhouse, Lever, Ashby, Workable), Hacker News hiring threads, and detect hiring signals on company career pages.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables asking what companies are hiring right now by querying live job postings from their applicant-tracking system board APIs (Greenhouse, Lever, Ashby, Recruitee, Rippling, Personio), with filters, parsed location, remote flag, and structured salary.
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.