Skip to main content
Glama

talent_market_brief

Read-onlyIdempotent

One-call 'can I hire this role here, and at what cost' read for an occupation in a US geography. Joins two independent federal sources: BLS OEWS (Occupational Employment and Wage Statistics, keyless) for the occupation's employment LEVEL and wage distribution (mean plus 10th / 50th-median / 90th annual percentiles) in the area, and US Census ACS labor-force context (civilian labor force and local unemployment rate - needs a Census API key) to band how TIGHT / BALANCED / SLACK the local hiring market is. Pass an 'occupation' (e.g. 'registered nurses', 'software developers') or an explicit 'soc_code' (e.g. '29-1141'), and an optional 'state' or 'metro' (defaults to national). Returns a readable brief with a headline (employment, median/mean wage, market tightness), the wage percentiles, and per-source evidence. The BLS OEWS leg is the core signal and is keyless; the Census leg degrades gracefully if no key is set. Informational, NOT a guarantee that a role can be filled at any given wage.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
metroNoOptional 5-digit CBSA/metro code (e.g. '12420' Austin, TX). OEWS metro coverage varies; an unmatched metro is noted, not fatal.
stateNoOptional 2-letter state code or 2-digit FIPS (e.g. 'TX', '48'). Omit for a national read.
soc_codeNoExplicit 6-digit SOC occupation code, with or without a dash (e.g. '29-1141' registered nurses, '15-1252' software developers). Overrides 'occupation'.
occupationYesFree-text occupation to map to a SOC code (e.g. 'registered nurses', 'software developers', 'electricians'). Provide this or 'soc_code'.

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?

The annotations already signal read-only, idempotent, non-destructive behavior. The description goes well beyond that by disclosing the two-source composition, that the BLS leg is keyless, that the Census leg requires an API key and degrades gracefully, and that the output is informational and not a hiring guarantee. It also notes that unmatched metros are flagged rather than fatal. This is exemplary behavioral transparency.

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 purpose, then moves logically through data sources, input options, output format, and key caveats. Though long, every sentence carries meaningful information; there is no fluff or repetition. The structure makes the complexity easy to parse.

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?

Because there is no output schema, the description correctly takes responsibility for explaining what the caller receives: a readable brief with a headline, wage percentiles, and per-source evidence. Combined with parameter guidance, data-source requirements, and failure-mode notes, the description gives an agent everything needed to invoke the tool correctly and interpret its response.

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

Parameters4/5

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

The schema already documents all four parameters at 100% coverage, so the baseline is 3. The description adds meaning beyond the schema by stating national defaults, the occupation-or-soc_code usage pattern, and the metro coverage caveat. That lifts it above the baseline, though much of the schema already covers the override and example details.

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?

The description opens with a specific, memorable framing: one-call 'can I hire this role here, and at what cost' read. It clearly names the resource (occupation in a US geography), the core behavior (joins BLS OEWS and Census ACS), and even differentiates itself from raw sibling data tools by emphasizing the joined, brief-producing nature.

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?

The description states exactly what kind of query this answers and how to invoke it: pass an occupation or soc_code, plus optional state or metro. It does not explicitly name sibling alternatives or say when NOT to use this tool, but the context strongly implies it is the composite choice versus single-source tools like bls_series or census_demographics. That is clear enough but lacks explicit exclusions.

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.