MCP Server

PERM Tracker

app.permtracker/perm-tracker
Legal & Compliance Public & reachable MCP 2025-11-25

What this MCP does

Looks up US PERM, prevailing wage, H-1B, and related labor cases, employer records, processing queues, decision estimates, and visa bulletin dates.

employer_profile
An employer's, law firm's or occupation's PERM record
Cases in DOL's published files (certified, denied, median days to a decision, filings in the last 12 months, and for an occupation the median offered wage), plus how many of its cases are pending at DOL right now and at which stage. Find the slug with search_sponsors first. Example: {"kind": "employer", "slug": "microsoft-corporation"}.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['kind', 'slug'], 'properties': {'kind': {'enum': ['employer', 'law firm', 'occupation'], 'type': 'string', 'description': 'One of "employer", "law firm" or "occupation" (singular).'}, 'slug': {'type': 'string', 'maxLength': 120, 'description': 'From search_sponsors, e.g. google-llc.'}}}
estimate_decision
Estimate a PERM decision date
When a pending PERM case is likely to be decided, with a range, the model used and its caveats. Pass a case number, or a filing date for a case in analyst review. An estimate, not a promise. Examples: {"case_number": "G-100-26045-123456"} or {"filed": "2026-01-15"}.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'filed': {'type': 'string', 'maxLength': 10, 'description': "Filing date, YYYY-MM-DD, when there's no case number."}, 'case_number': {'type': 'string', 'maxLength': 40, 'description': 'A PERM case number.'}}}
lookup_case
Look up a case
One DOL case by number: status, filing date, employer, job and, once decided, DOL's decided record. PERM (G-100-...), prevailing wage (P-100-...), H-1B LCA (I-200-...) and H-2A/H-2B numbers. Example: {"case_number": "G-100-26045-123456"}.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['case_number'], 'properties': {'case_number': {'type': 'string', 'maxLength': 40, 'description': 'As DOL prints it, e.g. G-100-26045-123456.'}}}
queue_status
PERM and prevailing wage queues
DOL's processing times today: the month each PERM and prevailing wage queue is working on, average days to a decision, and how many PERM cases are pending from each filing month. Takes no arguments: {}.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
search_sponsors
Find an employer, law firm or occupation
Search DOL's PERM records by name. Returns each match's record and the slug that employer_profile takes. Example: {"kind": "employer", "name": "Microsoft"}.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['kind', 'name'], 'properties': {'kind': {'enum': ['employer', 'law firm', 'occupation'], 'type': 'string', 'description': 'One of "employer", "law firm" or "occupation" (singular).'}, 'name': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'Part of the name, 2 to 120 characters, e.g. Microsoft.'}}}
visa_bulletin
Visa bulletin
A visa bulletin's employment and family final action and dates for filing charts, as printed. The newest by default; months back to June 2005. Examples: {} for the newest, or {"month": "2026-10"}.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'month': {'type': 'string', 'maxLength': 7, 'description': 'YYYY-MM. Leave out for the newest.'}}}
Added
employer_profile
Oct. 4, 2026, 2:40 a.m.
Added
search_sponsors
Oct. 4, 2026, 2:40 a.m.
Added
visa_bulletin
Oct. 4, 2026, 2:40 a.m.
Added
queue_status
Oct. 4, 2026, 2:40 a.m.
Added
estimate_decision
Oct. 4, 2026, 2:40 a.m.
Added
lookup_case
Oct. 4, 2026, 2:40 a.m.