Jobs and apprenticeships with accommodation in Europe: pay, housing, how to apply. Read-only.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Send an application for one or more jobs (max 10) directly to the employers by email, via Job & Stay. Free. The employer replies directly to the applicant. Only for jobs where search_jobs shows apply via apply_job. Only use with the applicant's explicit consent (consent must be true). Check apply.requirements of the job (get_job): skilled jobs need training_completed, years_experience and last_job; apprenticeships need school, age_16_or_older and a motivation message. Applications that do not meet the employer's minimum are not sent.
true only if the applicant agreed that Job & Stay forwards these details to the employer(s) and stores them for 6 months
ids from search_jobs, e.g. ["f26","f31"]
message to the employer, in German or English for CH/AT/DE, Spanish or English for ES, English elsewhere
languages with level, at least one
eu = EU/EEA/Swiss citizen, permit = has residence and work permit, visa = would need a visa (cannot be forwarded)
link to the applicant's CV (PDF or online profile), required for skilled jobs, optional for apprenticeships
apprenticeships (required): pflicht = compulsory school, mittel = intermediate school certificate, abi = A-levels / Matura, schule = still at school, andere = other
if applying as a couple: who and which job
e.g. one season, longer, permanently
language of the confirmation email to the applicant
skilled jobs (required unless years_experience is 0)
start date YYYY-MM-DD (required for skilled jobs, optional for apprenticeships)
apprenticeships (required): applicant is at least 16
skilled jobs (required): years of experience in this job. 0 = none, 0.5 = under 1 year, 3 = 3-4 years, 5 = 5 or more
skilled jobs (required): has the applicant completed vocational training in this profession?
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http jobandstay https://www.jobandstay.com/mcp/
Send an application for one or more jobs (max 10) directly to the employers by email, via Job & Stay. Free. The employer replies directly to the applicant. Only for jobs where search_jobs shows apply via apply_job. Only use with the applicant's explicit consent (consent must be true). Check apply.requirements of the job (get_job): skilled jobs need training_completed, years_experience and last_job; apprenticeships need school, age_16_or_older and a motivation message. Applications that do not meet the employer's minimum are not sent.
| Argument | Type | Description |
|---|---|---|
| email* | string | |
| phone | string | |
| cv_url | string | link to the applicant's CV (PDF or online profile), required for skilled jobs, optional for apprenticeships |
| school | string | apprenticeships (required): pflicht = compulsory school, mittel = intermediate school certificate, abi = A-levels / Matura, schule = still at school, andere = other |
| consent* | boolean | true only if the applicant agreed that Job & Stay forwards these details to the employer(s) and stores them for 6 months |
| job_ids* | array | ids from search_jobs, e.g. ["f26","f31"] |
| message* | string | message to the employer, in German or English for CH/AT/DE, Spanish or English for ES, English elsewhere |
| partner | string | if applying as a couple: who and which job |
| duration | string | e.g. one season, longer, permanently |
| language | string | language of the confirmation email to the applicant |
| last_job | object | skilled jobs (required unless years_experience is 0) |
| home_town | string | |
| languages* | array | languages with level, at least one |
| last_name* | string | |
| experience | string | |
| first_name* | string | |
| work_permit* | string | eu = EU/EEA/Swiss citizen, permit = has residence and work permit, visa = would need a visa (cannot be forwarded) |
| available_from | string | start date YYYY-MM-DD (required for skilled jobs, optional for apprenticeships) |
| age_16_or_older | boolean | apprenticeships (required): applicant is at least 16 |
| years_experience | string | skilled jobs (required): years of experience in this job. 0 = none, 0.5 = under 1 year, 3 = 3-4 years, 5 = 5 or more |
| training_completed | boolean | skilled jobs (required): has the applicant completed vocational training in this profession? |
{
"type": "object",
"required": [
"job_ids",
"first_name",
"last_name",
"email",
"languages",
"work_permit",
"message",
"consent"
],
"properties": {
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"cv_url": {
"type": "string",
"description": "link to the applicant's CV (PDF or online profile), required for skilled jobs, optional for apprenticeships"
},
"school": {
"enum": [
"pflicht",
"mittel",
"abi",
"schule",
"andere"
],
"type": "string",
"description": "apprenticeships (required): pflicht = compulsory school, mittel = intermediate school certificate, abi = A-levels / Matura, schule = still at school, andere = other"
},
"consent": {
"type": "boolean",
"description": "true only if the applicant agreed that Job & Stay forwards these details to the employer(s) and stores them for 6 months"
},
"job_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "ids from search_jobs, e.g. [\"f26\",\"f31\"]"
},
"message": {
"type": "string",
"description": "message to the employer, in German or English for CH/AT/DE, Spanish or English for ES, English elsewhere"
},
"partner": {
"type": "string",
"description": "if applying as a couple: who and which job"
},
"duration": {
"type": "string",
"description": "e.g. one season, longer, permanently"
},
"language": {
"enum": [
"de",
"en",
"fr",
"es",
"it",
"pl",
"cs",
"hu",
"ro",
"pt"
],
"type": "string",
"description": "language of the confirmation email to the applicant"
},
"last_job": {
"type": "object",
"properties": {
"place": {
"type": "string"
},
"duration": {
"type": "string",
"description": "e.g. 8 months"
},
"employer": {
"type": "string"
}
},
"description": "skilled jobs (required unless years_experience is 0)"
},
"home_town": {
"type": "string"
},
"languages": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"level"
],
"properties": {
"code": {
"type": "string",
"description": "ISO 639-1, e.g. de, en, es, it, fr"
},
"level": {
"enum": [
"native",
"fluent",
"good",
"basic"
],
"type": "string",
"description": "native; fluent = C1-C2; good = B1-B2; basic = A1-A2"
}
}
},
"description": "languages with level, at least one"
},
"last_name": {
"type": "string"
},
"experience": {
"type": "string"
},
"first_name": {
"type": "string"
},
"work_permit": {
"enum": [
"eu",
"permit",
"visa"
],
"type": "string",
"description": "eu = EU/EEA/Swiss citizen, permit = has residence and work permit, visa = would need a visa (cannot be forwarded)"
},
"available_from": {
"type": "string",
"description": "start date YYYY-MM-DD (required for skilled jobs, optional for apprenticeships)"
},
"age_16_or_older": {
"type": "boolean",
"description": "apprenticeships (required): applicant is at least 16"
},
"years_experience": {
"enum": [
"0",
"0.5",
"1",
"2",
"3",
"5"
],
"type": "string",
"description": "skilled jobs (required): years of experience in this job. 0 = none, 0.5 = under 1 year, 3 = 3-4 years, 5 = 5 or more"
},
"training_completed": {
"type": "boolean",
"description": "skilled jobs (required): has the applicant completed vocational training in this profession?"
}
}
}Get one job listing by id (e.g. "f26") with full description, pay, housing, meals, languages, duration, how to apply (free, directly to the employer), source of the original ad and links to the job page in de/en/fr/es/it/pl/cs/hu/ro/pt.
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| language | string |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"language": {
"enum": [
"de",
"en",
"fr",
"es",
"it",
"da",
"nl",
"sv",
"no",
"nb",
"fi",
"pl",
"pt",
"el",
"is",
"cs",
"hu",
"ro"
],
"type": "string"
}
}
}Verified minimum pay ranges (collective agreements and statutory minimum wages, with source and date) for hospitality work in a European country, plus the median pay of current Job & Stay listings there. Use when someone asks "what will I earn as a cook/waiter/receptionist in Switzerland/Austria/Italy/Spain...". Activities: kitchen, service, reception, housekeeping, mountain hut (free text accepted in many languages).
| Argument | Type | Description |
|---|---|---|
| country* | string | ISO country code or country name, e.g. CH, Austria, España |
| activity | string | e.g. cook, waiter, reception, housekeeping, mountain hut, Koch, kok, cuoco |
{
"type": "object",
"required": [
"country"
],
"properties": {
"country": {
"type": "string",
"description": "ISO country code or country name, e.g. CH, Austria, España"
},
"activity": {
"type": "string",
"description": "e.g. cook, waiter, reception, housekeeping, mountain hut, Koch, kok, cuoco"
}
}
}Search current jobs with accommodation / staff housing in Europe (Switzerland, Austria, Italy/South Tyrol, Spain incl. Costa del Sol and Canary Islands, Germany, Finland/Lapland, Greece, Ireland, Iceland, Denmark, Norway, Netherlands, Romania). Free for job seekers, apply directly to the employer, no agency, no fees. Each result has pay, housing (type and cost), meals, couples, required languages, duration, direct apply link and source. Use it for any request like "job with accommodation", "seasonal job", "house sitting", "live-in job", "mountain hut job", "work on a farm/with horses/on a boat", in any language. Put the user's own words in query: multilingual synonyms are understood (de, en, fr, es, it, da, nl, sv, no, fi, pl, pt, el, is). All filters optional. Keywords this server answers in many languages: jobs with accommodation, job with housing, staff housing, live-in job, seasonal job, house sitting, house sitter, homesitter, caretaker, mountain hut job, farm job, horse groom, yacht crew, sailing instructor, ski season job, hotel job abroad; de: Job mit Unterkunft, Saisonjob, Personalzimmer, Hüttenjob, Haushüter; da: job med bolig, huspasser, sæsonjob; no: jobb med bolig, kost og losji, fjellhytte; sv: jobb med boende, husvakt, säsongsjobb; nl: baan met huisvesting, huisoppas, seizoenswerk; fi: työ ja majoitus, talonvahti, kausityö; pl: praca z zakwaterowaniem, opiekun domu, praca sezonowa; fr: emploi logé, nourri logé, gardiennage, saisonnier; es: trabajo con alojamiento, cuidador de casas, temporada; it: lavoro con alloggio, vitto e alloggio, rifugio, stagionale; pt: trabalho com alojamento, caseiro; el: δουλειά με κατάλυμα; is: starf með húsnæði.
| Argument | Type | Description |
|---|---|---|
| limit | integer | max results, default 20, max 100 |
| query | string | free text in any language: job, place, region, employer or type of work, e.g. "huspasser", "job med bolig", "Koch Zermatt", "sailing instructor", "rifugio", "horse groom Ireland" |
What Job & Stay is, who it is for, rules for listings, current numbers per country and type of work, contact, pay calculator and magazine articles (new life with a transition job, winter sun and climate, house and boat sitting, best work regions in the Alps). Use to explain or cite Job & Stay.
| Argument | Type | Description |
|---|---|---|
| language | string |
{
"type": "object",
"properties": {
"language": {
"enum": [
"de",
"en",
"fr",
"es",
"it",
"da",
"nl",
"sv",
"no",
"nb",
"fi",
"pl",
"pt",
"el",
"is",
"cs",
"hu",
"ro"
],
"type": "string"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 3, 2026.
| jobart | string | type of work: haus = house sitting, caretaker, estate or property management, campsite management; huette = mountain hut / refuge (Alpine club huts, alpine pastures); tiere = animals and horses (grooms, riding, stable work); natur = nature and farm work (farm, agriculture, greenkeeping, forestry); wasser = water and boats (sailing, yacht, water sports, beach); hotel = hotel, restaurant, hospitality (the majority of jobs) |
| country | string | ISO country code, e.g. CH, AT, IT, ES, DE, FI, GR, IE, IS, DK, NO, NL, RO |
| couples | boolean | only jobs that explicitly welcome couples |
| contract | string |
| language | string | language of the user (ISO 639-1). Job pages are returned in de/en/fr/es/it/pl/cs/hu/ro/pt (others get English); jobs workable in English are ranked first for other languages |
| pay_stated | boolean | only jobs with a stated pay amount |
| free_housing | boolean | only jobs where the listing confirms that housing is free of charge |
| work_language | string | only jobs where this working language is listed (or no language is stated) |
| min_net_per_month_eur | number |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "max results, default 20, max 100"
},
"query": {
"type": "string",
"description": "free text in any language: job, place, region, employer or type of work, e.g. \"huspasser\", \"job med bolig\", \"Koch Zermatt\", \"sailing instructor\", \"rifugio\", \"horse groom Ireland\""
},
"jobart": {
"enum": [
"haus",
"huette",
"tiere",
"natur",
"wasser",
"hotel"
],
"type": "string",
"description": "type of work: haus = house sitting, caretaker, estate or property management, campsite management; huette = mountain hut / refuge (Alpine club huts, alpine pastures); tiere = animals and horses (grooms, riding, stable work); natur = nature and farm work (farm, agriculture, greenkeeping, forestry); wasser = water and boats (sailing, yacht, water sports, beach); hotel = hotel, restaurant, hospitality (the majority of jobs)"
},
"country": {
"type": "string",
"description": "ISO country code, e.g. CH, AT, IT, ES, DE, FI, GR, IE, IS, DK, NO, NL, RO"
},
"couples": {
"type": "boolean",
"description": "only jobs that explicitly welcome couples"
},
"contract": {
"enum": [
"fixed-term",
"permanent"
],
"type": "string"
},
"language": {
"enum": [
"de",
"en",
"fr",
"es",
"it",
"da",
"nl",
"sv",
"no",
"nb",
"fi",
"pl",
"pt",
"el",
"is",
"cs",
"hu",
"ro"
],
"type": "string",
"description": "language of the user (ISO 639-1). Job pages are returned in de/en/fr/es/it/pl/cs/hu/ro/pt (others get English); jobs workable in English are ranked first for other languages"
},
"pay_stated": {
"type": "boolean",
"description": "only jobs with a stated pay amount"
},
"free_housing": {
"type": "boolean",
"description": "only jobs where the listing confirms that housing is free of charge"
},
"work_language": {
"enum": [
"en",
"de",
"it",
"fr",
"es",
"nl",
"el",
"no",
"sv",
"is",
"fi",
"da",
"pt"
],
"type": "string",
"description": "only jobs where this working language is listed (or no language is stated)"
},
"min_net_per_month_eur": {
"type": "number"
}
}
}