ats_jobs
Pack: ats-boards · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/ats_jobs for the schema, then POST the same URL with its arguments for the data.
Fetch normalized job postings from a PUBLIC ATS board you already have the ats + board_token for (use ats_detect or ats_company_jobs if you only have a domain). Returns {found:false, reason:“board_not_found”} for an unknown board — never an empty jobs[] for that case. Lever/Ashby/BambooHR/Recruitee DO distinguish a real zero-job board (found:true, jobs:[]) from an unknown one; SmartRecruiters cannot, and marks that case ambiguous:true. Workday board_token is “
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
ats | string | yes | Which ATS to query. |
board_token | string | yes | The board identifier: Greenhouse/Lever/Ashby/SmartRecruiters company slug or id; Recruitee/BambooHR subdomain label; Workable account slug; Workday “ |
filters | object | no | Optional post-fetch filters and Workday pagination controls. |
properties | string | no | Case-insensitive substring match on job title. For Workday this is also sent upstream as the search text. |
title_query | string | no | Case-insensitive substring match on job title. For Workday this is also sent upstream as the search text. |
location_query | string | no | Case-insensitive substring match on location. |
remote_only | boolean | no | Keep only jobs flagged remote (where the ATS reports it). |
region | string | no | Lever only: “eu” queries api.eu.lever.co instead of api.lever.co. |
limit | number | no | Workday only: page size, clamped to 20 (Workday itself rejects anything higher with HTTP 400). |
offset | number | no | Workday only: pagination offset, clamped to 10000 (Workday’s own cap). |
Example call
Arguments
{
"ats": "greenhouse",
"board_token": "airbnb"
}
curl
curl -X POST https://gateway.pipeworx.io/ats-boards/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ats_jobs","arguments":{"ats":"greenhouse","board_token":"airbnb"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('ats_jobs', {
"ats": "greenhouse",
"board_token": "airbnb"
});
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the ats-boards pack
{
"mcpServers": {
"ats-boards": {
"url": "https://gateway.pipeworx.io/ats-boards/mcp"
}
}
}
See Getting Started for client-specific install steps.