MCP server for live job postings and labour-market aggregates: search 1.6M postings read straight from ten applicant tracking systems, with salary percentiles, posting age and demand splits.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add hiringindex-mcp -- npx -y hiringindex-mcp{
"mcpServers": {
"hiringindex-mcp": {
"command": "npx",
"args": ["-y", "hiringindex-mcp"],
"env": {
"HIRINGINDEX_API_KEY": "<hiringindex_api_key>"
}
}
}
}HIRINGINDEX_API_KEYResumen de MCP Servers
# hiringindex-mcp
MCP server over live job postings. Search roles, aggregate a market slice, and
see how long each listing has been sitting open.
Zero dependencies, Node ≥ 18, stdio transport.
## Install
```bash
npx -y hiringindex-mcp
```
Claude Desktop / Claude Code:
```json
{
"mcpServers": {
"hiringindex": {
"command": "npx",
"args": ["-y", "hiringindex-mcp"],
"env": { "HIRINGINDEX_API_KEY": "your-key" }
}
}
}
```
## Tools
| Tool | What it answers |
|---|---|
| `search_jobs` | "Show me Python data roles in Amsterdam paying over 80k" |
| `job_market_insights` | "What does a data engineer earn in Berlin, and who is hiring?" |
| `posting_age_report` | "Are these listings fresh, or have they been open for months?" |
| `get_job` | "Give me the full posting for this id" |
`posting_age_report` reports median age, the share posted this week and the share
still open after sixty days — the most commonly cited signal that a role is not
being actively filled. It reports the numbers; it does not pretend to know the
employer's intent.
**Where this sits against what exists.** A free tool,
[whenthisjobwasposted.com](https://whenthisjobwasposted.com), resolves the real
posting date for *one URL at a time* and has an MCP server of its own. If that is
what you need, use it — it costs nothing. This tool answers a different question:
the age *distribution* of an entire slice of the market, computed alongside pay
and demand for the same cohort. One is a lookup, the other is an aggregate.
All four take the same filter shape, so a slice defined once can be searched,
aggregated and aged without rewriting the query.
## Filters
Exactly what the live index can apply (checked against the marketplace listing
on 2026-09-07, `board_handle` added 2026-09-08). Anything else is not a filter, and the tool schemas are closed
so a model cannot invent one.
| Field | Meaning | Notes |
|---|---|---|
| `titles` | job titles to match | terms shorter than 3 characters are rejected by the index |
| `keywords` | terms mentioned anywhere in the posting (title or description) | any keyword matches; since 2026-09-08 — before that, title only |
| `city` | city as employers write it | `"Berlin"`, `"New York"`, `"Bengaluru"` |
| `country` | ISO 3166-1 alpha-2 code or an English name | `"US"`, `"Germany"`; names are mapped to codes locally |
| `work_arrangement` | `Remote` / `In Person` | hybrid is not a separate filter upstream |
| `company` | one employer by name | |
| `board_handle` | one ATS board by its handle | take it from the `handle` field of a posting: `"EndeavorITSolution"`, `"walmart:wd504:WalmartExternal"` |
| `salary_min` / `salary_max` | advertised salary bounds | only postings that disclose a salary match |
| `posted_within_days` | published in the last N days | |
| `page` / `limit` | paging, `limit` up to 100 | `search_jobs` only |
Not offered here although the index accepts them: `seniority` and
`employment_type` — their values are raw vendor strings (`"Mid-Senior Level"`,
`"FullTime"`), so a model would guess spellings and silently get an empty slice;
the aggregates still report both as employers write them. Not available upstream
at all: region or state, industry.
## Configuration
| Variable | Default | Meaning |
|---|---|---|
| `HIRINGINDEX_API_KEY` | — | required; also accepts `RAPIDAPI_KEY` |
| `HIRINGINDEX_HOST` | `hiringindex.p.rapidapi.com` | marketplace host |
| `HIRINGINDEX_API_BASE` | — | set this to call our backend directly instead of the marketplace |
| `HIRINGINDEX_TIMEOUT_MS` | `30000` | request timeout |
Setting `HIRINGINDEX_API_BASE` switches auth from `x-rapidapi-key` to `x-api-key`
and skips the marketplace entirely.
## Why the handshake is local
The tools call REST endpoints directly instead of proxying a remote `/mcp`.
The marketplace meters every request against the declared path, `initialize` and
`tools/list` included. Going through this package, the handshake never leaves the
machine and only real queries cost anything.
## Output
Markdown by default — repeated fields render as tables, which costs fewer tokens
than a labelled list and stays readable for a human. Pass `format: "json"` on any
tool for the raw response.
## Development
```bash
npm test # 16 protocol checks, no key needed
HIRINGINDEX_API_KEY=... npm test # 17 — adds live calls through the marketplace
```
The test drives the server the way a real client does: writes JSON-RPC to stdin,
reads from stdout.
## Before publishing
1. Smoke test with a real key: done 2026-09-07 through the marketplace, 17/17
(search, insights, age report, single posting). Re-run before every publish.
2. `git init` and add `repository` to `package.json`.
3. The marketplace host is final (`hiringindex.p.rapidapi.com`, listing public
since 2026-09-07), so the default in `config.js` will not need a major bump.
4. Submit to the official MCP registry (no gatekeeper), then Docker MCP Registry
and the Cline marketplace.
### Note on the registry listing
Across 115 job-related servers in the official registry, the description is the
only thing a browsing user reads, and the ones that get installed are narrow:
a country, an industry, a single job family. "Job search with AI" is
indistinguishable from a dozen others. Lead with the number, the source and the
tool list — and with the age angle, which nobody else has taken.
Lo que la gente pregunta sobre hiringindex-mcp
¿Qué es starnikovoleg/hiringindex-mcp?
+
starnikovoleg/hiringindex-mcp es mcp servers para el ecosistema de Claude AI. MCP server for live job postings and labour-market aggregates: search 1.6M postings read straight from ten applicant tracking systems, with salary percentiles, posting age and demand splits. Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-09-09.
¿Cómo se instala hiringindex-mcp?
+
Puedes instalar hiringindex-mcp clonando el repositorio (https://github.com/starnikovoleg/hiringindex-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar starnikovoleg/hiringindex-mcp?
+
Nuestro agente de seguridad ha analizado starnikovoleg/hiringindex-mcp y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene starnikovoleg/hiringindex-mcp?
+
starnikovoleg/hiringindex-mcp es mantenido por starnikovoleg. La última actividad registrada en GitHub es del 2026-09-09, con 0 issues abiertos.
¿Hay alternativas a hiringindex-mcp?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega hiringindex-mcp en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/starnikovoleg-hiringindex-mcp)<a href="https://claudewave.com/repo/starnikovoleg-hiringindex-mcp"><img src="https://claudewave.com/api/badge/starnikovoleg-hiringindex-mcp" alt="Featured on ClaudeWave: starnikovoleg/hiringindex-mcp" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!