Repository navigation
Releases: APVentureEngine/warn-mcp
Release list
v0.2.6 — precise no-key claim
Same six tools and same data as v0.2.5. Wording fix only: the registry description now says the bundle needs no API key, because the newly listed hosted HTTP endpoint does require the caller own Apify token. The stdio bundle attached here still needs no key of any kind.
v0.2.5 — hosted HTTP endpoint listed
Adds the hosted Streamable-HTTP endpoint to server.json (remotes) and to the README, so remote-only MCP clients can use warn-mcp without installing anything. Same six tools, same daily-rebuilt data (61,428 notices, 48 states, 1988 to today). The stdio .mcpb bundle attached here still needs no token at all.
v0.2.4 — agency_revisions tells the truth about what it is
agency_revisions advertised change_type values that the log never contained (field_changed, row_new); the real vocabulary is amended, row_absent, row_returned and the schema now says so as an enum. An unknown value is an explicit tool error. Rows carry id and cause_class; the response adds by_cause_class, log_covers_to, order, and the same observation-not-cause disclaimer the dataset ships. All six tool descriptions now state result shape, ordering and which sibling tool to use. Self-test 22/22 against live data.
Install: drag warn-mcp.mcpb onto Claude Desktop → Settings → Extensions. sha256 in the .sha256 file.
v0.2.3 — regression guard for whole-word employer search
Locks the v0.2.1/v0.2.2 employer-matching fix behind the server's own self-test, so the substring defect cannot come back silently.
python3 warn_mcp/server.py --selftest now also asserts:
search_layoff_notices(company="Ford")returns no row whosecompany/company_canonicallacksfordas a whole word — the v0.2.0 defect returned 219 hits led by Stanford Health Care;- a zero-hit search returns
similar_company_namescontaining a real filed name.
No runtime behaviour change from v0.2.2. 16 of 16 self-test checks pass against the live 61,345-row archive.
v0.2.2 — a zero-hit search now tells you what to retry
Follow-up to v0.2.1. v0.2.1 fixed employer search to match whole words, and added similar_company_names so a zero-hit search tells you what to retry with. That hint only fired when a filed name contained your entire query string — so company="Wal-Mart Corp" returned 0 notices and 0 suggestions, the exact dead end the field was added to prevent. The archive does hold Walmart; it is filed as Wal-Mart Stores.
Suggestions are now ranked: whole-string containment first, then the names sharing the most words with your query. Verified on the live 61,345-row archive:
| query | notices | suggested |
|---|---|---|
Wal-Mart Corp |
0 | Wal-Mart, Wal-Mart Stores, Wal-Mart Stores Inc, Wal-Mart Distribution Center |
Kroger Supermarket |
0 | Kroger, KROGER, Kroger #403, Kroger-00240 |
Zzzznotreal |
0 | (none — correctly silent) |
No change to tool names, arguments or response shape.
v0.2.1 — employer search matches whole words
Employer search was returning wrong companies. Fixed.
search_layoff_notices(company="Ford") returned 219 notices whose top hits were Stanford Health Care, Hanford, Medford. The matcher tested substring containment against the company fields, so any employer name that merely contained your string came back as a match.
Measured on the live 61,345-row archive across 30 realistic employer queries:
| query | before | after | false rows removed |
|---|---|---|---|
| Ford | 219 | 67 | 152 (69% of results were wrong) |
| Apple | 107 | 65 | 42 |
| Intel | 121 | 100 | 21 |
| Amazon | 211 | 203 | 8 |
| Walmart / United Airlines / Tesla | — | unchanged | 0 |
Across all 30 queries: 336 of 4,310 returned rows (7.8%) were false matches, and 8 of the 30 queries were affected.
What changed
search_layoff_notices,employer_layoff_historyandagency_revisionsnow match on whole words: every word of your query must appear as a complete word in the notice'scompany,company_canonicalorcompany_dba.united airlinesstill matchesUnited Airlines, Inc.;fordno longer matchesStanford.- This is the same rule the paid WARN Watch alert matcher has always used, so the two can no longer disagree about what "Ford" means.
- Responses now carry
company_match_rule, and a zero-hit search returnssimilar_company_names— real canonical names that contain your string — so an agent retries with a working string instead of reporting that the archive has no such employer. - Tool schemas state the matching rule, so a model reads it before calling.
No breaking changes to tool names, arguments or response shape. Install is unchanged.
Data: 61,345 notices, 48 states, 1988 to today, rebuilt daily, CC BY 4.0, no API key.
warn-mcp 0.2.0 — drag-and-drop desktop bundle
New: warn-mcp.mcpb — download it and drop it on Claude Desktop (Settings -> Extensions). Needs a python3 on your PATH; no other dependencies.
Six tools over 61,330+ US WARN Act mass-layoff notices from 48 states, back to 1988, rebuilt every morning: search_layoff_notices, latest_layoff_notices, employer_layoff_history, state_layoff_totals, agency_revisions, dataset_status.
SHA-256 of warn-mcp.mcpb: e6102a2208f1273637a7adc1ea3b9e7b77cadbdc7dc687f67a084b8cf44e3523
warn-mcp 0.1.0
First release. Six read-only MCP tools over the free WARN Feed dataset (61,320 US WARN Act layoff notices, 48 states, 1988 to today, rebuilt daily):
search_layoff_notices— employer / state / date-range / minimum-headcount searchlatest_layoff_notices— the rolling ~14-day new-notice feedemployer_layoff_history— one employer across every state, back to 1988state_layoff_totals— monthly counts, national leaderboard or one state seriesagency_revisions— field-level diff of daily snapshots: corrected headcounts, moved dates, notices the agency stopped publishingdataset_status— last rebuild, stale states, license, raw endpoints
Standard library only, no API key, disk cache with ETag revalidation, stdio JSON-RPC.
claude mcp add warn -- uvx --from git+https://github.com/APVentureEngine/warn-mcp warn-mcpData CC BY 4.0 (credit "WARN Feed"); code MIT.