Skip to main content
Glama

KeyVex

get_h1b_filings

Read-only

Returns H-1B Labor Condition Applications from the Department of Labor's quarterly disclosure files — one record per LCA with employer, job title, O*NET-SOC occupation code, offered wage vs DOL prevailing wage, worksite location, and employer risk flags (h1b_dependent, willful_violator). Covers H-1B, H-1B1 (Chile / Singapore), and E-3 (Australia) visa classes. Use this when the user asks about: a company's hiring activity or wage levels for specific roles, tech-hiring trends by state or occupation, offered vs prevailing wage gaps, or outsourcing-firm staffing patterns. IMPORTANT interpretation notes (stated so agents don't over-read): an LCA is filed BEFORE the H-1B petition and can cover multiple positions (total_worker_positions) — it signals hiring INTENT, not an approved visa or a hire. Certified ≫ actual visas issued. Wage fields are as filed; wage_unit varies (Year / Hour / Month / Week / Bi-Weekly) — normalize before comparing. Matching: employer_name is a substring over legal name + DBA (e.g., 'infosys', 'amazon'). soc_code is the precise occupation filter (e.g., '15-1252.00' Software Developers). case_status values: 'Certified', 'Certified - Withdrawn', 'Denied', 'Withdrawn'. Coverage: FY2024→present from DOL's quarterly files (fiscal_year / fiscal_quarter on each record; ~400-550K filings per quarter). Pure-publisher posture: DOL's disclosure rows as filed — no derived 'real wage' normalization or employer scoring.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum filings to return. Default 50, max 500.
sinceNoDecision date lower bound (YYYY-MM-DD inclusive).
untilNoDecision date upper bound (YYYY-MM-DD inclusive).
soc_codeNoExact O*NET-SOC occupation code (e.g., '15-1252.00' = Software Developers).
job_titleNoCase-insensitive substring against the job title (e.g., 'machine learning').
sort_orderNoDefault: desc (most recent decisions first).
visa_classNoExact: 'H-1B', 'H-1B1 Chile', 'H-1B1 Singapore', 'E-3 Australian'.
case_numberNoDirect lookup by DOL case number (e.g., 'I-200-26083-726723').
case_statusNoExact: 'Certified', 'Certified - Withdrawn', 'Denied', 'Withdrawn'.
employer_nameNoCase-insensitive substring against employer legal name + DBA (e.g., 'google', 'tata').
worksite_stateNoTwo-letter worksite state (e.g., 'CA', 'TX').

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover only the safety profile (readOnly/openWorld/non-destructive), and the description adds substantial behavior beyond that: LCAs are pre-petition and signal intent not approval, Certified far exceeds visas issued, wage_unit varies across five units, case_status enum values, FY2024→present coverage at ~400-550K filings/quarter, and a pure-publisher no-normalization posture. This is exactly the context annotations cannot carry.

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?

Dense but front-loaded: return fields first, then usage triggers, then interpretation caveats, matching, and coverage. Length is justified by the tool's complexity, though a few clauses (e.g. the two 'e.g.' examples) repeat schema content and could be trimmed.

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, 11 parameters, and a nuanced dataset, the description still supplies return-field inventory, interpretation caveats, coverage window, matching behavior, and wage-normalization warnings. Nothing an agent needs to call and read this correctly is missing.

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 11 parameters are already documented; baseline is 3. The description restates matching semantics (employer_name substring over legal+DBA, soc_code precise filter, case_status values) that largely duplicate the schema rather than adding syntax or default 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?

States a specific verb+resource (returns H-1B Labor Condition Applications from DOL quarterly files) and enumerates the exact record contents (employer, job title, SOC code, offered vs prevailing wage, worksite, risk flags). No sibling covers H-1B/LCA data, so the agent can place it immediately without opening the schema.

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 when-to-use triggers: company hiring activity, wage levels for roles, tech-hiring trends by state/occupation, offered-vs-prevailing gaps, outsourcing-firm patterns. Strong context, but it names no alternative tool or when-not-to-use boundary (e.g. vs unified_search).

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