PERM, prevailing wage and H-1B case status, DOL's queue and the visa bulletin, from federal records
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. Bearer YOUR_KEY from permtracker.app/settings gives your own limits; it works without one.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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"}.
One of "employer", "law firm" or "occupation" (singular).
From search_sponsors, e.g. google-llc.
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"}.
| Argument | Type | Description |
|---|---|---|
| kind* | string | One of "employer", "law firm" or "occupation" (singular). |
| slug* | string | From search_sponsors, e.g. google-llc. |
{
"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."
}
}
}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"}.
| Argument | Type | Description |
|---|---|---|
| filed | string | Filing date, YYYY-MM-DD, when there's no case number. |
| case_number | string | A PERM case number. |
{
"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."
}
}
}One DOL case by number: status, filing date, employer, job and, once decided, DOL's decided record. PERM (G-100-...), prevailing wage (P-100- to P-203-...), H-1B LCA (I-200-...) and H-2A, H-2B or CW-1 numbers. Example: {"case_number": "G-100-26045-123456"}.
| Argument | Type | Description |
|---|---|---|
| case_number* | string | As DOL prints it, e.g. G-100-26045-123456. |
{
"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."
}
}
}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: {}.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Search DOL's PERM records by name. Returns each match's record and the slug that employer_profile takes. Example: {"kind": "employer", "name": "Microsoft"}.
| Argument | Type | Description |
|---|---|---|
| kind* | string | One of "employer", "law firm" or "occupation" (singular). |
| name* | string | Part of the name, 2 to 120 characters, e.g. Microsoft. |
{
"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."
}
}
}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"}.
| Argument | Type | Description |
|---|---|---|
| month | string | YYYY-MM. Leave out for the newest. |
{
"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."
}
}
}