Skip to main content
Glama
Servation

job-search-mcp

by Servation

job-search-mcp

Ein persönlicher Jobsuch-Assistent für Claude Desktop. Du bittest Claude, Jobs zu finden; es durchsucht die echten Jobbörsen, bewertet jeden Job mit 0–100 Punkten, wie gut er zu dir passt, und zeigt sie auf einem sortierten Board, das du mit einem Klick durchgehen kannst. Alles läuft lokal — keine API-Schlüssel, keine Konten erforderlich.

Es ist eine MCP-App: ein kleiner Server, mit dem Claude Desktop spricht, plus ein Inline-Board, das direkt im Chat gerendert wird.

Umfang: Es ist auf US-Softwareentwicklungsrollen abgestimmt (die eingebauten Quellen und Rollenfilter zielen auf US-Tech-Arbeitgeber). Andere Bereiche oder Regionen liefern spärliche Ergebnisse.

Funktioniert in: Gebaut und getestet für Claude Desktop. Es sollte auch in anderen MCP-Clients funktionieren, die sowohl einen lokalen (stdio) Server ausführen als auch MCP-App-Oberflächen rendern, wie z. B. VS Code (Copilot), Cursor oder Goose (ungtestet). Nur-remote-Clients (ChatGPT, Claude im Web/Mobil) können keinen lokalen Server starten, daher funktionieren sie nicht.

Das sortierte Job-Board in Claude Desktop – jeder Job mit 0–100 Punkten für Passung, mit Applied/Skip-Buttons


Was es tut

  • Durchsucht echte Jobbörsen — LinkedIn plus 8 ATS/Jobquellen (Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Hacker News, RemoteOK, Remotive), mit deinen Zielrollen und deinem Standort.

  • Bewertet jeden Job für dich — Claude liest die vollständige Beschreibung und gibt eine Passungsbewertung von 0–100 mit einer einzeiligen Begründung, unter Berücksichtigung deiner Fähigkeiten, Berufsjahre, Senioritäts-Passung und der Rolle.

  • Ermöglicht schnelles Durchgehen — Apply / Skip auf jeder Karte oder in großen Mengen („alles unter 60 verwerfen“).

  • Merkt sich Dinge — führt eine laufende Shortlist, einen Tracker für Bewerbungen und zeigt dir denselben Job nicht zweimal (für 6 Monate).


Related MCP server: Jobless MCP

Einrichtung

1. Erzähle Claude Desktop davon. Öffne deine Konfigurationsdatei:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Füge dies unter "mcpServers" hinzu — npx holt das veröffentlichte Paket für dich, kein Klonen oder Bauen erforderlich:

{
  "mcpServers": {
    "job-search": {
      "command": "npx",
      "args": ["-y", "@servation/job-search-mcp"]
    }
  }
}

2. Beende Claude Desktop vollständig und starte es neu (unter Windows beende es über das System-Tray — das Schließen des Fensters reicht nicht). Das war's.

npm install
npm run build

Dann weise die Konfiguration stattdessen auf dist/main.js in diesem Ordner:

{
  "mcpServers": {
    "job-search": {
      "command": "node",
      "args": ["D:\\job-search-mcp\\dist\\main.js"]
    }
  }
}

So verwendest du es

Sprich einfach mit Claude. Zum Beispiel:

  • „Profil speichern“ — füge zuerst deinen Lebenslauf ein; Claude extrahiert deine Fähigkeiten, Rollen, Jahre und deinen Standort, damit Suchen und Bewertungen auf dich zugeschnitten sind.

  • „Finde Backend-Engineer-Jobs in Kalifornien, Senior-Level, diese Woche gepostet.“

  • „Finde Jobs mit wenigen Bewerbern“ — fügt den LinkedIn-Filter für frühe Bewerber hinzu.

  • „Alles unter 60 verwerfen.“

  • „Zeig, worauf ich mich beworben habe.“

  • „Bewerte das Board neu.“

Ein typischer erster Durchlauf: Profil speichern → „Jobs finden“ → Claude bewertet sie und zeigt das sortierte Board → du wendest dich an oder überspringst.


Das Board

Das Board ist eine laufende Shortlist. Ein Job bleibt darauf, bis du Apply (verschiebt ihn in deinen Tracker) oder Skip (für immer ausgeblendet) wählst. Neue Suchen überspringen automatisch Jobs, die bereits auf dem Board, in deinem Tracker, verworfen oder in den letzten 6 Monaten angezeigt wurden — so siehst du nie dieselbe Auflistung zweimal hintereinander.

Klicke Applied oder Skip auf einer Karte oder bitte Claude darum. Im Widget durchgegangen, bleibt es erhalten.


Tools (zur Referenz)

Du rufst sie selten beim Namen auf — Claude wählt das richtige aus — aber hier ist, was unter der Haube steckt:

Tool

Was es tut

find_jobs

Durchsucht die Börsen nach deinen Rollen/Standort (mit optionalen Filtern: Seniorität, Typ, Aktualität, Remote, Gehalt, Bewerber, Quelle).

evaluate_jobs

Claude bewertet die gefundenen Jobs mit 0–100 für Passung (läuft automatisch nach einer Suche).

show_board

Zeigt das sortierte Board (oder deinen saved-Tracker).

set_status

Apply / Skip / einen einzelnen Job speichern (auch die Karten-Buttons).

