Skip to main content
Glama

FedSalary: official pay data

Find current job openings with their pay

find_jobs
Read-onlyIdempotent

Current job openings in the US and Canada from employers' own job boards (read through their documented APIs, refreshed weekly), matching keywords and a place. Each result: title and employer as posted, places, posting date, the pay range when the employer published one, and when it did not, the official BLS median for the occupation in the US state named (national for US remote jobs); for published US ranges, where the range sits on the official distribution; and the link to apply on the employer's own site. Results are newest first or by published pay. Coverage is strongest for technology, finance, startups and remote work; many hospitals, retailers and public employers are not included yet, so few or no results does not mean no such jobs exist. No job descriptions; FedSalary takes no applications.

Input Schema

NameRequiredDescriptionDefault
sortNonew (default) or pay.
placeNoA US state (texas or TX), a US metro area or large city (austin), remote (US remote jobs), canada, a Canadian province (ontario) or a large Canadian city (toronto). Leave out for everywhere.
min_payNoMinimum yearly pay in USD: the top of the published range must reach it (Canadian ranges converted). Jobs without published pay are left out when this is set.
keywordsNoWords matched against the job title and employer, all of which must match (data analyst, product manager, Stripe).
published_pay_onlyNotrue = only jobs that publish a pay range.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, but the description adds substantial behavior the agent could not otherwise know: data provenance (employers' documented APIs, refreshed weekly), the BLS-median fallback when no range is published, geographic scoping of that fallback, and default ordering. The coverage caveat ('few or no results does not mean no such jobs exist') is exactly the kind of failure-mode disclosure that prevents a bad conclusion from an empty result.

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 with what it returns and from where, then caveats, then scope limits; each segment carries information. The middle sentence listing result fields is long and semicolon-chained, and the dense packaging makes it harder to scan than it needs to be for a five-parameter search tool.

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 correctly takes on the burden of describing return fields, and it explains the pay-derivation logic and coverage gaps thoroughly. The remaining gap is operational: it never states how many results are returned or whether result sets are capped/paginated, which matters for a search tool.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters are already documented, including the default for sort and the min_pay rule that jobs without published pay drop out. The description adds little parameter-level meaning beyond the schema; it only restates keyword-and-place matching and mentions the pay-range sort superficially.

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 current job openings) plus scope: employers' own job boards in the US and Canada, matched by keywords and place. The result contract (title, employer, places, date, pay or BLS median, distribution position, apply link) makes it clearly distinguishable from the pay-lookup siblings check_pay/get_pay/compare_offers.

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 clear context for when it applies (keyword + place job search over live postings) and useful boundaries: no job descriptions, takes no applications. It stops short of naming alternatives, e.g. it never says when to use check_pay or get_pay instead when the user only wants salary data, so routing between siblings is left implicit.

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