Search live WhatJobs jobs, salaries and hiring companies in 25 countries from AI assistants.
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.
Compare how many jobs are live on WhatJobs right now across places and/or roles. Use this when the user asks where the most jobs are, how much demand there is, or to compare cities or roles, e.g. "Where are the most data analyst jobs in Germany?", "More jobs for nurses or carers in Leeds?", "Paris vs Berlin for developers". Inputs: - keywords: one or more job roles (may be [""] to count all jobs). - locations: one or more places to search, not the user's own location unless they ask about jobs near them. Up to 6 keyword x location combinations are compared. - market: optional. Leave empty to let each location use its own country (so "Paris" and "Berlin" compare France and Germany). Each row includes a link to that search on WhatJobs.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http job-search https://mcp.whatjobs.com/mcp
Compare how many jobs are live on WhatJobs right now across places and/or roles. Use this when the user asks where the most jobs are, how much demand there is, or to compare cities or roles, e.g. "Where are the most data analyst jobs in Germany?", "More jobs for nurses or carers in Leeds?", "Paris vs Berlin for developers". Inputs: - keywords: one or more job roles (may be [""] to count all jobs). - locations: one or more places to search, not the user's own location unless they ask about jobs near them. Up to 6 keyword x location combinations are compared. - market: optional. Leave empty to let each location use its own country (so "Paris" and "Berlin" compare France and Germany). Each row includes a link to that search on WhatJobs.
| Argument | Type | Description |
|---|---|---|
| market | string | |
| keywords* | array | |
| locations* | array |
{
"type": "object",
"title": "compare_job_countsArguments",
"required": [
"keywords",
"locations"
],
"properties": {
"market": {
"type": "string",
"title": "Market",
"default": ""
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"title": "Keywords"
},
"locations": {
"type": "array",
"items": {
"type": "string"
},
"title": "Locations"
}
}
}Compare what a job pays across places, or what different jobs pay in one place, from the salaries in current WhatJobs listings: the typical range and median for each, side by side. Use this when the user wants pay compared, e.g. "Nurse salary in London vs Manchester", "Do developers earn more in Berlin or Munich?", "Which pays more in Toronto, accountant or bookkeeper?". Inputs: - keywords: one or more job roles only (e.g. ["nurse"], or ["accountant", "bookkeeper"]). - locations: one or more places to compare (city, region or country), not the user's own location unless they ask about jobs near them. - market: optional. Leave empty to let each location use its own country (so "Paris" and "Berlin" compare France and Germany). Supported values: uk (United Kingdom), us (United States), ca (Canada), de (Germany), in (India), pk (Pakistan), br (Brazil), es (Spain), ae (United Arab Emirates), mx (Mexico), ar (Argentina), za (South Africa), at (Austria), au (Australia), be (Belgium), bh (Bahrain), cl (Chile), co (Colombia), cr (Costa Rica), ch (Switzerland), do (Dominican Republic), dz (Algeria), ng (Nigeria), nl (Netherlands), fr (France). Up to 4 role x place combinations are compared. Each row is in that country's own currency (amounts are not converted between currencies) and says its pay period (per year in most countries). Each row links to that search on WhatJobs.
| Argument | Type | Description |
|---|---|---|
| market | string | |
| keywords* | array | |
| locations* | array |
{
"type": "object",
"title": "compare_salariesArguments",
"required": [
"keywords",
"locations"
],
"properties": {
"market": {
"type": "string",
"title": "Market",
"default": ""
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"title": "Keywords"
},
"locations": {
"type": "array",
"items": {
"type": "string"
},
"title": "Locations"
}
}
}Show what a job pays, from the salaries in current WhatJobs listings: typical range, median, lowest and highest, plus a few listings with salaries. Use this when the user asks how much a role pays or earns, salary ranges, or whether a salary is good, e.g. "How much does a nurse earn in Paris?" or "Data analyst salary in London". Inputs: - keyword: the job role only (e.g. "nurse", "software engineer"). - location: the place to search (city, region or country), not the user's own location unless they ask for jobs near them. May be empty for the whole country. - market: optional country code; if empty it is inferred from location. Supported values: uk (United Kingdom), us (United States), ca (Canada), de (Germany), in (India), pk (Pakistan), br (Brazil), es (Spain), ae (United Arab Emirates), mx (Mexico), ar (Argentina), za (South Africa), at (Austria), au (Australia), be (Belgium), bh (Bahrain), cl (Chile), co (Colombia), cr (Costa Rica), ch (Switzerland), do (Dominican Republic), dz (Algeria), ng (Nigeria), nl (Netherlands), fr (France). Figures are in the country's own currency, for the pay period most listings use (per year in most countries, per month in some); the result says which. The result includes a link to all matching jobs on WhatJobs.
| Argument | Type | Description |
|---|---|---|
| market | string | |
| keyword* | string | |
| location | string |
{
"type": "object",
"title": "get_salary_insightsArguments",
"required": [
"keyword"
],
"properties": {
"market": {
"type": "string",
"title": "Market",
"default": ""
},
"keyword": {
"type": "string",
"title": "Keyword"
},
"location": {
"type": "string",
"title": "Location",
"default": ""
}
}
}List the companies posting the most jobs for a role and place right now on WhatJobs, with their job counts and example listings. Use this when the user asks who is hiring, which companies or employers have openings, or the biggest employers for a role, e.g. "Who's hiring software engineers in Berlin?". Inputs: - keyword: the job role only. - location: the place to search (city, region or country), not the user's own location unless they ask for jobs near them. - market: optional country code; if empty it is inferred from location. Supported values: uk (United Kingdom), us (United States), ca (Canada), de (Germany), in (India), pk (Pakistan), br (Brazil), es (Spain), ae (United Arab Emirates), mx (Mexico), ar (Argentina), za (South Africa), at (Austria), au (Australia), be (Belgium), bh (Bahrain), cl (Chile), co (Colombia), cr (Costa Rica), ch (Switzerland), do (Dominican Republic), dz (Algeria), ng (Nigeria), nl (Netherlands), fr (France). Counts come from the latest 50 listings. The result includes links to each company's listings and to all matching jobs on WhatJobs.
| Argument | Type | Description |
|---|---|---|
| market | string | |
| keyword* | string | |
| location* | string |
{
"type": "object",
"title": "get_top_hiring_companiesArguments",
"required": [
"keyword",
"location"
],
"properties": {
"market": {
"type": "string",
"title": "Market",
"default": ""
},
"keyword": {
"type": "string",
"title": "Keyword"
},
"location": {
"type": "string",
"title": "Location"
}
}
}Find WhatJobs listings that fit a person's background: searches up to 4 target job titles at once and ranks the jobs by how well the title matches and how many of their skills each listing mentions. Use this when the user shares their CV, experience or skills and asks what jobs suit them, e.g. "Here's my CV, what should I apply for in Manchester?". Inputs: - job_titles: 1-4 job titles that fit the person (you choose them from what they shared). - skills: up to 10 key skills or tools (e.g. "Python", "SQL", "forklift licence"). - location: where they want to work (the place to search). - market: optional country code; if empty it is inferred from location. Supported values: uk (United Kingdom), us (United States), ca (Canada), de (Germany), in (India), pk (Pakistan), br (Brazil), es (Spain), ae (United Arab Emirates), mx (Mexico), ar (Argentina), za (South Africa), at (Austria), au (Australia), be (Belgium), bh (Bahrain), cl (Chile), co (Colombia), cr (Costa Rica), ch (Switzerland), do (Dominican Republic), dz (Algeria), ng (Nigeria), nl (Netherlands), fr (France). Pass only titles and skills. Never pass CV text, names, contact details or other personal data. The result includes a link to all matching jobs on WhatJobs.
| Argument | Type | Description |
|---|---|---|
| market | string | |
| skills | any | |
| location* | string | |
| job_titles* | array |
Search WhatJobs for public job listings using separate structured search fields. Use this tool only when the user is looking for jobs, vacancies, roles, internships, work opportunities, or asks to see more job results. The location is the job search location requested by the user, such as a city, region, country, or remote preference. It is not the user's current physical location unless the user explicitly asks to search near them. Inputs: - keyword: the job role, job function, skill, or industry only. - location: the city, region, country, or remote preference only. - market: optional. The country market for the search. If omitted it is inferred from location (e.g. "Johannesburg, South Africa" -> za). Supported values: uk (United Kingdom), us (United States), ca (Canada), de (Germany), in (India), pk (Pakistan), br (Brazil), es (Spain), ae (United Arab Emirates), mx (Mexico), ar (Argentina), za (South Africa), at (Austria), au (Australia), be (Belgium), bh (Bahrain), cl (Chile), co (Colombia), cr (Costa Rica), ch (Switzerland), do (Dominican Republic), dz (Algeria), ng (Nigeria), nl (Netherlands), fr (France). - chunk_number: the result batch number. Use 1 for the first search and increment when the user asks to see more. Do not include the location inside keyword. Do not include filler words like jobs, vacancies, roles, hiring, in, near, around, at, or within in keyword. Examples: - sales in Bracknell -> keyword="sales", location="Bracknell", market="uk" - software engineer jobs near Manchester -> keyword="software engineer", location="Manchester", market="uk" - driver jobs in Toronto -> keyword="driver", location="Toronto", market="ca" - nurse jobs in Berlin -> keyword="nurse", location="Berlin", market="de" - teacher jobs in Sao Paulo -> keyword="teacher", location="Sao Paulo", market="br" - chef jobs in Madrid -> keyword="chef", location="Madrid", market="es" - accountant jobs in Dubai -> keyword="accountant", location="Dubai, United Arab Emirates", market="ae" - marketing jobs in Mexico City -> keyword="marketing", location="Mexico City, Mexico", market="mx" - developer jobs in Buenos Aires -> keyword="developer", location="Buenos Aires, Argentina", market="ar" - sales jobs in Johannesburg -> keyword="sales", location="Johannesburg, South Africa", market="za" - comptable à Paris -> keyword="comptable", location="Paris", market="fr" - nurse jobs in Sydney -> keyword="nurse", location="Sydney", market="au" - verpleegkundige in Amsterdam -> keyword="verpleegkundige", location="Amsterdam", market="nl" - engineer jobs in Zurich -> keyword="engineer", location="Zürich", market="ch" - marketing jobs in Vienna -> keyword="marketing", location="Wien", market="at" - accountant jobs in Lagos -> keyword="accountant", location="Lagos", market="ng" Returns structured job listings with title, company, location, salary when provided, posted date, summary, description, apply URL and pagination metadata for the WhatJobs widget UI.
Show only recently posted WhatJobs listings for a role and place, newest first. Use this when the user asks for new, fresh, recent or today's jobs, e.g. "Any electrician jobs posted today in Manchester?" or "New marketing jobs this week in Madrid". Inputs: - keyword: the job role only. - location: the place to search (city, region or country), not the user's own location unless they ask for jobs near them. - posted_within_days: 1 for today/yesterday, 7 for this week (default), up to 30. - market: optional country code; if empty it is inferred from location. Supported values: uk (United Kingdom), us (United States), ca (Canada), de (Germany), in (India), pk (Pakistan), br (Brazil), es (Spain), ae (United Arab Emirates), mx (Mexico), ar (Argentina), za (South Africa), at (Austria), au (Australia), be (Belgium), bh (Bahrain), cl (Chile), co (Colombia), cr (Costa Rica), ch (Switzerland), do (Dominican Republic), dz (Algeria), ng (Nigeria), nl (Netherlands), fr (France). The result includes a link to all matching jobs on WhatJobs.
| Argument | Type | Description |
|---|---|---|
| market | string | |
| keyword* | string | |
| location* | string | |
| posted_within_days | integer |
{
"type": "object",
"title": "search_latest_jobsArguments",
"required": [
"keyword",
"location"
],
"properties": {
"market": {
"type": "string",
"title": "Market",
"default": ""
},
"keyword": {
"type": "string",
"title": "Keyword"
},
"location": {
"type": "string",
"title": "Location"
},
"posted_within_days": {
"type": "integer",
"title": "Posted Within Days",
"default": 7
}
}
}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 5, 2026.
{
"type": "object",
"title": "match_jobs_to_profileArguments",
"required": [
"job_titles",
"location"
],
"properties": {
"market": {
"type": "string",
"title": "Market",
"default": ""
},
"skills": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Skills",
"default": null
},
"location": {
"type": "string",
"title": "Location"
},
"job_titles": {
"type": "array",
"items": {
"type": "string"
},
"title": "Job Titles"
}
}
}| Argument | Type | Description |
|---|---|---|
| market | string | |
| keyword* | string | |
| location* | string | |
| chunk_number | integer |
{
"type": "object",
"title": "search_jobsArguments",
"required": [
"keyword",
"location"
],
"properties": {
"market": {
"type": "string",
"title": "Market",
"default": ""
},
"keyword": {
"type": "string",
"title": "Keyword"
},
"location": {
"type": "string",
"title": "Location"
},
"chunk_number": {
"type": "integer",
"title": "Chunk Number",
"default": 1
}
}
}