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.
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI job search MCP — fact-checked jobs, application tracker, alerts. ChatGPT, Claude, Cursor.
Unified jobs search over official feeds + ATS boards (USAJOBS, Adzuna, Muse, Greenhouse, Lever...)
Search AI-native jobs, inspect application forms, and fetch free interview-prep resources.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/mith-blip/jobhunt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server