Skip to main content
Glama

WhatJobs Job Search

Server Details

Search live WhatJobs jobs, salaries and hiring companies in 25 countries from AI assistants.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.3/5.0

Scored across 7 tools

Disambiguation4/5

Most tools have clearly distinct purposes: comparison of counts, comparison of salaries, single-role salary insights, employer rankings, profile matching, general search, and recency-filtered search. The main overlap is between search_jobs and search_latest_jobs, since recent jobs are a subset of general search results, but the descriptions provide enough guidance to choose correctly.

Naming Consistency5/5

All tool names use consistent snake_case with a leading verb (compare_, get_, match_, search_) and clear object nouns. The pattern is predictable throughout, with only natural semantic variation in verb choice.

Tool Count5/5

Seven tools is well-scoped for a job search server. Each tool earns its place by covering a distinct workflow: search, recency, salary, demand comparison, employer discovery, and profile matching.

Completeness4/5

The surface covers the core job-search lifecycle: finding listings, seeing recent postings, comparing demand and pay, identifying top employers, and matching a profile to jobs. Minor gaps exist, such as fetching a single job by ID or filtering by job type, but search results already include descriptions and apply URLs so agents can work around them.

Available Tools

7 tools
compare_job_countsCompare job countsA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
marketNo
keywordsYes
locationsYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint and destructiveHint, so safety is covered. The description adds real behavioral context beyond them: the cap of 6 keyword x location combinations, the market default behavior per location, and the fact that each row contains a link to the WhatJobs search.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded purpose sentence, then an explicit 'Use this when' sentence with examples, then a compact bulleted Inputs block. Every sentence adds selection or invocation information; nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description covers the important return-shape detail (one row per comparison with a search link) and the comparison cap. It stops short of saying what else a row contains besides the link (e.g., the count field) and what format 'market' accepts, which would be helpful for a 3-param tool with zero schema documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry all parameter meaning, and it largely does. It documents the non-obvious convention that keywords may be [""] to count all jobs, clarifies that locations should not be the user's own location unless they ask about nearby jobs, and explains that leaving market empty makes each location use its own country.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Compare how many jobs are live on WhatJobs right now') plus the comparison axes (places and/or roles). An agent can distinguish it from search_jobs or search_latest_jobs, which return listings rather than counts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit trigger conditions ('when the user asks where the most jobs are, how much demand there is, or to compare cities or roles') backed by three concrete example queries. It lacks an explicit negative/alternative clause (e.g., 'use search_jobs instead if the user wants actual listings'), so a sibling-routing rule must be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_salariesCompare salariesA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
marketNo
keywordsYes
locationsYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, open-world, non-destructive, so the description's job is added context — and it delivers: a hard cap of 4 role x place combinations, per-country currency with no conversion between rows, the pay period per row, and a link back to the WhatJobs search. These are non-obvious result-shape constraints an agent would otherwise discover only by trial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well front-loaded: purpose sentence, then usage trigger with examples, then a bulleted Inputs block, then result behavior. The long enumerated market list is verbose but earns its place because the schema supplies no enum; the only real cost is overall length for a three-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still explains the return shape (rows with typical range and median, in local currency, with pay period and a link). Combined with the documented combination cap, default market semantics, and the no-conversion caveat, an agent has everything needed to call and interpret results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the market parameter has no enum in the schema, so the description carries the full load — and does: keywords is restricted to job roles only, locations is restricted to places with an explicit exclusion of the user's own location, and market is documented with its default behavior plus a complete list of 24 supported country codes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource up front ("Compare what a job pays across places, or what different jobs pay in one place") and scopes the data source ("salaries in current WhatJobs listings"). The two comparison modes named (roles across places vs. roles within a place) make it clearly distinct from siblings like get_salary_insights or compare_job_counts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use rule in imperative form ("Use this when the user wants pay compared") backed by three concrete example queries that map directly onto the two comparison modes. It does not name the sibling alternatives (e.g. get_salary_insights for a single salary lookup) or state when not to use it, so it falls short of a full routing instruction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_salary_insightsSalary insightsA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
marketNo
keywordYes
locationNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, openWorld, non-destructive), yet the description adds real value: the data source is current WhatJobs listings, figures are in local currency with a variable pay period, and the response includes a link to all matching jobs. Auth, rate limits, and pagination are unmentioned, which keeps it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded purpose sentence, then a usage block, then a labeled Inputs section — well organized and mostly waste-free. The 25-value market enumeration is long but justified because the schema has no enum for it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 0% schema coverage and no output schema, the description supplies exactly what's missing: input definitions, currency and pay-period semantics, and the shape of the result including the jobs link. An agent has everything needed to call it correctly and interpret the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry all parameter meaning — and it does. It defines keyword as the role only, warns that location is the searched place rather than the user's own location and may be empty for country-wide results, and explains that market is optional, inferred from location, and enumerates all 25 supported country codes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Show what a job pays, from the salaries in current WhatJobs listings') and enumerates the returned metrics (typical range, median, lowest, highest). It implicitly separates itself from compare_salaries by scoping to a single role, but never names a sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit trigger conditions ('when the user asks how much a role pays or earns, salary ranges, or whether a salary is good') plus two concrete example queries. It stops short of stating when-not to use it or pointing to compare_salaries for multi-role comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_top_hiring_companiesTop hiring companiesA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
marketNo
keywordYes
locationYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds useful behavior beyond that: counts are based on the latest 50 listings, results include links to company listings and all matching jobs, and market is inferred when omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and usage trigger, then organizes inputs and result behavior into compact sections. The long list of market codes earns its place because the schema provides no enum or per-parameter descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter read-only lookup with no output schema, the definition explains the purpose, usage trigger, all parameter meanings, market inference, count basis and returned links. Nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full parameter burden and does so well. It explains keyword should be the role only, location should be the searched place rather than the user's own location unless nearby jobs are requested, and market is an optional country code inferred from location with a complete list of supported values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: it lists companies posting the most jobs for a role and place, including job counts and example listings. That output shape implicitly distinguishes it from job-search siblings such as search_jobs, but it never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear when-to-use guidance with concrete user phrasings such as 'Who's hiring software engineers in Berlin?' and explains the employer-discovery intent. It does not state when not to use it or name a sibling tool for adjacent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