bulk_status

Viele auf einmal nach Punktzahl oder Quelle durchgehen, z. B. alles unter 60 verwerfen.

whats_promising

Listet das aktuelle Board als Text auf (alle bewerteten Jobs + alles noch Unbewertete).

review_saved

Dein Tracker — Jobs, die du gespeichert oder auf die du dich beworben hast.

rescore_board

Bewertet jeden Job auf dem Board von Grund auf neu.

clear_jobs

Aufräumen: unbewertete Reste oder das gesamte Board löschen (berührt nie Applied/Dismissed).

save_profile

Speichert dein Lebenslaufprofil (steuert Suche + Bewertung).


Wo deine Daten leben

Eine JSON-Datei auf deinem Rechner — keine Cloud, nichts wird irgendwohin gesendet außer an die Jobbörsen, die du durchsuchst:

  • Installiert: ~/.job-search-mcp/jobs.json

  • Aus dem Quellcode ausgeführt: ./data/jobs.json

  • Überschreiben mit der Umgebungsvariable JOB_SEARCH_MCP_DATA.


Optional: LinkedIn Premium-Modus

Standardmäßig verwendet LinkedIn seine öffentlichen Gast-Endpunkte: kein Login und kein Konto-Login-Risiko, und du erhältst bereits vollständige Stellenbeschreibungen. Beachte, dass automatisierter Zugriff weiterhin von deiner eigenen IP aus läuft und gegen die Nutzungsvereinbarung von LinkedIn verstößt, selbst im Gastmodus, also verwende es nach eigenem Ermessen. Wenn du reichhaltigere/Premium-Daten möchtest, kannst du dein angemeldetes Konto verwenden, indem du einen env-Block zur Serverkonfiguration hinzufügst:

"job-search": {
  "command": "npx",
  "args": ["-y", "@servation/job-search-mcp"],
  "env": {
    "LINKEDIN_LI_AT": "<your li_at cookie>",
    "LINKEDIN_JSESSIONID": "ajax:1234567890123456789"
  }
}

Hole beide Cookies aus einem angemeldeten linkedin.com-Tab → DevTools → Application → Cookies.

⚠️ Achtung: Dies verstößt gegen die Nutzungsbedingungen von LinkedIn und kann dazu führen, dass dein Konto markiert oder eingeschränkt wird. Die Cookies laufen außerdem etwa monatlich ab, und die internen Endpunkte von LinkedIn ändern sich ohne Vorankündigung. Wenn etwas fehlschlägt, fällt es automatisch in den Gastmodus zurück. Lasse den env-Block weg, um vollständig sicher zu bleiben (nur Gast).


So funktioniert die Bewertung

Claude (das Host-Modell) führt die Bewertung direkt durch — es liest jede Beschreibung und beurteilt die Passung, was gut kalibriert ist. Eine deterministische Formel (computeMatchScore in scoring.ts) wird als Fallback für alle bereitgehalten, die ein schwächeres lokales Modell verwenden, das dazu neigt, alles zu überbewerten; sie ist standardmäßig nicht aktiv.

Entwicklung

npm run typecheck    # type-check UI + server + harness
npm run build        # build the UI bundle (vite single-file) + compile the server (tsc)
npm run serve:stdio  # run the server from source (tsx) for local testing
npm run harness      # work on the review UI without Claude Desktop (see harness/)
npm run canary       # check every job source is still returning postings

Der Server ist nur stdio (main.tsserver.ts); die UI ist eine React-App, die zu einer einzigen eingebetteten HTML-Datei gebündelt wird (src/mcp-app.tsxdist/mcp-app.html), die der Server als ui://-Ressource bereitstellt.

Wenn du an der UI arbeitest, verwende harness/. Es ist ein lokaler Ersatz für Claude Desktop, der das Widget gegen einen synthetischen Job-Store und eine echte ui/*-Brücke rendert. Das Öffnen von dist/mcp-app.html in einem Browser-Tab bringt dir nur „Connecting…“, und die Dinge, die am wahrscheinlichsten kaputtgehen (Link-Öffnung, Theming, das Post-Mount-Refresh), sind alle host-vermittelt, sodass sie nur mit einem Host am anderen Ende auftauchen.

Wenn eine Jobquelle ausfällt, sagt dir npm run canary, welche. Firmen-Slugs verrotten oft, daher gehört die Lösung normalerweise in das entfernte Slug-Register, das updateCompanyDirectoriesFromRegistry() zur Laufzeit neu liest, und nicht in ein neues Release.

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
    Not graded
    quality
    A
    maintenance
    Enables job search and scraping across multiple job boards (LinkedIn, Indeed, Glassdoor, etc.) with advanced filtering, directly from Claude Desktop or other MCP clients.
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Personalized job search inside Claude. Get ranked job matches based on your actual skills, not keywords.
    2
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Transforms Claude into an AI job-hunting assistant that searches remote job boards, scores roles against your CV, generates tailored cover letters, and logs everything to a Notion tracker.
    11
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching and evaluating job postings from LinkedIn and freehire.me directly through Claude Desktop. Provides tools to search jobs, fetch full posting details, and assess candidate fit using eligibility scans and a scoring rubric.
    MIT

View all related MCP servers

Related MCP Connectors

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/Servation/job-search-mcp'

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