Search open jobs in Switzerland and Liechtenstein and read jopp job briefs.
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.
The full text of one job by its id from search, as a readable document.
The job id from search.
The full text of one job by its id from search, as a readable document.
| Argument | Type | Description |
|---|---|---|
| id* | string | The job id from search. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"description": "The job id from search."
}
}
}Full details of one job by its id from search_jobs: facts, salary, description (usually a jopp brief) and the link to the original advert.
| Argument | Type | Description |
|---|---|---|
| id* | string | The job id from search_jobs. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"description": "The job id from search_jobs."
}
}
}jopp's occupation categories and their roles, for the category and role filters of search_jobs. Pass a category key to get its roles with typical job titles.
| Argument | Type | Description |
|---|---|---|
| category | string | A category key to list its roles in detail. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"category": {
"type": "string",
"maxLength": 60,
"description": "A category key to list its roles in detail."
}
}
}Keyword search over open jobs in Switzerland; returns ids, titles and links. search_jobs offers filters and more fields.
| Argument | Type | Description |
|---|---|---|
| query* | string | Keywords, e.g. "Pflegefachfrau Bern". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"description": "Keywords, e.g. \"Pflegefachfrau Bern\"."
}
}
}Search open jobs in Switzerland and Liechtenstein by keywords and filters. Only jobs whose advert is still online are returned. Lehrstellen are listed only with segment apprenticeships. Returns up to 20 jobs per page, newest first for filter-only searches; keyword searches rank by relevance, favouring recent adverts and mixing companies. Use get_job for a job's full description.
| Argument | Type | Description |
|---|---|---|
| role | string | A role key from list_categories; requires its category. |
| limit | integer | |
| query | string | Keywords matched against job title, company and description, with German word forms (e.g. "Pflegefachfrau", "Software Engineer Python"). All words must match; use OR between alternatives, "quotes" for phrases and -word to exclude. Place names match only the text; use cantons to filter by location. |
| cursor | string | nextCursor of a previous search_jobs result; the other arguments are then ignored. |
| cantons | array | Two-letter canton codes (ZH, BE, VD, GE, …) or LI for Liechtenstein. |
| segment | string | jobs (default): regular jobs and internships. apprenticeships: only Lehrstellen (Swiss vocational apprenticeships, Berufslehre). A search lists one of the two, never both. |
| category |
| string |
| A category key from list_categories. |
| workModes | array |
| seniorities | array |
| workloadMax | integer | Highest workload in percent of full time (10–100). |
| workloadMin | integer | Lowest workload in percent of full time (10–100). |
| salaryStated | boolean | Only jobs whose advert states a salary. |
| contractTypes | array | Not for segment apprenticeships. |
| advertLanguages | array | Language the advert is written in. |
| excludeAgencies | boolean | Leave out recruitment agencies. |
| requiredLanguages | array | Only jobs that require all of these languages. |
| publishedWithinDays | any |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"role": {
"type": "string",
"maxLength": 60,
"description": "A role key from list_categories; requires its category."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Keywords matched against job title, company and description, with German word forms (e.g. \"Pflegefachfrau\", \"Software Engineer Python\"). All words must match; use OR between alternatives, \"quotes\" for phrases and -word to exclude. Place names match only the text; use cantons to filter by location."
},
"cursor": {
"type": "string",
"maxLength": 4000,
"description": "nextCursor of a previous search_jobs result; the other arguments are then ignored."
},
"cantons": {
"type": "array",
"items": {
"enum": [
"AG",
"AI",
"AR",
"BE",
"BL",
"BS",
"FR",
"GE",
"GL",
"GR",
"JU",
"LU",
"NE",
"NW",
"OW",
"SG",
"SH",
"SO",
"SZ",
"TG",
"TI",
"UR",
"VD",
"VS",
"ZG",
"ZH",
"LI"
],
"type": "string"
},
"maxItems": 27,
"description": "Two-letter canton codes (ZH, BE, VD, GE, …) or LI for Liechtenstein."
},
"segment": {
"enum": [
"jobs",
"apprenticeships"
],
"type": "string",
"default": "jobs",
"description": "jobs (default): regular jobs and internships. apprenticeships: only Lehrstellen (Swiss vocational apprenticeships, Berufslehre). A search lists one of the two, never both."
},
"category": {
"type": "string",
"maxLength": 60,
"description": "A category key from list_categories."
},
"workModes": {
"type": "array",
"items": {
"enum": [
"onsite",
"hybrid",
"remote"
],
"type": "string"
}
},
"seniorities": {
"type": "array",
"items": {
"enum": [
"entry",
"professional",
"senior",
"lead",
"management"
],
"type": "string"
}
},
"workloadMax": {
"type": "integer",
"maximum": 100,
"minimum": 10,
"description": "Highest workload in percent of full time (10–100)."
},
"workloadMin": {
"type": "integer",
"maximum": 100,
"minimum": 10,
"description": "Lowest workload in percent of full time (10–100)."
},
"salaryStated": {
"type": "boolean",
"description": "Only jobs whose advert states a salary."
},
"contractTypes": {
"type": "array",
"items": {
"enum": [
"permanent",
"temporary",
"internship",
"freelance"
],
"type": "string"
},
"description": "Not for segment apprenticeships."
},
"advertLanguages": {
"type": "array",
"items": {
"enum": [
"de",
"fr",
"it",
"en",
"other"
],
"type": "string"
},
"description": "Language the advert is written in."
},
"excludeAgencies": {
"type": "boolean",
"description": "Leave out recruitment agencies."
},
"requiredLanguages": {
"type": "array",
"items": {
"enum": [
"de",
"fr",
"it",
"en"
],
"type": "string"
},
"description": "Only jobs that require all of these languages."
},
"publishedWithinDays": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 3
},
{
"type": "number",
"const": 7
},
{
"type": "number",
"const": 14
},
{
"type": "number",
"const": 30
}
]
}
}
}