job-radar
Provides tools for searching, retrieving, and updating job listings stored in a local SQLite database, including full-text search and job statistics.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@job-radarsearch for remote Python AI jobs in Vienna"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Job Radar
Sammelt Stellenanzeigen aus mehreren Quellen, filtert sie mit nachvollziehbaren Regeln, speichert sie in SQLite mit Volltextsuche und macht sie über eine REST-API, einen MCP-Server für LLM-Agenten und RAG-Fragen nutzbar.
Der Job-Radar läuft seit September 2026 produktiv als n8n-Workflow: zweimal täglich, mit LLM-Auswertung jeder Anzeige und Zustellung als Telegram-Karte. Dieses Repository ist sein Kern als Python-Service – dieselben Regeln, aber getestet, mit SQL-Analysen, API, MCP, Docker und CI.
flowchart LR
A[Adzuna API] --> R
B[Arbeitnow API] --> R
C[JSearch · RapidAPI] --> R
R[Regeln<br/>classify.py] --> S[(SQLite + FTS5)]
S --> API[REST-API<br/>FastAPI]
S --> MCP[MCP-Server<br/>für LLM-Agenten]
S --> RAG[RAG<br/>Retrieval + LLM]
S --> SQL[SQL-Analysen]Was drin ist
Modul | Aufgabe |
| Adzuna, Arbeitnow, JSearch. Fällt eine Quelle aus, laufen die anderen weiter. |
| Regeln: vor Ort nur Wien, sonst nur voll remote (hybrid zählt nicht); gesuchte AI-/LLM-Rollen (nur im Titel), Seniorität, Wochenstunden (Limit 20 h für Studierende in Österreich), Gehalt brutto/netto mit 14 Gehältern, Hinweise zu Sprache und Arbeitserlaubnis. |
| SQLite, Deduplizierung über Quellen hinweg (gleicher Titel + Firma), FTS5-Index mit BM25-Ranking, Statusverlauf. |
| SQL: Median-Gehalt per Window Functions, Skill-Nachfrage, Top-Firmen, Bewerbungs-Funnel per JOIN. |
| FastAPI: |
| MCP-Tools |
| Retrieval über FTS5, Antwort nur aus den gefundenen Anzeigen mit Quellen |
Related MCP server: Naitei MCP
Schnellstart
python -m venv .venv
.venv\Scripts\activate # Windows; unter Linux/macOS: source .venv/bin/activate
pip install -e ".[dev]"
jobradar import data/sample_jobs.json # fiktive Beispieldaten, keine API-Schlüssel nötig
jobradar list
jobradar search "RAG Python"
jobradar stats
jobradar serve # http://localhost:8000/docsEchte Daten: Schlüssel als Umgebungsvariablen setzen (siehe .env.example) und jobradar fetch ausführen.
Fragen an die eigene Datenbank: mit GEMINI_API_KEY z. B.
jobradar ask "Welche Teilzeitstellen mit Python gibt es in Wien?"
Als MCP-Server in Claude Code
claude mcp add job-radar -- jobradar --db C:/pfad/zu/jobradar.db mcpDanach kann Claude selbst suchen („Welche AI-Jobs in Wien sind neu?“), Statistiken abrufen und Stellen als
applied markieren.
Docker
docker build -t job-radar .
docker run -p 8000:8000 -v jobradar-data:/data job-radarTests
pytest # Regeln, Speicherung, SQL-Analysen, Quellen (gemockt), API, RAG, MCP
ruff check .Die CI (GitHub Actions) führt Linting und Tests bei jedem Push aus und baut das Docker-Image.
Designentscheidungen
Regeln statt LLM beim Filtern. Günstig, schnell und jede Entscheidung ist erklärbar. Das LLM kommt erst bei der Auswertung der wenigen relevanten Anzeigen zum Einsatz.
FTS5 mit BM25 statt Vektordatenbank. Für einige tausend Anzeigen reicht Volltextsuche, ohne zusätzliche Infrastruktur. Embeddings wären der nächste Schritt, sobald semantische Suche gebraucht wird.
LLM als austauschbare Funktion.
prompt -> text: Tests laufen ohne API-Schlüssel, der Anbieter lässt sich wechseln.Fiktive Beispieldaten. Im Repository liegen keine fremden Anzeigentexte.
Struktur
src/jobradar/ sources · classify · store · analytics · pipeline · rag · api · mcp_server · cli
tests/ pytest, eine Datei pro Modul
data/ sample_jobs.json (fiktiv); die Datenbank selbst wird nicht eingechecktThis server cannot be deployed
Maintenance
Related MCP Connectors
Manage job applications — jobs, companies, boards, notes, and profile — from your AI client.
Analyze job listings against your resume, track applications, and generate cover letters.
Database for your AI agent. Turn its output into data, docs, skills, and apps you can actually use.
- HutchDBOAuthcom.hutchdb
Store, query, and update structured data from any AI agent
Related MCP Servers
- FlicenseAqualityCmaintenanceEnables tracking job applications through a pipeline, scheduling follow-ups, and summarizing job search progress via natural language.7-
- FlicenseNot gradedqualityCmaintenanceEnables job-search application tracking through a private application board, managing application facts, stage history, and interview prep documents while leaving summarization and decision-making to the connected agent.-
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to manage a personal job application tracker, allowing users to list, add, update, and delete job applications with company, role, and status details through natural language.-
- AlicenseNot gradedqualityBmaintenanceEnables an MCP-capable coding agent to run a local-first job search: recording verified opportunities in a private SQLite tracker, tracking follow-ups and outcomes, and preparing evidence-based resumes, application answers, and outreach drafts. It keeps all personal data on the user's machine and stops before submitting applications, uploading documents, or contacting anyone.1MIT