Skip to main content
Glama
gzchenhao

OpenHire — Real Job Postings, Ghost Jobs Scored

Salary benchmark

salary_benchmark
Read-onlyIdempotent

Compare employer-published pay ranges for comparable live job postings to benchmark salaries by title, seniority, location, and experience; returns p25/median/p75, never mixing currencies.

Instructions

What employers themselves publish as pay for comparable live postings.

Only ranges employers put on their own postings (most US postings carry one by law; most Chinese ones carry none). Never mixes currencies; annualises monthly pay. Low and high ends are reported separately as p25 / median / p75 (annual_low, annual_high), with postings, employers and wide_ranges (ranges spanning 2x or more). Under 20 postings there are no quantiles, only the count. Group by the level the title names (seniority, as in search_jobs) and the years the posting asks for (years_min / years_max, from the posting's own words), never by company grade.

Quote in_words. Say these are published ranges, not offers or what anyone was paid, and never tell the user a posting "pays below market, skip it": give the numbers.

Input Schema

NameRequiredDescriptionDefault
titleNo
sectorNo
currencyYes
locationNo
seniorityNo
years_maxNo
years_minNo
role_familyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.8.41

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the read-only annotations, the description discloses important behavior: currency is never mixed, monthly pay is annualized, quantiles are suppressed under 20 postings, and wide_ranges captures ranges spanning 2x or more. It also frames the data as published ranges rather than offers or actual pay, which is critical for correct interpretation.

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?

The description is dense but front-loaded, starting with the data source and then moving through output semantics and usage constraints. Most sentences earn their place, though the parenthetical about US/Chinese postings is more explanatory than necessary for invocation.

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 a good job explaining return semantics, quantile behavior, sample-size thresholds, and interpretive caveats. It is less complete on input parameter meanings, especially sector, location, role_family, and title, but the overall behavioral picture is strong enough for an agent to use the tool carefully.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters, so the description must carry the burden. It explains seniority and years_min/years_max semantics and currency behavior, but leaves title, sector, location, and role_family largely or entirely undefined, which is a significant gap for an 8-parameter tool.

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 clearly states the resource: employer-published pay ranges from comparable live postings, and names the key outputs like annual_low, annual_high, p25/median/p75, postings, employers, and wide_ranges. It does not explicitly distinguish this tool from all siblings, though it references search_jobs for seniority grouping.

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 usage rules: group by seniority as named in the title and by years_min/years_max from the posting, never by company grade. It also instructs how to present results (quote in_words, call them published ranges, do not advise skipping postings), but it does not explicitly state when to choose this tool over a sibling.

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