Skip to main content
Glama
HeadcountLabs

com.headcountlabs/jobs

Official

Headcount Labs MCP server

Job postings for AI agents. Headcount Labs is a hosted Model Context Protocol server that lets Claude, ChatGPT, Codex, Cursor, VS Code and other MCP clients search, count and read open jobs from employers' own career sites and the hiring platforms they use (Workday, Greenhouse, Lever, iCIMS, SmartRecruiters and others). Copies of the same opening are merged into one job, and every job keeps the link to the original posting.

There is nothing to install or run. This repository holds the connection instructions, client examples and the official MCP Registry entry (server.json, name com.headcountlabs/jobs). The server itself is hosted.

Endpoint

Sign-in

Tools

https://api.headcountlabs.com/mcp/public

None

6 read-only tools; one search shows up to 250 matching jobs, 50 per page

https://api.headcountlabs.com/mcp

OAuth 2.1 (PKCE, dynamic client registration) or an API key as a bearer token

26 tools, including exports, the company registry, the job change feed and usage

Both use the Streamable HTTP transport.

Pricing. Every organization gets 100,000 records free each calendar month (UTC), with no card. After that, records cost a flat $0.01 per 1,000. Counts, market insights, field lookups and doc searches are free. See headcountlabs.com/pricing.

Try it without an account

Add the public endpoint to any MCP client. In Claude Code:

claude mcp add --transport http headcountlabs-public https://api.headcountlabs.com/mcp/public

Or call it directly. This counts every open job in the catalog:

curl -s https://api.headcountlabs.com/mcp/public \
  -H "content-type: application/json" -H "accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"count_jobs","arguments":{}}}'

Related MCP server: Job Board MCP Server

Connect with an account

Claude Code (then run /mcp and choose Authenticate):

claude mcp add --transport http headcountlabs https://api.headcountlabs.com/mcp

Or install the Claude Code plugin, which adds the server and a job-search skill:

/plugin install headcount-labs --marketplace HeadcountLabs/claude-plugin

Codex:

codex mcp add headcountlabs --url https://api.headcountlabs.com/mcp
codex mcp login headcountlabs

Cursor, Windsurf and other clients that read mcp.json: examples/mcp.json. VS Code: examples/vscode-mcp.json. claude.ai and Claude Desktop: add a custom connector with the endpoint URL. ChatGPT: headcountlabs.com/mcp/chatgpt. Grok: headcountlabs.com/mcp/grok. Clients without remote server support: run npx mcp-remote https://api.headcountlabs.com/mcp as the server command.

Tools

The public endpoint serves the first six tools in this table. The signed-in endpoint serves all of them. The full reference, with scopes and limits, is at headcountlabs.com/docs/mcp-tools.

Tool

What it does

Uses records

search_jobs

Finds jobs by title, keywords, company, city, state, country, work arrangement, pay and dates. Signed in, deliver_file: true writes up to 5,000 jobs to a file.

Yes

count_jobs

Counts the jobs that match a set of filters, optionally grouped by employer.

No

get_job

Reads one job with every linked posting and its source links.

Yes

market_insights

Pay, top employers, remote share, metros, jobs by state and more, from a dated snapshot.

No

list_fields

Finds the filters and job fields that match your words, such as "pay" or "remote".

No

search_docs

Returns the best-matching sections of the Headcount Labs docs.

No

read_file

Pages through a file that search_jobs delivered, for 24 hours.

No

verify_jobs

Re-opens a random sample of original postings and checks link, status, title, employer, location and pay.

Sampled jobs

compare_sources

Matches your own job list against Headcount Labs, row by row.

Matched jobs

search_jobs_json, search_jobs_dsl

The same search with a JSON body or Elasticsearch-style clauses.

Yes

list_job_changes

New, changed and closed jobs since a time or cursor.

Yes

list_companies, search_companies, get_company, list_company_jobs

The company registry and each company's jobs (needs the companies:read scope).

Jobs only

create_job_export, list_job_exports, get_job_export, read_job_export_file

Asynchronous exports of up to 100,000 jobs.

Completed exports

get_usage, get_overage, get_usage_requests, get_usage_analytics

Your plan, records used and left, overage status and request reports.

No

set_confirmation_level, set_overage

How large a search may be before the agent must ask you, and overage billing on or off. Agents change them only when you ask.

No

Every tool carries a title and readOnlyHint or destructiveHint annotations. The tools read job data. They can't apply to jobs or contact employers.

What results look like

  • Compact by default. search_jobs returns a short summary of each job: rank, job_id, the employer-written title, employer and a 200-character snippet (in job_ad), locations, work arrangement, pay with its period, dates and the posting and apply links. Pass view: "full", name the fields you need, or call get_job for every field. Ten typical searches came to 62% fewer tokens than with every field.

  • Job ad text is data. Results that carry employer-written text start with an untrusted_content notice, and the server tells the AI never to follow instructions inside a job ad. Hidden text (zero-width and text-direction characters, HTML comments, hidden elements) is removed before it is sent.

  • Errors say how to fix the call. A bad argument returns invalid_arguments with each problem's field, what is wrong, the accepted values or the nearest valid name (did_you_mean), and a working example. Rate-limit and overload errors give retry_after_seconds.

  • Paging. Signed in, limit is the page size (10 to 100, default 50) and max_results is the most results one search returns across all its pages (10 to 1,000, default 250). They apply to search_jobs, search_jobs_json, search_jobs_dsl, list_company_jobs, list_companies, search_companies and list_job_changes. Set both on the first call and keep them the same on every page, because the cursor carries them. A search that reaches the cap returns next_cursor: null and a note. The no-account endpoint pages 1 to 50 jobs (default 10, or 1 to 10 with full descriptions) and stops at 250.

  • Job cards. In clients that support MCP Apps, search_jobs also shows the jobs as cards with pay, remote and location filters and an Apply button that opens the original posting. Other clients get the normal result.

Example prompts

  • "How many data engineer jobs are open in Germany right now?"

  • "Find 5 remote software engineer jobs in the US posted in the last week, with pay and apply links."

  • "Which employers have the most open registered nurse jobs in Texas?"

  • "What share of project manager jobs are remote, hybrid or on-site?"

  • "Pull every open job at Deloitte in Germany into a file."

The data

Open jobs read from employer career sites and hiring platforms, refreshed continuously, with closed jobs removed. Each job carries the employer, title, locations, work arrangement, pay as the employer published it, dates, and the posting and apply links.

Privacy and support

Your client sends search filters and job IDs to api.headcountlabs.com and gets job data back. Headcount Labs keeps only the usage counts needed for billing. See the privacy policy and terms.

Support: headcountlabs.com/contact or support@headcountlabs.com.

The examples and docs in this repository are MIT licensed.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that aggregates and deduplicates job listings from multiple public sources, ranks them against a user's resume, and exposes tools for searching, viewing details, explaining fit, and tracking applications.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables searching and retrieving job listings from multiple platforms through MCP.
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables any MCP host to search job listings and retrieve individual job details from a public job board's API/RSS through standardized tools. It provides read-only search and detail lookup with polite rate limiting and remote/location filtering.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to search job postings with keyword, location, remote-only, date, and limit filters, and retrieve individual job details via MCP tools.
    MIT