For AI agents
MCP Server for AI Job Search
Give Claude Desktop, Cursor, or any MCP-compatible AI agent live access to 1.5M+ active U.S. job listings. Search and filter by salary, location, industry, function, and more — all from inside your agent's chat.
What it is
The Best Job Board MCP server is a Model Context Protocol endpoint that exposes our index of 1.5M+ active U.S. jobs as callable tools to any MCP-compatible AI agent. Once connected, your agent can search the index, rank results, draft cover letters from real job descriptions, and hand you apply URLs — all without leaving your chat window.
We're salary-tagged, recency-sorted, and pulled directly from corporate ATSes (Workday, Greenhouse, Lever, custom flows) — not aggregated from LinkedIn or Indeed. Free accounts see listings 7+ days old; subscribers see day-0 listings the moment they're posted.
Quick start
- Sign in or create an account (free).
- Go to /dashboard/mcp and generate a token. The plaintext token is shown ONCE — copy it immediately.
- Add the config block below to your agent (see the per-agent sections), pasting the token where indicated.
- Restart your agent. Try a prompt like "Find 5 remote Python staff engineer jobs over $150K posted this week."
Claude Desktop
Open your claude_desktop_config.json (on macOS: ~/Library/Application Support/Claude/claude_desktop_config.json; on Windows: %APPDATA%\Claude\claude_desktop_config.json) and add:
{
"mcpServers": {
"tbjb": {
"url": "https://www.thebestjobboard.com/api/v2/mcp",
"headers": {
"Authorization": "Bearer <paste-your-token>"
}
}
}
}Restart Claude Desktop. The TBJB tools (search_jobs, get_job) appear in the tool dropdown automatically.
Cursor
Open Cursor Settings → MCP → add a new server with the same config:
{
"mcpServers": {
"tbjb": {
"url": "https://www.thebestjobboard.com/api/v2/mcp",
"headers": {
"Authorization": "Bearer <paste-your-token>"
}
}
}
}Other MCP clients
Any client supporting the Streamable HTTP MCP transport works. The endpoint is https://www.thebestjobboard.com/api/v2/mcp; auth is Authorization: Bearer <token>; JSON-RPC 2.0 methods initialize, tools/list, tools/call, and ping are supported.
Available tools
search_jobs
Free-text + filter search across the full index. Returns a formatted listing the agent can reason over (title, company, location, salary, posted-relative timestamp, lock status, apply URL).
Parameters:
query(string) — free-text search. Supports-wordexclusions, e.g."python -recruiter".industry(string[]) — industry slugs (software_tech,banking_finance, etc.). Multi-select OR.function(string[]) — function slugs (engineering,sales, etc.).location(string) — city / state / ZIP substring.remote(bool) —truefor remote-only.salary_min,salary_max(number) — annual USD.us_only(bool) — defaultstrue.employment_type(string[]) — e.g.Full-Time,Contract.experience_level(string[]) — YOE bins0-2,3-5,6-10,10+.page(int, default 1),limit(int, default 25, max 100).
get_job
Full details for one listing by slug.
Parameters:
slug(string) — the slug fromsearch_jobsresults.
Free vs paid
The MCP enforces the same recency paywall as the website:
- Free accounts: every listing more than 7 days old is fully unlocked (company, apply URL, full description). Fresher listings come back with
is_locked: trueand the company name + apply URL hidden. - Subscribers ($8/mo, 14-day free trial): every listing is unlocked the day it's posted.
If you're building an agent for serious job hunting, the subscription pays for itself the first time you find a $150K+ role before it accumulates 200 applicants.
Auto-apply
Each unlocked listing returns an apply_url pointing to the employer's ATS or careers page. AI agents with browser automation (Claude Computer Use, OpenAI Operator, browser-use, Playwright-driven flows) can drive those forms directly — fill the resume fields, attach the uploaded resume, draft a cover letter from the JD, submit.
We do not currently host a server-side auto-apply tool. A future MCP version may ship apply_via_tbjb for ATSes where we've solved the form (Greenhouse, Lever, simpler Workday flows). Today your agent does the apply itself.
Example prompts
- "Find 10 remote Python staff engineer jobs over $150K posted this week. For each, write a one-line pitch."
- "Pull fresh banking & finance roles in NYC paying $200K+. Rank by company size, then draft a tailored cover letter for the top one using my resume."
- "Show me the 5 latest software-tech jobs at YC-backed companies under 100 people."
- "I'm a mid-level data scientist looking for remote work. Surface 20 active listings, exclude recruiter spam (
-recruiter), prioritize $130K+." - "I want to switch industries — find marketing roles at healthcare companies in the Bay Area."
FAQ
Does this work with ChatGPT?
ChatGPT doesn't yet expose remote MCP servers as a first-class connector type. As OpenAI rolls out broader MCP support, this endpoint will work there too — the protocol is client-agnostic.
What if my token leaks?
Visit /dashboard/mcp, click "Revoke" next to the token. Generate a new one. The leaked token is rejected at next use. Tokens are stored as SHA-256 hashes on our side — we never persist plaintext.
Is there a rate limit?
Yes — 1,000 calls/day per token. That's far more than any end-user job-hunt session needs and far less than what's required to enumerate the index. Tokens whose call pattern matches enumeration heuristics (lots of filter-less searches, or unusually deep pagination) are auto-revoked. For commercial / high-volume use, see our Terms and email support@thebestjobboard.com.
Do you log my queries?
We log standard request metadata (token id, timestamp, query parameters) for abuse detection and product analytics. We do not share query data with employers or third parties.
Can I integrate this into my own product?
For commercial / high-volume B2B usage (recruiter tools, staffing platforms), email support@thebestjobboard.com for a separate API key tier. The consumer MCP above is gated by the standard subscription.
Resources
- /dashboard/mcp — token management
- /llms.txt — machine-readable site summary
- /.well-known/mcp.json — MCP discovery manifest
- /insights — original data analyses