match_jobs_to_profileMatch jobs to profileA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
marketNo
skillsNo
locationYes
job_titlesYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavior beyond that: the ranking criteria, the 1-4 title and 10-skill caps, market inference from location, and the fact that results include a link to all matching jobs on WhatJobs. It does not cover result volume, pagination, or behavior when no matches exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well front-loaded: purpose, then when-to-use with an example, then a bulleted input list, then a privacy constraint and a note on the returned link. The long enumeration of 25 market codes is the one bulky element, but it substitutes for a missing schema enum so it earns most of its space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter, read-only search tool with no output schema and 0% schema description coverage, the description supplies enough to call it correctly: input semantics, market inference and supported values, plus an explicit rule never to pass CV text or personal data. Missing only edge-case behavior such as empty results or result limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the whole burden and it largely does — it defines what job_titles should be (titles chosen from the user's background), what skills are (up to 10 key skills/tools, with examples), that location is the place to search, and that market is an optional country code inferred from location. It even enumerates all supported market codes, which is critical since the schema has no enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find WhatJobs listings') plus the ranking logic — title match strength and skill mention count — which no sibling tool offers. It is clearly distinguishable from search_jobs or search_latest_jobs, which do keyword searches rather than profile-based ranking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the trigger condition (user shares CV, experience or skills and asks what jobs suit them) with a concrete example utterance. It also states limits on how many titles and skills to pass, giving clear positive guidance; the main gap is that it does not explicitly name a sibling alternative for plain keyword searches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_jobsSearch jobsA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
marketNo
keywordYes
locationYes
chunk_numberNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, the description discloses the market-inference rule (omitted market derived from location), the full supported market value set, and pagination semantics via chunk_number. It also lists the return payload contents, which matters since no output schema exists. Auth, rate-limit, and empty-result behavior are not covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Usage guidance is front-loaded, then inputs, then constraints, then examples — a sensible order with no filler prose. The sixteen examples are useful for keyword normalization but repeat the same pattern well past the point of diminishing returns, particularly for the English-market cases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter search tool with no output schema and zero schema-level parameter docs, the description supplies everything needed to construct a correct call and describes the return shape. The remaining gap is routing: nothing explains how this differs from search_latest_jobs or when match_jobs_to_profile should win.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden and does so: it defines scope for keyword (role/function/skill/industry only), for location (search location, not the user's physical location), for market (with an enumerated value list and inference fallback), and for chunk_number (start at 1, increment for more). The worked examples convert these rules into directly actionable patterns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ("Search WhatJobs for public job listings") and states the structured-field approach, so the agent knows exactly what the tool produces. It does not, however, distinguish itself from the close sibling search_latest_jobs, which an agent could easily confuse with this one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear trigger condition: use only when the user wants jobs, vacancies, internships, or asks to see more results, and it explains that chunk_number increments on follow-up requests. It stops short of naming exclusions or alternatives such as search_latest_jobs or match_jobs_to_profile for the cases this tool should not handle.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_latest_jobsLatest jobsA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
marketNo
keywordYes
locationYes
posted_within_daysNo

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds useful behavior beyond that - market inferred from location when omitted, a 7-day default window with a 30-day ceiling, and the fact that results carry a link to all matches - but says nothing about result volume, pagination, or how the external live search behaves on failure or empty results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and usage trigger are front-loaded, followed by a clean per-input breakdown and a single sentence on results - structure an agent can parse quickly. The 24-value market list is long, but it substitutes for a missing schema enum, so it earns its space; minor trimming of parenthetical country names would be possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does disclose the shape of the return ('includes a link to all matching jobs'), and every input is explained, including the inference rule for market. What remains unstated is result count, pagination or truncation behavior, and whether an unsupported market or location fails or silently degrades - relevant for an open-world external search.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden and does so: keyword is narrowed to 'the job role only', location is disambiguated against the user's own location, posted_within_days gains real meaning (1 = today/yesterday, 7 = this week, ceiling of 30, default 7), and market's free-form string is backed by an enumerated list of 24 supported country codes despite the schema having no enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a precise verb and resource ('Show only recently posted WhatJobs listings') plus ordering ('newest first') and scoping ('for a role and place'). It implicitly separates itself from the sibling search_jobs via 'only recently posted', but never names the sibling, so the differentiation must be inferred.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states an explicit usage trigger ('when the user asks for new, fresh, recent or today's jobs') with two concrete example phrasings. It does not state a when-not-to-use condition, such as directing users to search_jobs for older or unrestricted listings, which is the main remaining routing gap among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updates
    • First observedcompare_job_counts
    • First observedcompare_salaries
    • First observedget_salary_insights
    • First observedget_top_hiring_companies
    • First observedmatch_jobs_to_profile
    • First observedsearch_jobs
    • First observedsearch_latest_jobs

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables asking what companies are hiring right now by querying live job postings from their applicant-tracking system board APIs (Greenhouse, Lever, Ashby, Recruitee, Rippling, Personio), with filters, parsed location, remote flag, and structured salary.
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants and agents to search and count millions of job postings from 185 sources across 250 countries using filters like country, title, skills, work place, contract type and posting date. It can also generate filtered RSS feed URLs for job board backfill.
    4
    66 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to search live job listings across Greenhouse, Lever, Workday, Ashby, SmartRecruiters, Workable, Cornerstone, and Deel from a single remote endpoint, with filters for titles, location, work type, posting date, and companies.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources