Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
JobJump is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Jobs, salaries, net pay and labour-market data for Germany from the JobJump job board.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http jobjump-mcp https://jobjump.net/mcp
# 2 — ask your agent for something these tools do
# search_jobs, get_job, get_salary_benchmark and 7 more
JobJump costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http jobjump-mcp https://jobjump.net/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
10 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Search live job postings advertised on JobJump, a German job board. Use this when the user wants to find open positions – by occupation, region, work mode, or contract type – or wants to know how many postings exist for a role in a place. Results are ordered by recency and by how well the title and region match the query; ordering is never influenced by what an employer pays JobJump, and the tool
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Occupation or job title in the user's own words, German or English. Gendered German forms are normalised, e.g. 'Erzieherin' also matches 'Erzieher'. |
| search_region | string | no | A place the user themselves named as a search criterion: a city, district or state in Germany. Free text. This is a search filter, not the user's location: never infer it, never fill it from device co |
| radius_km | integer | no | How far around the resolved region to search, in kilometres. Only applies when search_region resolves to a place with a known centre. 0 means the named place only. |
| remote_only | boolean | no | Restrict to postings the employer marked as fully remote. |
| home_office | boolean | no | Restrict to postings that allow working from home at least part of the time. |
| category | string | no | Occupational field, as one of JobJump's 17 fixed category slugs. |
| job_type | string | no | Contract or entry type, as one of JobJump's 7 fixed slugs, e.g. 'ausbildung' for an apprenticeship. |
| employment_type | string | no | Working-time model: 'vollzeit' (full time), 'teilzeit' (part time) or 'minijob'. |
| posted_within_days | integer | no | Only postings first published within this many days. |
| employer | string | no | Restrict to one employer: the employer_slug from get_top_employers, or the part after 'bei-' in a jobjump.net/jobs URL. Matches the employer's postings under every spelling JobJump groups under it, in |
| limit | integer | no | Maximum number of postings to return. The server may return fewer. |
| cursor | string | no | Opaque continuation token from a previous call's next_cursor. Pass it back unchanged with identical filters. Valid for 15 minutes. |
Fetch the full detail of one job posting on JobJump by its stable id or its jobjump.net slug. Use this after search_jobs when the user wants the responsibilities, requirements, benefits or deadline of a specific posting. Only currently published postings are returned; an expired or merged posting returns a not-found error rather than stale content. The job_id argument accepts either the UUID fr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | Either the UUID of a posting as returned by search_jobs, or the full slug from a jobjump.net/jobs/ URL. A slug always ends with that UUID. |
| detail | string | no | 'summary' truncates the employer description at 1200 characters; 'full' returns up to 8000. Use 'full' only when the user asked for the complete advert. |
Look up what an occupation pays in Germany, combining JobJump's own salary aggregate with official German salary statistics. Use it when the user asks what a role pays or how pay differs by seniority; to judge a specific offer, use evaluate_salary_offer instead. Give the occupation in the user's own words in job_title; the server normalises German gendered forms and resolves the title to a JobJu
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_title | string | yes | Occupation or job title in the user's own words, German or English. Gendered German forms are normalised, e.g. 'Erzieherin' resolves like 'Erzieher'. |
| search_region | string | no | A German region the user themselves named. Accepted so the response can say so, but not applied: both JobJump's aggregate and the official statistics are nationwide figures. Never infer it, never pass |
| seniority | string | no | Career stage to emphasise. 'entry' is JobJump's junior band, 'professional' its mid-level band, 'senior' its senior band, 'lead' its manager band. When omitted, all available bands are returned. |
| include_official_series | boolean | no | Include the official median and quartiles of monthly pay when a matching occupation exists. Set false to keep the response small when the user only asked about JobJump data. |
Report the labour-market situation in one German city (or the whole of Germany): official labour-market statistics alongside JobJump's own posting counts. Use it when the user asks how the job market looks somewhere, whether a region is hiring, or how unemployment there has moved. Give the place the user named in search_region; the server resolves it to one of about 250 covered German cities, or
| Parameter | Type | Required | Notes |
|---|---|---|---|
| search_region | string | yes | The German city the user named. Free text, e.g. 'Köln', 'Cologne', 'Leipzig'. This is a search criterion, not the user's location: never infer it and never pass coordinates. |
| include | array | no | Which series to return. Omit for all available series. Narrowing this is the cheapest way to keep the response small. Three extras are returned only when listed here: 'job_fairs' (upcoming job fairs a |
| months | integer | no | How many of the most recent monthly points to include for official time series. The latest value is always returned regardless. |
| days | integer | no | How many of the most recent daily points to include for JobJump's new-postings flow. |
Calculate German take-home pay from gross pay for the 2026 tax year, using the official German wage-tax calculation program for 2026 plus the 2026 statutory social-insurance rates. Use it when the user gives a gross salary and wants to know what arrives in their account, or wants to compare two offers net. The result breaks out wage tax, solidarity surcharge, church tax and each social-insurance c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| gross_amount_eur | number | yes | Gross pay in euros, before any deduction. |
| gross_period | string | yes | Whether gross_amount_eur is an annual or a monthly figure. |
| tax_class | integer | yes | German Steuerklasse. 1 single, 2 single parent, 3 married higher earner, 4 married equal earners, 5 married lower earner, 6 second and further jobs. |
| bundesland | string | yes | Federal state the person lives in, as its two-letter code. Sets the church-tax rate (8 percent in BY and BW, 9 percent elsewhere). For employees in statutory insurance it also sets the Saxony care-ins |
| church_tax | boolean | no | Whether the person is liable for church tax. |
| child_allowances | number | no | Kinderfreibetrag count (ZKF), in steps of 0.5. Each parent normally carries 0.5 per child; a single claimant carries 1.0 per child. This is not the number of children. |
| children_for_care_insurance | integer | no | Number of children under 25 for the care-insurance reduction. Counted separately from child_allowances because the two rules differ. Treated as 0 for employees when omitted; required for a civil serva |
| childless_over_23 | boolean | no | Whether the person is 23 or older and has no children, which adds the care-insurance surcharge. Treated as false for employees when omitted; required for a civil servant in statutory insurance. |
| health_insurance | string | no | Statutory (gesetzlich) or private (privat) health insurance. |
| statutory_additional_rate_percent | number | no | The health fund's Zusatzbeitrag in percent. 2.9 is the 2026 average and is used when the user does not know theirs. Only applies with statutory insurance. |
| private_health_premium_eur_per_month | number | no | Monthly private health premium (Krankenversicherung) in euros for basic cover, as on the insurer's contribution statement, greater than 0. Required when health_insurance is 'private'. For an employee, |
| private_care_premium_eur_per_month | number | no | Monthly private care premium (Pflegepflichtversicherung) in euros, as on the insurer's contribution statement. Only used when health_insurance is 'private'. For an employee the employer pays half of i |
| employment | string | no | 'employee' for employees in the statutory pension scheme. 'civil_servant' for Beamte: no pension or unemployment contributions. With private insurance the premium paid after Beihilfe is deducted; with |
| year | number | no | Tax year. Only 2026 is implemented. |
Map a job title in the user's own words to the occupation JobJump files it under, and optionally describe that occupation. Use it when the user's wording is unusual, colloquial, English or gendered and you want the canonical German occupation name, the other titles that mean the same job, or links to JobJump's salary, job-search and CV-template pages for it; and when the user asks what the job inv
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_title | string | yes | Occupation or job title in the user's own words, German or English. Gendered German forms are normalised, e.g. 'Erzieherin' resolves like 'Erzieher'. |
| include | array | no | Extra sections to add. Omit for the short result. 'profile' adds JobJump's occupation profile: description, FAQs, typical skills, requirements, benefits and tags, with pay figures and third-party stat |
Judge whether a gross salary offer in Germany is below, in or above the market, the way JobJump's offer check on jobjump.net does. Use it when the user names an offer amount for a role and asks whether it is fair, low or good, or how much to negotiate. Give the occupation in the user's own words in job_title, the gross amount in offer_amount_eur with offer_period, and the career stage in `se
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_title | string | yes | Occupation or job title of the offer in the user's own words, German or English. Gendered German forms are normalised, e.g. 'Erzieherin' resolves like 'Erzieher'. |
| offer_amount_eur | number | yes | The offered gross pay in euros, before any deduction. |
| offer_period | string | yes | Whether offer_amount_eur is an annual or a monthly figure. A monthly figure is multiplied by 12. |
| seniority | string | no | Career stage of the person receiving the offer. 'entry' is JobJump's junior band, 'professional' its mid-level band, 'senior' its senior band, 'lead' its manager band. |
| search_region | string | no | The German city where the job is, only if the user named one. Used solely for JobJump's city salary factor, which exists for 16 large cities; any other place gets no adjustment and the response says s |
Look up German public-sector pay from the published pay tables JobJump shows on jobjump.net: collective-agreement tables for public employees and for church, welfare and other public employers, and statutory civil-servant pay (Besoldung) for the federation and every state. Use it when the user names a pay table with a grade (Entgeltgruppe or Besoldungsgruppe) and asks what it pays, how pay rises w
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agreement | string | no | Key of the pay table. Municipal employees: 'tvoed-vka'; federal employees: 'tvoed-bund'; social and childcare services: 'tvoed-sue'; nursing in municipal hospitals: 'tvoed-p'; state employees: 'tv-l'; |
| grade | string | no | Pay grade as the user wrote it: an Entgeltgruppe such as 'E 13', 'E9a', 'S 8a' or 'P 7', or a Besoldungsgruppe such as 'A 13'. Required with agreement. |
| step | no | Official Stufe label (experience step) within the grade, e.g. 3 or '1a'. Omit to get every step of the grade. | |
| year | integer | no | Year of the pay table. Omit for the table in force today; pass a year for an earlier or an announced later table. |
| occupation | string | no | Occupation in the user's own words, to find which public-sector pay tables apply to it and the typical grade. Use instead of agreement and grade. |
List the employers with the most open postings on JobJump for an occupation, across Germany or within radius_km (default 25 km, at most 50 km) of one place. Use it when the user asks who is hiring for a role, which companies look for a job title, or where most openings for an occupation are. Counts are open postings on JobJump today, not company size or total hiring, and the list is ordered by t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| occupation | string | yes | Occupation or job title in the user's own words, preferably the German job title, e.g. 'Pflegefachkraft' for a nurse. Gendered German forms are normalised, e.g. 'Erzieherin' resolves like 'Erzieher'. |
| search_region | string | no | A place the user themselves named as a search criterion: a city, district or state in Germany. Free text. This is a search filter, not the user's location: never infer it, never fill it from device co |
| radius_km | integer | no | How far around the resolved region to search, in kilometres. Only applies when search_region resolves to a place with a known centre. 0 means the named place only. |
| limit | integer | no | Maximum number of employers to return, most open postings first. |
Get one employer's profile on JobJump: its headquarters, size and website, a short description of the company, and its open postings – how many, in which cities, for which job titles and with what pay. Use it when the user asks about a specific employer, e.g. what a company does, where it is based, how big it is, where it is hiring or what it pays for a job. JobJump covers Germany only. Pass the
| Parameter | Type | Required | Notes |
|---|---|---|---|
| employer | string | yes | The employer's slug: the employer_slug from get_top_employers, or the bei-{slug} part of a jobjump.net/jobs URL, e.g. 'rewe' or 'bei-rewe'. Never guess a slug; an unknown one returns NOT_FOUND. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install JobJump or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | minimal | capability blast radius (minimal) — client exposure if the model is manipulated | −0 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. minimal is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| search_jobs | no tags | |
| get_job | untrusted-input | untrusted-input: keyword "fetch" |
| get_salary_benchmark | no tags | |
| get_labor_market_snapshot | no tags | |
| calculate_net_salary | no tags | |
| get_occupation | no tags | |
| evaluate_salary_offer | no tags | |
| get_tariff_pay | no tags | |
| get_top_employers | no tags | |
| get_employer | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish JobJump can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.