com.mambabuilt/mcp-account-hiring-watch

Watch company job boards for new, closed, and reposted postings, with 30 day hiring velocity.

OtherTypeScriptv1.0.1

Account Hiring Watch MCP Server

Smithery Glama score MCP Registry npm version npm downloads license mcpservers.org

An MCP server for the Mamba Labs Account Hiring Watch actor on Apify. Send a list of company domains. Each run reads every company's own job board and returns only what changed since the last run: new, closed, and reposted postings, with the full job description, a stable posting key, and 30 day hiring velocity per company.

What's Inside

What it does

Watch a list of company domains and get back only what changed on their job boards since the last run with the same watch name: new, closed, and reposted postings, read live from 17 job boards including Greenhouse, Lever, Ashby, and Workday. Each change row carries the full job description, a stable posting key, and the board it came from; each company also gets a summary row with open postings and 30 day hiring velocity. The first run for a watch sets the baseline, and its rows are marked is_backfill and never charged. Optional signed webhook delivery. A run that does not succeed is returned as an error with its run ID. Read-only on the boards; requires an APIFY_TOKEN and consumes Apify credits per change returned.

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:

{
  "mcpServers": {
    "mamba-account-hiring-watch": {
      "command": "npx",
      "args": [
        "-y",
        "@mambalabsdev/mcp-account-hiring-watch"
      ],
      "env": {
        "APIFY_TOKEN": "your-apify-token"
      }
    }
  }
}

Restart the client. The watch_account_hiring tool appears.

Prerequisites

Example prompts

  • "Watch stripe.com, ramp.com, and vercel.com for new sales and RevOps postings."
  • "Run my target account watch again and tell me which companies opened or closed GTM roles since last week."

Tool

watch_account_hiring. One tool. Example arguments:

{
  "domains": ["stripe.com", "ramp.com", "vercel.com"],
  "watch_name": "target-accounts",
  "keyword_categories": ["GTM"]
}

Inputs

Every buyer facing input of the live actor, unchanged. Omitted inputs take the actor's own defaults.

InputTypeRequiredDescription
domainsarrayyesCompany website domains to watch, for example stripe.com. The watch reads each company's own job board. Up to 2,000 per run.
watch_namestringnoKeeps separate watch lists apart. Use one name per list or client. Changing the name starts a new watch, and its first run sets the baseline. Default default.
keyword_categoriesarraynoOnly changes to postings whose title matches these role categories are returned and charged. All returns every posting change. Every posting still counts toward hiring velocity. Default ["All"].
custom_keywordsarraynoExtra title keywords, matched on whole words. Prefix with T1: for the strongest tier or T3: for the weakest; no prefix is tier 2. Adding any keyword also adds the Custom category.
board_hintsarraynoPoint a domain at its job board when the watch cannot find it, as domain=provider:slug, for example acme.com=greenhouse:acmeinc or acme.com=workday:acme.wd5/External. Providers: greenhouse, lever, ashby, workable, smartrecruiters, personio, recruitee, workday, rippling.
first_run_modestringnoWhat a domain's first run returns. recent returns postings the board dates inside the last N days, baseline_only returns the summary row, all_open returns every open posting. First run rows are marked is_backfill and never charged. Default recent.
first_run_recent_daysstringnoWith first_run_mode recent: how many days back counts as recent. 1 to 30. Default 7.
closed_after_missesstringnoA posting closes after this many complete board reads without it. A partial read never counts. 1 to 5. Default 2.
repost_window_daysstringnoA closed posting that comes back inside this many days is reported as reposted, not new. 7 to 60. Default 30.
include_job_descriptionstringnoAdds the full description text to new and reposted rows. Closed rows carry no description. Default true.
description_max_charsstringnoLongest description kept per row. job_description_chars always reports the full length. 500 to 100000. Default 20000.
webhook_urlstringnoOptional HTTPS endpoint. Changes are sent as signed Standard Webhooks requests, and a change is charged only after your endpoint answers 2xx.
webhook_secretstringnoRequired with webhook_url. Signs each request (HMAC SHA256). A whsec_ prefixed secret is base64 decoded per the Standard Webhooks spec.
webhook_batch_modestringnobatch sends up to 50 changes per request, grouped by company. per_change sends one request per change, for tools where one request is one row (Clay table webhooks, Zapier). Default batch.
state_storestringnoOptional key value store that holds the watch state. Leave empty to use the store account-hiring-watch-state in your own Apify account.
max_domainsstringnoDomains past this number are skipped. 1 to 2000. Default 500.
max_charge_usdstringnoOptional. When the next change would take this run's charges over this amount, the remaining changes are held and delivered first on the next run.

Pricing

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

EventFree planBronzeSilverGold
posting_change, per change returned (new, closed, or reposted)$0.01$0.0095$0.009$0.0085
apify-actor-start, per run start$0.002$0.002$0.002$0.002

First run rows (is_backfill) and rows from a board the run could not confirm are never charged. With a webhook set, a change is charged only after your endpoint answers 2xx.

Your keys

The actor needs no provider key. It reads public job board APIs and holds no key of its own. A webhook secret, if you set one, is yours and is stored by Apify as a secret input.

Full actor documentation

apify.com/mambalabs/account-hiring-watch

License

MIT. See LICENSE.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @mambalabsdev/mcp-account-hiring-watch

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "com-mambabuilt-mcp-account-hiring-watch": {
      "command": "npx",
      "args": [
        "-y",
        "@mambalabsdev/mcp-account-hiring-watch"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@mambalabsdev/mcp-account-hiring-watchnpm

Compatible MCP Clients

com.mambabuilt/mcp-account-hiring-watch works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More