The search returns summaries, and posting bodies are large — so results are held for an hour and a second call pulls the one you asked about. That is the difference between "show me fraud roles near Frankfurt" being one dump of text and being a conversation. Supply either an index or a query to `get_job_details`, not both; if you pass both, the index wins. The Redis cache mentioned in the README is a future item, not something running today.
A job-search server for Stepstone.de. It runs several keyword searches concurrently, deduplicates the results, and keeps them for an hour so a follow-up question can fetch one posting in full.
- `search_jobs` takes an array of search phrases and queries them concurrently, dropping duplicate postings
- The same call takes a German 5-digit postal code and a radius between 1 and 100 kilometres — defaults are 40210 and 5
- Results come back with title, company, description snippet and link, grouped per search term, under a session ID
- `get_job_details` fetches one stored posting and enriches it with the full description and metadata
- It accepts either `job_index` — 1-based into the last session's results — or `job_query` as a fuzzy match, with `session_id` to target an older session
Python 3.8 or higher and internet access to Stepstone.de. Install from a clone with `pip install -r requirements.txt` and point your client at `stepstone_server.py`, or run the Docker image, or install through Smithery. LOG_LEVEL, REQUEST_TIMEOUT (default 10 seconds), USER_AGENT and MAX_RETRIES (default 3) are the tuning knobs.
One command — npx -y @smithery/cli install @kdkiss/mcp-stepstone --client claude
