Mcp Ats Jobs Feed

com.mambabuiltPublished by mambabuilt.comv1.0.1Updated Nov 7, 2026

Open jobs for a list of companies from their Greenhouse, Lever, Ashby, and Workday boards.

Overview

AI-generated overview

Lists open jobs at chosen companies by reading their own ATS boards (Greenhouse, Lever, Ashby, Workday and others) through an Apify actor.

What you can do
  • List open jobs across many companies' ATS boards, one row per job plus a summary row per company
  • Filter results by title keywords, excluded words, locations, departments, remote-only, posting age and a per-company cap
  • Optionally include the full job description text
  • Return only jobs new since the last run with the same state key, and reset that saved state
  • Limit discovery to specific ATS platforms and cap the run's maximum charge
When to use it
Useful for recruiting, sales or market research when you want an assistant to sweep many companies' careers pages at once, filter to relevant roles, or track newly posted jobs on a recurring schedule.
Requirements
Runs locally via npx, so Node.js 18 or newer is needed. An Apify account and an Apify API token set as APIFY_TOKEN are required for calls; the tool is listed without one. Network access to Apify and the public job boards is needed.
Before you install
Runs are billed per job row and per run start to your Apify account, so large company lists or high per-company caps cost money; max_charge_usd can cap a run. The APIFY_TOKEN is a secret credential. The server sends company domains and board URLs to Apify, which performs the scraping.

Installation

In SourceWeft

  1. Open Mcp Ats Jobs Feed in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

ATS Jobs Feed MCP Server

[Glama score] [MCP Registry] [npm version] [npm downloads] [license] [mcpservers.org]

An MCP server for the Mamba Labs Company Careers Page Jobs, 17 ATS Boards actor on Apify. Give it company domains or job board URLs. It returns every open job on each company's own ATS board, one row per job with the company domain.

What's Inside

What it does

  • Boards: Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Personio, Recruitee, Rippling, Oracle Recruiting, SuccessFactors, Teamtailor, BambooHR, ADP, UKG, Paylocity, and Breezy, read through their public job board APIs and careers sites.
  • Discovery: a domain is matched to its board through the ATS link on the company site, then by the company name as a board name; a board that names another employer is rejected.
  • Rows: one job row per open job and one free company row per company with jobs_on_board, jobs_matched, and jobs_returned, or row_status no_board and the reason.
  • Filters and schedules: title keywords, excluded words, locations, departments, remote only, posted within N days, and only_new with a state_key.

All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.

Quick start

You need Node.js 18 or newer and an Apify account with an API token.

Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:

json
{  "mcpServers": {    "mamba-ats-jobs-feed": {      "command": "npx",      "args": [        "-y",        "@mambalabsdev/mcp-ats-jobs-feed"      ],      "env": {        "APIFY_TOKEN": "your-apify-token"      }    }  }}

Restart the client. The list_company_ats_jobs tool appears.

Prerequisites

Example prompts

  • "List the open account executive and SDR roles at stripe.com, linear.app, and notion.so."
  • "Which of these 30 target accounts posted a remote sales job in the last 14 days?"
  • "Every day, tell me which new jobs appeared on Gusto's and Figma's boards."

Tool

list_company_ats_jobs. One tool. Example arguments:

json
{  "companies": [    "linear.app",    "notion.so"  ],  "title_keywords": [    "account executive"  ]}

Inputs

Every buyer facing input of the actor, unchanged. Omitted inputs take the actor's own defaults. Numbers and booleans are sent as strings.

InputTypeDescription
companiesarrayOne per line: a company domain (stripe.com), a homepage or careers page URL, or a job board URL (https://jobs.lever.co/palantir, https://job-boards.greenhouse.io/stripe, https://jobs.ashbyhq.com/linear, https://workday.wd5.myworkdayjobs.com/Workday). To tie a board URL to a domain, join them with an equals sign: gusto.com=https://job-boards.greenhouse.io/gusto. Up to 500 per run
title_keywordsarrayOptional. Return only jobs whose title contains one of these words or phrases, matched as whole words and ignoring case, for example account executive, sales, engineer
exclude_title_keywordsarrayOptional. Drop jobs whose title contains one of these words or phrases, for example intern
locationsarrayOptional. Return only jobs whose location text contains one of these, ignoring case, for example new york, london, germany. The word remote matches remote jobs
departmentsarrayOptional. Return only jobs whose department or team contains one of these, ignoring case. Boards that publish no department return nothing under this filter
remote_onlystringtrue returns only jobs the board marks remote or whose location says remote
posted_within_daysstringOptional. Return only jobs posted in the last N days. Jobs with no posting date are left out when this is set. Workday shows 30+ days for older postings, so those count as 30 days old
max_jobs_per_companystringJob rows returned per company, newest first, after the filters. Default 1000, up to 5000. The whole board is read either way, up to 5,000 postings
include_descriptionstringtrue adds the job description as plain text, up to 20,000 characters, for the jobs returned. No extra charge. Runs take longer on Workday boards, which need one read per job
only_newstringtrue returns only jobs that were not on the board at the last run with the same state key. The first run returns every matching job and records the board
state_keystringNames the saved state for only new jobs. Use one key per schedule, for example sales-accounts-daily
reset_statestringtrue forgets the saved state for this state key and treats every board as a first run
platformsarrayOptional. Limit board discovery to these: greenhouse, lever, ashby, workday, workable, smartrecruiters, personio, recruitee, rippling, oracle_hcm, successfactors, teamtailor, bamboohr, adp, ukg, paylocity, breezy. Empty means all
max_charge_usdstringOptional. The run stops before it would charge more than this

Pricing

Pay per event on Apify, billed to your Apify account. Prices in USD.

EventFree planBronzeSilverGold
job-row, one open job returned after your filters$0.002$0.0019$0.0018$0.0017
apify-actor-start, per run start$0.001$0.001$0.001$0.001

Company rows, rows for a company with no board found, and the row for a refused input are free.

Your keys

The actor needs no key. It reads public job board APIs and public careers pages and holds no key of any kind. Mamba Labs pays the platform costs of the run.

Full actor documentation

apify.com/mambalabs/ats-jobs-feed

License

MIT. See LICENSE.

Source: README.md at commit 631b3be

Tools

1

list_company_ats_jobs

List open jobs from company ATS boards

List every open job for a list of companies, read from their own applicant tracking system boards: Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Personio, Recruitee, Rippling, Oracle Recruiting, SuccessFactors, Teamtailor, BambooHR, ADP, UKG, Paylocity, and Breezy. Give companies as domains (stripe.com) or board URLs (https://jobs.lever.co/palantir). The board is found from the company site or by name, and a board that names another employer is rejected. Returns one row per job (title, department, location, remote flag, posting date, link, company domain) plus one free company row per company with the board found and job counts, or why no board was read. Optional filters on title, location, department, remote, and posting age; optional descriptions; only_new with a state_key returns only jobs not seen on the last run. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN; Apify charges per job row returned and once per run start; company rows are free.

Parametersonly_newcompanieslocationsplatformsstate_keydepartmentsremote_onlyreset_statemax_charge_usdtitle_keywordsposted_within_daysinclude_description+2 more

Version history

2
  1. v1.0.1LatestNov 5, 2026
  2. v1.0.0Nov 1, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts