Skip to main content
Glama
strelov1

freehire

by strelov1

freehire MCP server

Ein MCP-Server über die freehire-Job-API. Er ermöglicht jedem MCP-Host – Claude Desktop, Claude Code oder einem kompatiblen Agenten – IT-Jobs zu suchen, zu filtern und sich zu bewerben, ohne Browser, mit Authentifizierung über einen persönlichen API-Schlüssel. Stellenausschreibungen werden direkt von den Karriereseiten der Unternehmen gecrawlt – 3.3M+ offene Rollen bei 294K Unternehmen, normalisiert in ein Schema und getaggt mit Stack, Seniorität, Region und Arbeitsmodell (Live-Zahlen).

Er spiegelt die freehire-CLI: gleiche API, gleiche Anmeldedaten, bereitgestellt als MCP-Tools statt Shell-Befehle.

Install

Keine globale Installation nötig – der Host führt es über npx aus. Fügen Sie es zur MCP-Konfiguration Ihres Hosts hinzu (Claude Desktop → Einstellungen → Entwickler → Konfiguration bearbeiten oder ~/.claude.json für Claude Code):

{
  "mcpServers": {
    "freehire": {
      "command": "npx",
      "args": ["-y", "freehire-mcp"],
      "env": { "FREEHIRE_TOKEN": "fhk_xxxxxxxx" }
    }
  }
}

Erstellen Sie den fhk_…-Schlüssel in der Web-App (freehire.me → Kontomenü → API-Schlüssel). Wenn Sie bereits die freehire-CLI verwenden (freehire auth login), können Sie env weglassen – der Server liest dieselbe ~/.freehire/creds.json.

Related MCP server: job-monitor

Authentication

Das Token und die API-Basis-URL werden mit folgender Priorität aufgelöst: env → ~/.freehire/creds.json → Standard https://freehire.me:

Was

Quellen

Token

FREEHIRE_TOKEN → Creds-Datei

API-Basis-URL

FREEHIRE_API_URL → Creds-Datei → https://freehire.me

Der Server liest nur die Credentials-Datei (er schreibt sie nie – das Einloggen bleibt Aufgabe der CLI). Wenn kein Token konfiguriert ist, geben die Tools einen klaren „nicht authentifiziert“-Fehler zurück, anstatt dass der Server nicht startet.

Tools

Tool

Zweck

whoami

Authentifizierter Benutzer (Schlüssel verifizieren).

facets

Das Filter-/Skill-Vokabular: Live-Werte jedes Facets mit Zählern. Zuerst aufrufen.

search

Keyword- + Facet-Jobsuche; gibt Jobs mit ihrer vollständigen Beschreibung als Markdown und die Gesamtzahl der Treffer zurück.

market_fit

Bewertet eine Skill-Liste anhand der Live-Marktnachfrage (Abdeckung + Lücken).

job

Vollständiger Inhalt eines einzelnen Jobs per Slug.

company

Ein Unternehmen und seine offenen Jobs per Slug.

apply

Job als beworben markieren.

save / unsave

Lesezeichen setzen / entfernen.

stage

Bewerbungsphase setzen (servervalidiert).

note

Freitext-Notiz anhängen.

my

Die verfolgten Jobs des Aufrufers (alle/gesehen/gespeichert/beworben) mit Phase + Notiz.

cv_tailor

Tailoring für eine Stelle starten (oder wieder öffnen); gibt die CV-ID zurück, die die anderen cv_*-Tools erwarten.

cv_list

Die maßgeschneiderten CVs des Aufrufers mit der jeweiligen Stelle, für die sie erstellt wurden.

cv_context

Die Fit-Analyse, auf die ein maßgeschneiderter CV ausgerichtet werden sollte (missing_have vs. missing_gap).

cv_get

Das vollständige Dokument eines maßgeschneiderten CVs.

cv_edit

Eine Reihe von pfadadressierten Änderungen an einem maßgeschneiderten CV atomar anwenden (servervalidiert; nicht belegte Behauptungen werden abgelehnt).

cv_render

Maßgeschneiderten CV als PDF rendern, zurückgegeben als base64-application/pdf-Ressource.

experience_list

Die Erfahrungsbank des Kandidaten, mit der Herkunft jeder Leistung. cv_edit's evidence_id stammt von hier.

experience_add_employment / experience_add_achievement

Einen Arbeitsplatz oder ein Beweisstück erfassen.

experience_update_employment / experience_update_achievement

Einen korrigieren. Feldgenau: Was Sie nicht nennen, bleibt erhalten.

experience_remove_employment / experience_remove_achievement

Einen löschen. Kein Rückgängig; ein Arbeitsplatz muss zuerst leer sein.

submit

Eine Stelle zur Moderation einreichen.

my_submissions

Die Einreichungen des Aufrufers mit Status.

jobs_add / jobs_edit

Moderator: Job erstellen / bearbeiten (403 ohne Rolle).

submissions_pending

Moderator: die Überprüfungswarteschlange.

submission_approve / submission_reject

Moderator: über eine Einreichung entscheiden.

Filter. search, market_fit und facets teilen sich dieselben Marktfilter-Parameter: remote, region, country, city, company, category, role, seniority, employment_type, english_level, exclude_skill, salary_min, visa, plus eine generische facets-Map ({"source": "greenhouse"}) für jedes andere Facet im Vokabular. Entdecken Sie gültige Werte mit dem facets-Tool – erfinden Sie sie nicht. In search ist skills ein Filter; in market_fit ist skills die gemessene Menge.

Geografie erweitert. region, country und city sind eine ODER-Gruppe: region: ["eu"] mit country: ["IT"] bedeutet „in Europa oder in Italien“ und gibt alles zurück, was die Region allein auch tun würde. Um ein einzelnes Land zu suchen, übergeben Sie country und lassen region weg. Die drei benennen ein einziges Konzept – wo –, daher liest sich die Auswahl von zwei Orten als „entweder“, was region: ["eu"] mit country: ["BR"] („Europa oder Brasilien“) nützlich macht. Es gibt kein UND zum Einschalten: _mode=and gilt nicht für Geografie.

Unbekannte Parameter werden ignoriert, nicht abgelehnt. Ein Filter-Schlüssel, den die API nicht erkennt, lässt die Anfrage nicht fehlschlagen, sondern erweitert sie. Solche Schlüssel erscheinen in der ignored-Liste des Ergebnisses, mit did_you_mean, wenn nur die grammatische Zahl falsch war. search meldet es zusammen mit total; facets und market_fit antworten mit einem einzelnen Objekt, also verpacken sie es als {data, ignored} – und nur dann, sodass die Form eines sauberen Aufrufs unberührt bleibt. Jede Zahl aus einem Ergebnis mit ignored beantwortet eine breitere Frage als die gestellte – wiederholen Sie den Versuch mit dem vorgeschlagenen Namen, bevor Sie es melden.

Beschreibungen. search liest den Agent-Endpunkt der API, sodass jeder Treffer bereits die vollständige Beschreibung der Stelle als Markdown enthält – ein Host kann eine Ergebnismenge prüfen, ohne pro Treffer einen job-Aufruf zu machen. Beschreibungen sind lang, also halten Sie limit bescheiden.

Die Beweisregel. Jede Leistung in der Bank protokolliert, wer sie behauptet hat. cv_import, stated_in_chat und manual bedeuten, dass der Kandidat es getan hat, und dürfen in einem CV zitiert werden; agent_inferred bedeutet, dass ein Modell es in den Datensatz gelesen hat, und darf nicht zitiert werden. cv_edit lehnt jede Behauptung über den Kandidaten ohne eine evidence_id ab, die auf eine zitierbare verweist – deshalb ist experience_list das Tool, das cv_edit überhaupt erst nutzbar macht.

Das Korrigieren einer Leistung verschiebt dieses Label nicht: Eine agent_inferred-Leistung bleibt unzitierbar, egal wie sie umformuliert wird. Der einzige Weg, sie zitierbar zu machen, ist, den Kandidaten zu fragen und dann aufzuzeichnen, was sie sagen, mit experience_add_achievement.

Entfernen ist endgültig – die Bank hat kein Rückgängig. Ein Arbeitsplatz muss geleert werden, bevor er gelöscht werden kann, denn das Löschen würde jede darunter liegende Leistung mitnehmen. Das Zusammenführen zweier Leistungen zu einer, unter Beibehaltung der Zahlen beider, erfolgt auf der Website.

Jedes Tool gibt die rohen API-data als JSON-Text zurück; ein API-Fehler wird zu einem isError-Ergebnis mit dem HTTP-Status (eine 401 fügt einen Auth-Hinweis hinzu).

Develop

npm install
npm test        # vitest: config, client (mock server), facets, tool dispatch
npm run build   # tsc → dist/

License

MIT – siehe LICENSE. Das freehire-Backend und die CLI sind ebenfalls MIT.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    A
    maintenance
    MCP 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.
    1,296
    2
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Searches LinkedIn, Indeed, USAJobs, and Google Jobs from the command line, deduplicates across sources, and optionally finds hiring manager emails; also runs as an MCP server for AI agents.
    MIT
  • F
    license
    -
    quality
    B
    maintenance
    Enables job search on LinkedIn through MCP tools, including keyword and location search, filtering by remote, easy apply, experience level, job type, and date, and retrieving job details.
  • A
    license
    -
    quality
    C
    maintenance
    Enables to interact with job application workflows through MCP, allowing users to find jobs, generate non-trivial applications with proof-maps, and build offline dashboards, all without auto-submitting.
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Search live startup jobs from Claude, Cursor, or ChatGPT via MCP. Free, no account needed.

  • GetJobzi MCP server for job search, application tracking, and career forecasting.

  • RemoteOK MCP — remote-work job board (tech-heavy), keyless.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/strelov1/freehire-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server