Skip to main content
Glama

WhatJobs Job Search

Compare salaries

compare_salaries
Read-only

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.

Input Schema

NameRequiredDescriptionDefault
marketNo
keywordsYes
locationsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources