
MCP server over the freehire job API — search, filter, and apply to IT jobs from any MCP host.
概览
An MCP server over the freehire job API. It lets any MCP host — Claude Desktop, Claude Code, or a compatible agent — without a browser, authenticating with a personal API key. Postings are crawled straight from company career boards — 3.3M+ open roles across 294K companies, normalized into one schema and tagged with stack, seniority, region and work mode (live figures). It mirrors the freehire CLI: same API, same credentials, exposed as MCP tools instead of shell commands. The read-only job search tools are also served remotely at https://freehire.me/api/v1/mcp (Streamable HTTP). In Claude Code, install it as a plugin: In other hosts, add the URL as a custom remote connector. No global install needed — the host runs it via npx. Add it to your host's MCP configuration (Claude Desktop → , or ~/.claude.json for Claude Code): Create the fhk_… key in the web app (freehire.me → account menu → ).
README
以下为原文 README 节选,完整内容请查看原文。
freehire MCP server
An MCP server over the freehire job API. It lets any MCP host — Claude Desktop, Claude Code, or a compatible agent — search, filter, and apply to IT jobs without a browser, authenticating with a personal API key. Postings are crawled straight from company career boards — 3.3M+ open roles across 294K companies, normalized into one schema and tagged with stack, seniority, region and work mode (live figures).
It mirrors the freehire CLI: same API, same credentials, exposed as MCP tools instead of shell commands.
Install
Hosted endpoint (no install, no key)
The read-only job search tools are also served remotely at
https://freehire.me/api/v1/mcp (Streamable HTTP). In Claude Code, install it as a plugin:
/plugin install freehire --marketplace strelov1/freehire-mcp
In other hosts, add the URL as a custom remote connector.
Local server (npm)
No global install needed — the host runs it via npx. Add it to your host’s MCP
configuration (Claude Desktop → Settings → Developer → Edit config, or
~/.claude.json for Claude Code):
{
"mcpServers": {
"freehire": {
"command": "npx",
"args": ["-y", "freehire-mcp"],
"env": { "FREEHIRE_TOKEN": "fhk_xxxxxxxx" }
}
}
}
Create the fhk_… key in the web app (freehire.me → account menu → API keys).
If you already use the freehire CLI (freehire auth login), you can omit env —
the server reads the same ~/.freehire/creds.json.
Authentication
The token and API base URL resolve with precedence
env → ~/.freehire/creds.json → default https://freehire.me:
| What | Sources |
|---|---|
| Token | FREEHIRE_TOKEN → creds file |
| API base URL | FREEHIRE_API_URL → creds file → https://freehire.me |
The server only reads the credentials file (it never writes it — logging in stays the CLI’s job). If no token is configured, tools return a clear “not authenticated” error rather than the server failing to start.
Tools
| Tool | Purpose |
|---|---|
whoami |
Authenticated user (verify the key). |
profile |
The candidate’s saved job-search profile (skills, preferences, contact-free CV). |
facets |
The filter/skill vocabulary: every facet’s live values with counts. Call first. |
search |
Keyword + facet job search; returns jobs with their full description as markdown and the total match count. |
market_fit |
Score a skill list against live market demand (coverage + gaps). |
job |
A single job’s full content by slug. |
check_jobs_open |
Whether postings are still open (up to 50 slugs). Run it on a shortlist before presenting it. |
similar_jobs |
Postings most similar to one posting. |
安装
npx -y freehire-mcp配置
{
"mcpServers": {
"freehire": {
"command": "npx",
"args": ["-y", "freehire-mcp"],
"env": { "FREEHIRE_TOKEN": "fhk_xxxxxxxx" }
}
}
}