jobhunt_mcp
jobhunt_mcp
Ein persönlicher MCP-Server, der Claude zu deinem Operationsmanager für die Jobsuche macht:
Suche Live-Stellenausschreibungen auf LinkedIn, Indeed, ZipRecruiter, Glassdoor (JSearch API) plus Adzuna
Verfolge jede Bewerbung in einem Google Sheet (Status, Priorität, Notizen)
Fasse nach nach Plan – überfällige Erinnerungen tauchen automatisch auf
Netzwerke – Kontakte pro Unternehmen führen und in die Vorbereitung einbeziehen
Passe an – ein Tool bündelt die Stellenbeschreibung + deinen Master-Lebenslauf + Kontakte, damit Claude einen gezielten Lebenslauf und ein Anschreiben erstellen kann, die direkt in Google Drive gespeichert werden
Von Haus aus übermittelt er nie automatisch Bewerbungen. Automatisierte Einreichungs-Bots verstoßen gegen die Nutzungsbedingungen der Jobbörsen und werden markiert. Das Tool prepare_application_package bringt dich stattdessen in einem Schritt zu „Prüfen und Absenden“.
Voraussetzungen
Python 3.10+
Ein MCP-Client – im Folgenden wird Claude Desktop angenommen, aber jeder MCP-kompatible Client funktioniert.
Ein Google-Konto (für den Sheets-Tracker + Drive-Lebenslauf-Speicher).
(Optional) kostenlose RapidAPI- und/oder Adzuna-Konten für die Live-Jobsuche.
Related MCP server: cv-job-assistant
Setup
Das Setup: ein Google-Dienstkonto erstellen, ein Sheet + Drive-Ordner + Lebenslauf damit teilen, (optional) Such-API-Schlüssel besorgen und dann Claude Desktop auf server.py zeigen lassen. Kalkuliere etwa 10 Minuten für die Google-Schritte.
1. Google-Dienstkonto (~5 Minuten)
Gehe zu https://console.cloud.google.com → erstelle ein Projekt (z. B.
jobhunt).Aktiviere die Google Sheets API und die Google Drive API (APIs & Dienste → Bibliothek).
APIs & Dienste → Anmeldedaten → Anmeldedaten erstellen → Dienstkonto. Ein beliebiger Name ist in Ordnung; optionale Schritte überspringen.
Öffne das Dienstkonto → Schlüssel → Neuen Schlüssel hinzufügen → JSON. Speichere die Datei an einem sicheren Ort, z. B.
~/.config/jobhunt/service-account.json.Kopiere die E-Mail-Adresse des Dienstkontos (endet auf
.iam.gserviceaccount.com) – du wirst als Nächstes Dinge damit teilen.
2. Google Sheet (die Tracker-Datenbank)
Erstelle ein leeres Google Sheet, z. B. mit dem Namen „Job Hunt Tracker“.
Teile es mit der Dienstkonto-E-Mail als Bearbeiter.
Übernimm die Tabellen-ID aus der URL:
docs.google.com/spreadsheets/d/<THIS_PART>/edit.
Der Server erstellt die Tabs Jobs, Contacts und Activity beim ersten Verwenden automatisch mit Kopfzeilen.
3. Google Drive-Ordner + Master-Lebenslauf
Erstelle einen Drive-Ordner, z. B. „Job Applications“; teile ihn als Bearbeiter mit dem Dienstkonto. Kopiere seine Ordner-ID aus der URL.
Lege deinen Master-Lebenslauf als Google Doc in Drive ab (die Version, die alles enthält, was du je gemacht hast – das Anpassen kürzt sie). Teile ihn mit dem Dienstkonto. Kopiere seine Datei-ID.
4. Such-API-Schlüssel (optional)
JSearch (empfohlen – durchsucht alle Börsen auf einmal): kostenlos unter https://rapidapi.com → nach „JSearch“ suchen → den Basic-Tarif (kostenlos) abonnieren → deinen RapidAPI-Schlüssel in RAPIDAPI_KEY kopieren.
Adzuna: kostenlos unter https://developer.adzuna.com → registrieren → deine App-ID und deinen App-Key in ADZUNA_APP_ID bzw. ADZUNA_APP_KEY kopieren.
Überspringe diese, wenn du Stellen lieber manuell mit jobhunt_add_job einfügst.
5. Installieren und konfigurieren
pip install -r requirements.txtKopiere claude_desktop_config.example.json in deine Claude-Desktop-Konfiguration (claude_desktop_config.json) und trage dann den args-Pfad zu server.py, den Pfad für GOOGLE_SERVICE_ACCOUNT_FILE sowie die IDs/Schlüssel aus den obigen Schritten ein.
Speicherorte der Konfigurationsdatei:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json(fürcommand"python"verwenden und Pfade mit doppeltem Backslash, z. B.C:\\Users\\you\\jobhunt-mcp\\server.py)Linux:
~/.config/Claude/claude_desktop_config.json
Starte Claude Desktop neu (vollständig beenden – unter Windows/macOS im Infobereich bzw. in der Menüleiste prüfen). Die jobhunt-Tools erscheinen, sobald der Server startet.
Umgebungsvariablen
Alles wird über den env-Block der Claude-Desktop-Konfiguration konfiguriert:
Variable | Erforderlich | Beschreibung |
| ✅ | Absoluter Pfad zu deinem Dienstkonto-JSON-Schlüssel |
| ✅ | ID des Tracker-Google-Sheets (mit dem Dienstkonto geteilt) |
| ✅ | ID des Drive-Ordners für gespeicherte Dokumente |
| ✅ | ID deines Master-Lebenslauf-Google-Docs |
| optional | RapidAPI-Schlüssel für JSearch ( |
| optional | Adzuna-App-ID für |
| optional | Adzuna-App-Key für |
| optional | Adzuna-Ländercode (Standard |
6. Prüfen, ob es funktioniert
Teste den Server jederzeit eigenständig mit dem MCP Inspector (kein Claude Desktop nötig):
npx @modelcontextprotocol/inspector python3 server.pyVersuche dann jobhunt_get_master_resume (bestätigt Drive-Zugriff) und jobhunt_list_jobs (bestätigt Sheets-Zugriff). Wenn beide ohne Authentifizierungsfehler zurückkommen, bist du startklar.
Werkzeuge
Tool | Was es tut |
| Aggregierte Suche über LinkedIn/Indeed/ZipRecruiter/Glassdoor via JSearch (RapidAPI) |
| Live-Stellenausschreibungen durchsuchen (Adzuna) |
| Eine Stelle im Tracker speichern (die vollständige Beschreibung einfügen!) |
| Pipeline durchsuchen / vollständigen Datensatz anzeigen |
| Durchlaufen von entdeckt → in Vorbereitung → beworben → im Gespräch → Angebot |
| Interviews, E-Mails, Notizen protokollieren; Folgeaktionen einplanen ( |
| Überfällige und anstehende Folgeaktionen anzeigen |
| Networking-CRM pro Unternehmen |
| Deinen Master-Lebenslauf aus Drive abrufen |
| Angepasste Lebensläufe/Anschreiben als Google Docs in Drive speichern |
| Alles, was zum Anpassen und Bewerben nötig ist, in einem einzigen Aufruf |
Beispiel-Prompts zum Ausprobieren
„Durchsuche alle Börsen nach Stellen als SOC-Detection-Ingenieur in der Nähe von Dallas, die diese Woche veröffentlicht wurden, und speichere die drei am besten passenden.“
„Erstelle ein Bewerbungspaket für die Stelle a1b2c3d4, passe meinen Lebenslauf entsprechend an und speichere beide Dokumente.“
„Welche Folgeaktionen sind bei mir überfällig?“
„Ich habe gerade das Telefoninterview mit Acme beendet – protokolliere es und erinnere mich daran, morgen eine Dankesnachricht zu senden.“
Sicherheitshinweise
Der JSON-Schlüssel des Dienstkontos ist eine Zugangsberechtigung – halte ihn aus Git und freigegebenen Ordnern heraus.
Das Dienstkonto kann nur auf Dateien zugreifen, die du ausdrücklich mit ihm geteilt hast.
Behandle Stellenbeschreibungen aus dem Web als nicht vertrauenswürdigen Inhalt; der Server speichert sie als reine Daten.
This server cannot be deployed
Maintenance
Related MCP Connectors
Job search tracker for Claude and ChatGPT: applications, interviews, follow-ups, company watch.
1- jobwyreOAuthapp.jobwyre
Track job applications on a board: let Claude or ChatGPT read and update jobs, interviews, notes.
Find jobs, then get a tailored résumé and cover letter for each one. Tracks your applications too.
1Analyze job listings against your resume, track applications, and generate cover letters.
Related MCP Servers
- FlicenseAqualityDmaintenanceTransforms 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-
- FlicenseNot gradedqualityCmaintenanceEnables Claude to parse CVs, search job boards (Remotive, Arbeitnow, Adzuna, Greenhouse/Lever), tailor resumes and cover letters, and prepare application packages with direct apply links—without ever auto-submitting. It runs 100% locally and free, storing jobs and applications as JSON files.-
- FlicenseAqualityBmaintenanceEnables managing a job search through natural language: tracking applications, discovery leads, interview prep, and resume generation. Connects to Claude via MCP to read and update local Excel files and documents.35-
- FlicenseNot gradedqualityBmaintenanceEnables Claude Desktop to manage a job search end-to-end: find and score job listings, tailor resumes, generate application messages, and track application history, while leaving final external actions to the user.-