job-scout-mcp
Enables searching job openings from Greenhouse ATS, including filtering by company, seniority, location, and other criteria.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@job-scout-mcp Search for senior software engineer jobs in New York"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
job-scout-mcp
A Model Context Protocol server that scouts job openings from public, ToS-clean sources and hands them to any MCP client (Claude Desktop, Claude Code, Cursor, etc.) as structured tools.
It runs with zero API keys out of the box, and lights up extra sources when you add free credentials. No scraping, no logins, no terms-of-service gray area — every source is either an official API or a public job-board endpoint meant to be read programmatically.
Demo
Ask your MCP client for leadership roles, and the server queries the right boards and returns ranked, filtered results:
Illustrative example rendered from real server output against public Greenhouse boards — swap in a real Claude Desktop screenshot (see the comment in this file's source).
Related MCP server: trackly-cli
Why this design
Most "job scraper" projects break the moment a site changes its HTML, get IP-banned, or quietly violate a platform's terms. This server takes the opposite approach:
Applicant Tracking System boards (Greenhouse, Lever, Ashby) expose public JSON feeds per company — this is where real senior/leadership roles are posted first.
Hacker News "Who is Hiring" is read through the free Algolia HN API.
RemoteOK publishes a free JSON feed (with attribution).
Adzuna and USAJobs are official APIs with free developer keys.
The result is stable, legal, and genuinely useful — especially for scouting senior, manager, director, and executive roles.
Sources
Source | Auth | What it covers |
Greenhouse | none | All public roles at any company on Greenhouse |
Lever | none | All public roles at any company on Lever |
Ashby | none | All public roles at any company on Ashby |
Hacker News | none | Latest monthly "Who is Hiring" thread |
RemoteOK | none | Remote-friendly roles (attribution required) |
Adzuna | free key | Broad aggregated search + salary histograms |
USAJobs | free key | US federal government roles |
Tools
Tool | Description |
| Search all enabled sources with free-text, location, seniority, remote-only, and date filters. |
| List every open role at one company via its ATS ( |
| Salary distribution for a role/region (requires Adzuna). |
| Show which sources are enabled and why any are disabled. |
minSeniority accepts any, mid, senior, lead, manager, director, vp,
exec — seniority is inferred from the job title, so you can filter a company's
whole board down to just leadership roles.
Install
git clone https://github.com/pabnatanawan87/job-scout-mcp.git
cd job-scout-mcp
npm install
npm run buildConfigure (optional)
Everything works keyless. To enable extra sources or set default tracked
companies, copy .env.example to .env and fill in what you want:
cp .env.example .envFind a company's ATS slug from its careers URL and add it to TRACKED_COMPANIES
as provider:slug (e.g. greenhouse:stripe,lever:netflix,ashby:notion). Tracked
companies are searched automatically by search_jobs.
Use with Claude Desktop
Add this to your claude_desktop_config.json
(%APPDATA%\Claude\claude_desktop_config.json on Windows,
~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"job-scout": {
"command": "node",
"args": ["C:/absolute/path/to/job-scout-mcp/dist/index.js"],
"env": {
"TRACKED_COMPANIES": "greenhouse:stripe,lever:netflix,ashby:notion"
}
}
}
}Restart Claude Desktop, then ask things like:
"Find director-level engineering roles at the companies I track, posted this month."
"List all open manager roles at Stripe."
"What's the salary range for an engineering director in London?"
Use with Claude Code
claude mcp add job-scout -- node C:/absolute/path/to/job-scout-mcp/dist/index.jsDevelop
npm run watch # recompile on change
npm run inspect # launch the MCP Inspector against the serverHow it's built
src/
├── index.ts # MCP server + tool registration (stdio transport)
├── types.ts # Normalized Job model + Source contract
├── config.ts # Environment-driven configuration
├── http.ts # fetch + TTL cache + polite User-Agent
├── filter.ts # Seniority inference, text/location/date filters, ranking
├── format.ts # Markdown rendering of results
└── sources/ # One module per source, all implementing `Source`
├── greenhouse.ts lever.ts ashby.ts
├── hnhiring.ts remoteok.ts
└── adzuna.ts usajobs.tsAdding a source is one file: implement the Source interface (name,
isEnabled, search) and register it in sources/index.ts. Each source maps its
raw response into the shared Job shape, so filtering, ranking, and rendering are
identical across all of them.
License
MIT — see LICENSE.
Available Tools
4 toolslist_company_jobsList a company's open rolesA
Fetch all public postings from a single company's ATS job board. Provider is one of greenhouse, lever, or ashby; slug is the company identifier from its careers URL (e.g. boards.greenhouse.io/).
Inputs: slug (required), provider (required), query, minSeniority.
list_sourcesList job sourcesA
Show every source, whether it is currently enabled, and why any are disabled. Useful for diagnosing configuration.
Inputs: no named parameters.
salary_contextSalary distribution for a roleA
Return the salary distribution (histogram) for a role and optional location, powered by Adzuna. Requires ADZUNA_APP_ID/ADZUNA_APP_KEY.
Inputs: role (required), location.
search_jobsSearch jobsA
Search job openings across all enabled sources (Greenhouse/Lever/Ashby tracked companies, Hacker News 'Who is hiring', RemoteOK, and optionally Adzuna/USAJobs). Supports free-text, location, seniority, remote-only, and date filters. Ideal for scouting senior/leadership roles.
Inputs: limit, query, sources, location, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
The tools are largely distinct: search_jobs does broad searches, list_company_jobs targets a specific ATS board, salary_context provides salary data, and list_sources handles configuration. However, search_jobs may already cover jobs from tracked companies, creating minor overlap with list_company_jobs.
Three tools follow a clear verb_noun pattern (search_jobs, list_company_jobs, list_sources), but salary_context breaks the pattern by using a noun phrase instead of an action verb. This is a minor inconsistency across the set.
With four tools, the count is slightly lean but appropriate for the focused job-scouting purpose. Each tool contributes a distinct capability, though the set could benefit from one or two additional tools for fuller coverage.
The core workflows of searching jobs, listing a company's jobs, and accessing salary context are covered. Missing capabilities include fetching full details for a single job posting and managing enabled sources, but these are minor gaps in the current scope.
Maintenance
Related MCP Connectors
Public MCP server for discovering open jobs. Search, filter, and get application links.
Search remote and onsite jobs through the public Corvi Careers MCP server.
Free live multi-ATS + HN job search. Comp & hiring-signal depth metered via x402/USDC. Hosted MCP.
GetJobzi MCP server for job search, application tracking, and career forecasting.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceMCP server that exposes job search data from multiple boards, enabling clients to query and manage job listings via natural language.7MIT

trackly-cliofficial
AlicenseNot gradedqualityBmaintenanceMCP server for job search and application tracking, enabling AI agents to search jobs, get details, manage applications, and find contacts across 128K+ jobs and 1,900+ companies.839 npm3MIT- AlicenseNot gradedqualityDmaintenanceUnified job search MCP server that aggregates live listings from multiple job boards with deduplication, enabling AI agents to find and filter jobs by keyword and location.MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that exposes job-search and application-management capabilities to compatible AI clients, enabling discovery of vacancies, drafting of tailored application materials, and coordinated human-approved submissions.MIT