warn-act-layoffs
Server Details
Search 5,950 US WARN Act layoff notices by state, employer, and date (CA, TX, NY, IL, NC).
- Status
- Healthy
- Uptime
- 99.9% over 46 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a distinct role: describe_dataset is metadata-only, layoff_coverage_stats returns per-state counts/freshness, and search_layoff_notices returns records. There is some overlap since describe_dataset also advertises 'how many notices and workers, per-state freshness,' which duplicates layoff_coverage_stats' purpose, but the no-key/with-key split makes the boundary clear enough.
Naming mixes conventions: describe_dataset (verb_noun), layoff_coverage_stats (bare noun phrase with no verb), and search_layoff_notices (verb_noun). All are snake_case and readable, but the pattern isn't predictable — one tool looks like a data getter while behaving like a metadata call.
Three tools is thin for a dataset-access server: there is a metadata call, an aggregate-stats call, and one search call. It is defensible for a narrow API, but a single read/search tool plus one stats tool leaves the surface feeling minimal.
The core lifecycle (discover, assess coverage, search) is covered, but there is no fetch-by-provenance-key/detail endpoint, no pagination or bulk retrieval, and no way to enumerate filter values beyond the stats call. Agents can work around this but will hit dead ends when they need a specific record's full fields.
Available Tools
3 toolsdescribe_datasetDescribe the WARN datasetAInspect
Free, no API key required. Describes the US WARN Act layoff dataset: what a WARN notice is, which states are covered, how many notices and workers, per-state freshness, known coverage gaps, the schema of a record, and how to obtain an API key. Returns no records. Call this before search_layoff_notices to decide whether the data is useful.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the tool's non-data-returning behavior ('Returns no records'), mentions per-state freshness and coverage gaps, and notes the API key process. This gives an honest picture of an informational, read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences, front-loads the most important access info ('Free, no API key required'), and packs the tool's scope into a compact list. Every phrase earns its place without padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter informational tool with no output schema, this description is complete: it explains what the tool returns, what topics it covers, and where it fits in the workflow before search_layoff_notices. No missing critical context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema description coverage, so there are no parameters to explain. According to the baseline for zero-parameter tools, the description need not add parameter detail; the score of 4 reflects that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Describes') and a specific resource ('US WARN Act layoff dataset'), then enumerates exactly what content is covered. It also distinguishes itself from search_layoff_notices by explicitly saying it 'Returns no records.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives direct sequencing guidance: 'Call this before search_layoff_notices to decide whether the data is useful.' It also signals no authentication prerequisite with 'Free, no API key required.' It does not explicitly discuss the sibling layoff_coverage_stats, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
layoff_coverage_statsWARN corpus coverage and freshnessAInspect
Per-state coverage of the WARN corpus: how many notices are held for each state and the most recent dates. Use it to check freshness before relying on a search result. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses the API key requirement and the read-only nature of reporting coverage statistics. It stops short of describing output details or limitations, but for a zero-parameter query tool this is reasonable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The first sentence states what the tool returns, and the second gives the use case and a key requirement. The description is well structured and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter coverage query, the description covers the core purpose, use case, and authentication requirement. It lacks a schema or explicit output format, but the values the agent needs to see—state, count, and recent date—are clearly implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description correctly avoids documenting nonexistent parameters and does not need to compensate for any schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies exactly what the tool provides: per-state counts of notices and the most recent dates for the WARN corpus. It names the resource and output clearly, and the phrase 'check freshness before relying on a search result' differentiates it from the search_layoff_notices sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: before relying on a search result, to verify freshness. This gives clear contextual guidance, though it does not enumerate when-not-to-use or mention the describe_dataset sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_layoff_noticesSearch WARN layoff noticesAInspect
Search US WARN Act mass-layoff and plant-closing notices by state, employer name, effective date range, and county/location. Returns structured records: employer, workers impacted, effective date, notice filing date, location, layoff type, and a provenance key. Useful for layoff tracking, corporate distress and alternative-data signals, employment-law and WARN-compliance research, and recruiting or outplacement leads. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| state | No | ||
| offset | No | ||
| company | No | ||
| end_date | No | ||
| location | No | ||
| start_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the burden of behavioral disclosure. It states that the tool returns structured records and requires an API key. However, it does not disclose practical behaviors such as pagination behavior, maximum result limits, sort order, or how filters combine (AND/OR semantics), which are important for an effective search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is rich but compact, covering action, scope, return structure, use cases, and authorization in a single block. It is slightly expansive in the list of use cases, but each sentence contributes meaningful information and the core action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description appropriately explains the return format and acknowledgement of the API key requirement. It remains incomplete on pagination details, default behavior with no filters, and clarification of date bounds, but overall it provides enough context for an agent to begin using the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description maps natural languages like state, company, effective date range, and county to several parameters, which is helpful given 0% schema coverage. Still, it does not explain limit and offset, date formats, or how 'start_date' and 'end_date' interplay, so the meaning of two semantically significant parameters is left to the caller to infer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Search US WARN Act mass-layoff and plant-closing notices'), enumerates search filters, and describes the structured return fields. It clearly distinguishes this tool from sibling tools like describe_dataset and layoff_coverage_stats by framing it as the search interface to WARN notice data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides strong contextual guidance with concrete use cases: layoff tracking, corporate distress, employment-law research, and recruiting/outplacement leads. It does not explicitly name sibling tools or state when not to use this tool, but the use-case framing implies appropriate scenarios and sets clear expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Removed
describe_texas_wellbores - Removed
search_texas_wellbores
2 tool updates
- Added
describe_texas_wellbores - Added
search_texas_wellbores
3 tool updates
- First observed
describe_dataset - First observed
layoff_coverage_stats - First observed
search_layoff_notices
Related MCP Connectors
Search 61,428+ US WARN Act layoff notices: 48 states, 1988-today, daily. Bundle needs no API key.
WARN Act layoff notices — state-by-state.
WARN layoffs, H-1B/LCA visas, SEC 8-K, bankruptcies, DOL claims & JOLTS for all 50 US states.
Apify MCP: retrainmap/warn-notices - WARN layoff notices CA/IL/NY, normalised from agency files
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables searching and retrieving WARN Act layoff and plant-closure notices from covered states, filtering by company, state, date, or size, and checking coverage and freshness.419 npmMIT
- AlicenseAqualityAmaintenanceEnables natural-language querying of US WARN Act layoff notices across 48 states since 1988, including searches, employer histories, state totals, and agency revisions, with no API key.6MIT
- AlicenseAqualityBmaintenanceSearch bills and speaker-attributed hearing transcripts across all 50 US state legislatures.71MIT
- AlicenseNot gradedqualityBmaintenanceEnables querying concluded U.S. Department of Labor Wage & Hour Division enforcement cases, including employer search, case histories, back-wage totals, and dataset coverage.246 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.