Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Search 61,428+ US WARN Act layoff notices: 48 states, 1988-today, daily. Bundle needs no API key.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
claude mcp add --transport http warn https://mQpACuIiQcnwK93JY.apify.actor/mcp --header 'Authorization: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"warn": {
"url": "https://mQpACuIiQcnwK93JY.apify.actor/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"warn": {
"type": "http",
"url": "https://mQpACuIiQcnwK93JY.apify.actor/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The publisher (APProj) is not the repo owner (APVentureEngine); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 0 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.2.6) reached the registry 43 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
61,428 mass-layoff notices · 48 states · 1988 → today · rebuilt every morning · no API key · zero dependencies.
Every US state publishes the layoff notices employers must file under the WARN Act, and every state publishes them differently — a web page here, a pile of PDFs there, a search form somewhere else. WARN Feed scrapes all 48 of them daily and normalizes them into one schema. This is that dataset wired into the Model Context Protocol, so Claude, Cursor, Continue or your own agent can ask questions like:
*"Has Starbucks filed any WARN notices this year, and in which states?"*
*"What layoffs were announced in the last two weeks in Texas?"*
*"Which state had the most workers affected in 2026?"*
*"Did any agency quietly change or delete a notice this week?"*
Nothing to build and nothing to install into your Python environment — the server is standard library only.
Claude Desktop — one file, no terminal: download warn-mcp.mcpb and drag it onto Claude Desktop's Settings → Extensions window. That bundle is this repo's server plus a manifest; it needs a python3 on your PATH and nothing else. The same file is listed as the installable package for io.github.APProj/warn-mcp in the MCP registry.
Claude Desktop / Claude Code / anything that reads an `mcpServers` block:
{
"mcpServers": { "warn": { "command": "uvx", "args": ["--from", "git+https://github.com/APVentureEngine/warn-mcp", "warn-mcp"] } } }
Claude Code, one line:
claude mcp add warn -- uvx --from git+https://github.com/APVentureEngine/warn-mcp warn-mcp
No uv? Clone and run it with plain Python:
git clone https://github.com/APVentureEngine/warn-mcp && cd warn-mcp
python3 -m warn_mcp.server --selftest # exercises every tool against live data
{
"mcpServers": { "warn": { "command": "python3", "args": ["-m", "warn_mcp.server"], "cwd": "/path/to/warn-mcp" } } }
If your client wants a remote MCP server rather than a subprocess, point it at:
https://mQpACuIiQcnwK93JY.apify.actor/mcp (Streamable HTTP)
Same six tools, same daily-rebuilt data, same code as this repo. One honest caveat: the host (Apify) requires the *caller's* own API token, because it meters the compute to the account that calls it. Create a free Apify account, copy your token, and send it as Authorization: Bearer . We charge nothing, we see nothing, and we store nothing about your queries. If your client supports stdio, the .mcpb bundle above needs no token at all and is the better route.
claude mcp add --transport http warn https://mQpACuIiQcnwK93JY.apify.actor/mcp \
--header "Authorization: Bearer "
This endpoint is also listed as the remotes entry for io.github.APProj/warn-mcp in the official MCP registry.
The same six tools, same implementation, spoken over MCP's Streamable HTTP transport instead of stdio — for clients that want a URL rather than a subprocess, and for putting one shared instance behind your own team:
docker build -t warn-mcp . && docker run -p 8080:8080 warn-mcp
claude mcp add --transport http warn http://localhost:8080/mcp
No Docker? python3 http/app.py does the same thing — it is standard library only, like everything else here. PORT selects the port, /healthz returns {"ok":true}, and the server is stateless, so you can run as many replicas as you like behind any load balancer.
It is deliberately keyless: the data underneath is public and read-only, the server keeps no session state and stores nothing about callers. Do not bolt auth onto a public deployment of it and then advertise it as this server.
| Tool | What it answers |
|---|---|
search_layoff_notices | Employer / state / date-range / minimum-headcount search across the whole archive. Returns matched notice count, total workers affected, and the newest matches. |
latest_layoff_notices | The rolling ~14-day feed of newly published notices, newest first, optionally one state. |
employer_layoff_history | One employer's whole WARN record back to 1988 — notices, workers affected, every state it filed in, first and latest activity. |
state_layoff_totals | Monthly notice counts and workers affected: a national leaderboard by state, or one state's month-by-month series. |
agency_revisions | The dataset's own change log: a field-level diff of consecutive daily builds — amended fields (headcounts, dates, locations…), row_absent notices, row_returned ones — each tagged with a mechanically-determined cause_class. Records the observation, not the cause. |
dataset_status | Last rebuild time, states flagged stale, license, and the raw endpoints — call it before quoting a number. |
Every answer carries as_of and source, because a layoff figure with no date and no attribution is not worth repeating. Where the data is weaker than it looks, the tool says so in a caveat field rather than letting the model round it off: headcount is only counted where the agency published one, employer names are normalized by an auditable rule table rather than a corporate-registry join, and row_absent in the revision log means the agency stopped publishing a notice — not that the layoff was cancelled.
The CSV is right there and it is free — take it. This exists for the case where a model needs one specific answer out of a 9 MB file: the tools do the filtering and the arithmetic locally, so an agent spends a few hundred tokens instead of a context window, and it gets the freshness stamp with the answer.
agency_revisions is the part you cannot reconstruct from any single copy of the data. A state agency editing its own WARN page leaves no changelog, so a mirror taken today simply *is* today's truth. WARN Feed diffs yesterday's build against today's and keeps the field-level log — 638 logged changes since 2026-08-31, including 274 notices that stopped appearing. One honest caveat, stated in every response: a logged change can come from the agency amending or withdrawing a notice *or* from an improvement to this project's parser, and the log does not guess which — cause_class labels only what is mechanically distinguishable (field_populated, field_cleared, format_only, value_changed, unknown).
Tools read the free public WARN Feed endpoints over HTTPS and cache them on disk (~/.cache/warn-mcp, override with WARN_MCP_CACHE) with ETag revalidation, so ten tool calls in a row make at most one request per file per hour (WARN_MCP_TTL, seconds). If the network is down and a cached copy exists, the cached copy is served and its own as_of tells you how old it is.
There is no key, no signup, no rate limit and no telemetry — this server sends nothing anywhere except plain GETs for public files.
Data is compiled from official state WARN publications and released under CC BY 4.0 — credit "WARN Feed" and link back. This server's code is MIT. Not affiliated with any state agency or the US Department of Labor; state agencies' own postings are the authority and are occasionally revised (see agency_revisions).
Everything above is free and stays free. If you need to be *told* — your own list of employers matched against every daily refresh and pushed to a private alert page, a calendar feed, or a private RSS feed you point Slack, Discord or Teams at — that is WARN Watch, $49/year, with a free 30-day trial and no card. It is the only thing here that costs money.
Bugs, a state we should cover, a tool you want: open an issue.