Read-only MCP server for public WeJob jobs, formations, and companies.
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.
Fetch a public WeJob item by id. Supported id prefixes: job:, formation:, company:.
Result id returned by search.
Fetch a public WeJob item by id. Supported id prefixes: job:, formation:, company:.
| Argument | Type | Description |
|---|---|---|
| id* | string | Result id returned by search. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Result id returned by search."
}
},
"additionalProperties": false
}Search public WeJob jobs, formations, and companies. Returns ids usable with fetch.
| Argument | Type | Description |
|---|---|---|
| page | integer | One-based result page number. |
| sort | string | Optional public result sort order. |
| limit | integer | Maximum number of results. |
| query* | string | Search query. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "One-based result page number."
},
"sort": {
"enum": [
"newest",
"oldest",
"deadline_soon",
"deadline_later",
"level_asc",
"price_asc",
"price_desc",
"duration_asc",
"smallest",
"largest",
"founded_newest",
"founded_oldest",
"most_jobs"
],
"type": "string",
"description": "Optional public result sort order."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Maximum number of results."
},
"query": {
"type": "string",
"description": "Search query."
}
},
"additionalProperties": false
}Fetch one public WeJob company profile by public id (raw id or the company:<id> returned by search/fetch).
| Argument | Type | Description |
|---|---|---|
| id* | string | Public company id. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Public company id."
}
},
"additionalProperties": false
}Fetch one public active WeJob formation by public id (raw id or the formation:<id> returned by search/fetch).
| Argument | Type | Description |
|---|---|---|
| id* | string | Public formation id. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Public formation id."
}
},
"additionalProperties": false
}Fetch one public active WeJob job offer by public id (raw id or the job:<id> returned by search/fetch).
| Argument | Type | Description |
|---|---|---|
| id* | string | Public job id. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Public job id."
}
},
"additionalProperties": false
}Search public WeJob company profiles.
| Argument | Type | Description |
|---|---|---|
| page | integer | One-based result page number. |
| sort | string | Optional public result sort order. |
| limit | integer | Maximum number of results. |
| query | string | Free-text search over company names and descriptions. |
| sizes | string | Comma-separated company sizes (employees): 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5000+. |
| location | string | City or canton, e.g. Genève, Vaud, Lausanne, Zurich. Comma-separate several places. |
| industries | string | Comma-separated business sectors, e.g. technologies, finance, sante, education, commerce, marketing, consulting, industrie, telecommunications. |
| technologies | string | Comma-separated technologies, e.g. React, AWS. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "One-based result page number."
},
"sort": {
"enum": [
"newest",
"oldest",
"most_jobs",
"largest",
"smallest",
"founded_newest",
"founded_oldest"
],
"type": "string",
"description": "Optional public result sort order."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Maximum number of results."
},
"query": {
"type": "string",
"default": "",
"description": "Free-text search over company names and descriptions."
},
"sizes": {
"type": "string",
"description": "Comma-separated company sizes (employees): 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5000+."
},
"location": {
"type": "string",
"description": "City or canton, e.g. Genève, Vaud, Lausanne, Zurich. Comma-separate several places."
},
"industries": {
"type": "string",
"description": "Comma-separated business sectors, e.g. technologies, finance, sante, education, commerce, marketing, consulting, industrie, telecommunications."
},
"technologies": {
"type": "string",
"description": "Comma-separated technologies, e.g. React, AWS."
}
},
"additionalProperties": false
}Search public active WeJob formations.
| Argument | Type | Description |
|---|---|---|
| page | integer | One-based result page number. |
| sort | string | Optional public result sort order. |
| limit | integer | Maximum number of results. |
| query | string | Free-text search over titles, descriptions and programs, e.g. cybersécurité. |
| skills | string | Comma-separated hard skills, e.g. Java, SQL. Only matches skills listed on the offer: prefer query for a broad search. |
| company | string | Company name filter, e.g. WeJob Sàrl. |
| location | string | City or canton, e.g. Genève, Vaud, Lausanne, Zurich. Comma-separate several places. |
| tarif_max | string | Maximum price as a number, e.g. 3000. |
| tarif_min | string | Minimum price as a number, e.g. 500. |
Search public active WeJob job offers.
| Argument | Type | Description |
|---|---|---|
| page | integer | One-based result page number. |
| sort | string | Optional public result sort order. |
| limit | integer | Maximum number of results. |
| query | string | Free-text search over titles, descriptions, skills, companies and places. Words are OR-ed: one or two keywords work best, e.g. Java or data engineer. |
| skills | string | Comma-separated hard skills, e.g. Java, SQL. Only matches skills listed on the offer: prefer query for a broad search. |
| company | string | Company name filter, e.g. WeJob Sàrl. |
| location | string | City or canton, e.g. Genève, Vaud, Lausanne, Zurich. Comma-separate several places. |
| languages | string | Comma-separated language filter, for example Anglais, English, en. |
| work_mode | string | Comma-separated work mode: on_site, hybrid, remote (sur site, hybride, télétravail are accepted). |
| categories |
| string |
| Comma-separated category names, e.g. Développement & IT. |
| duration_max | string | Maximum duration in days, e.g. 30. |
| duration_min | string | Minimum duration in days, e.g. 5. |
| technologies | string | Comma-separated technologies, e.g. React, AWS. |
| formation_mode | string | Comma-separated training mode: presentiel, distanciel, hybride (on-site, online, hybrid are accepted). |
| certification_type | string | Comma-separated certification: certificat, diplome, attestation, bootcamp, aucun (certificate, diploma, none are accepted). |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "One-based result page number."
},
"sort": {
"enum": [
"newest",
"oldest",
"deadline_soon",
"deadline_later",
"price_asc",
"price_desc",
"duration_asc"
],
"type": "string",
"description": "Optional public result sort order."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Maximum number of results."
},
"query": {
"type": "string",
"default": "",
"description": "Free-text search over titles, descriptions and programs, e.g. cybersécurité."
},
"skills": {
"type": "string",
"description": "Comma-separated hard skills, e.g. Java, SQL. Only matches skills listed on the offer: prefer query for a broad search."
},
"company": {
"type": "string",
"description": "Company name filter, e.g. WeJob Sàrl."
},
"location": {
"type": "string",
"description": "City or canton, e.g. Genève, Vaud, Lausanne, Zurich. Comma-separate several places."
},
"tarif_max": {
"type": "string",
"description": "Maximum price as a number, e.g. 3000."
},
"tarif_min": {
"type": "string",
"description": "Minimum price as a number, e.g. 500."
},
"categories": {
"type": "string",
"description": "Comma-separated category names, e.g. Développement & IT."
},
"duration_max": {
"type": "string",
"description": "Maximum duration in days, e.g. 30."
},
"duration_min": {
"type": "string",
"description": "Minimum duration in days, e.g. 5."
},
"technologies": {
"type": "string",
"description": "Comma-separated technologies, e.g. React, AWS."
},
"formation_mode": {
"type": "string",
"description": "Comma-separated training mode: presentiel, distanciel, hybride (on-site, online, hybrid are accepted)."
},
"certification_type": {
"type": "string",
"description": "Comma-separated certification: certificat, diplome, attestation, bootcamp, aucun (certificate, diploma, none are accepted)."
}
},
"additionalProperties": false
}| categories | string | Comma-separated category names, e.g. Développement & IT. |
| salary_max | string | Maximum salary as a number, in the offer currency (CHF), e.g. 140000. |
| salary_min | string | Minimum salary as a number, in the offer currency (CHF), e.g. 100000. |
| technologies | string | Comma-separated technologies, e.g. React, AWS. |
| employment_type | string | Comma-separated contract or workload: full_time, part_time, CDI, CDD, contract, internship, apprenticeship, freelance. French terms are accepted (temps plein, temps partiel, stage, alternance). |
| experience_level | string | Comma-separated level: junior, intermediate, senior, expert (entry, mid, confirmé, lead are accepted). |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "One-based result page number."
},
"sort": {
"enum": [
"newest",
"oldest",
"deadline_soon",
"deadline_later",
"level_asc"
],
"type": "string",
"description": "Optional public result sort order."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Maximum number of results."
},
"query": {
"type": "string",
"default": "",
"description": "Free-text search over titles, descriptions, skills, companies and places. Words are OR-ed: one or two keywords work best, e.g. Java or data engineer."
},
"skills": {
"type": "string",
"description": "Comma-separated hard skills, e.g. Java, SQL. Only matches skills listed on the offer: prefer query for a broad search."
},
"company": {
"type": "string",
"description": "Company name filter, e.g. WeJob Sàrl."
},
"location": {
"type": "string",
"description": "City or canton, e.g. Genève, Vaud, Lausanne, Zurich. Comma-separate several places."
},
"languages": {
"type": "string",
"description": "Comma-separated language filter, for example Anglais, English, en."
},
"work_mode": {
"type": "string",
"description": "Comma-separated work mode: on_site, hybrid, remote (sur site, hybride, télétravail are accepted)."
},
"categories": {
"type": "string",
"description": "Comma-separated category names, e.g. Développement & IT."
},
"salary_max": {
"type": "string",
"description": "Maximum salary as a number, in the offer currency (CHF), e.g. 140000."
},
"salary_min": {
"type": "string",
"description": "Minimum salary as a number, in the offer currency (CHF), e.g. 100000."
},
"technologies": {
"type": "string",
"description": "Comma-separated technologies, e.g. React, AWS."
},
"employment_type": {
"type": "string",
"description": "Comma-separated contract or workload: full_time, part_time, CDI, CDD, contract, internship, apprenticeship, freelance. French terms are accepted (temps plein, temps partiel, stage, alternance)."
},
"experience_level": {
"type": "string",
"description": "Comma-separated level: junior, intermediate, senior, expert (entry, mid, confirmé, lead are accepted)."
}
},
"additionalProperties": false
}