Warn Mcp

io.github.APProj由 GitHub 账号 APProj 发布v0.2.6更新于 Oct 28, 2026

Search 61,428+ US WARN Act layoff notices: 48 states, 1988-today, daily. Bundle needs no API key.

已验证Streamable HTTP可网页运行数据与分析商业与电商

概览

AI 生成的概览

提供每日重建的美国 WARN 法案裁员通知数据集(48 个州、1988 年至今),让助手可检索通知、企业与各州统计。

可以做什么
  • 按企业、州、日期范围和最低人数检索通知,返回匹配数量与受影响员工总数
  • 获取最近约 14 天新发布通知的滚动列表,可限定单个州
  • 查询某企业自 1988 年以来的完整 WARN 记录及涉及的所有州
  • 获取按月的通知数量与受影响人数,可做全国各州排行或单州时间序列
  • 查看数据集自身的变更日志(字段修改、消失与重新出现的通知),并核对重建时间、数据滞后的州与许可信息
适用场景
适合回答有关美国大规模裁员或工厂关闭的问题,并希望数字附带日期与来源;也适合核查某机构是否悄悄修改或撤下了通知。若只需原始 CSV 文件则不必安装。
运行要求
可作为本地 stdio 进程运行(.mcpb 包需要 PATH 中有 python3,也可用 uvx 或纯 Python),或连接远程 Streamable HTTP 端点。托管在 Apify 的端点要求 Authorization 请求头携带调用者自己的 Apify API 令牌;本地包无需密钥。需要访问公开 WARN Feed 端点的网络;可选 WARN_MCP_CACHE 与 WARN_MCP_TTL 设置。
安装前请注意
托管端点通过 Authorization 令牌把计算计入你自己的 Apify 账户,请将该令牌视为机密。数据为公开只读,但人数仅在机构公布时才有,企业名称按规则表归一而非企业注册库匹配,通知从日志中消失并不代表裁员取消。另有一项付费提醒服务被宣传,服务器本身不收费。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Warn Mcp,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.APProj%2Fwarn-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "warn": {
      "type": "http",
      "url": "https://mqpacuiiqcnwk93jy.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

warn-mcp — US layoff data (WARN Act) as an MCP server

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?"

Install

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:

json
{  "mcpServers": {    "warn": {      "command": "uvx",      "args": ["--from", "git+https://github.com/APVentureEngine/warn-mcp", "warn-mcp"]    }  }}

Claude Code, one line:

bash
claude mcp add warn -- uvx --from git+https://github.com/APVentureEngine/warn-mcp warn-mcp

No uv? Clone and run it with plain Python:

bash
git clone https://github.com/APVentureEngine/warn-mcp && cd warn-mcppython3 -m warn_mcp.server --selftest    # exercises every tool against live data
json
{  "mcpServers": {    "warn": { "command": "python3", "args": ["-m", "warn_mcp.server"], "cwd": "/path/to/warn-mcp" }  }}

Hosted: a URL, no install (ChatGPT / Claude.ai connectors, n8n, any remote client)

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 <your-apify-token>. 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.

bash
claude mcp add --transport http warn https://mQpACuIiQcnwK93JY.apify.actor/mcp \  --header "Authorization: Bearer <your-apify-token>"

This endpoint is also listed as the remotes entry for io.github.APProj/warn-mcp in the official MCP registry.

Or run it over HTTP (Streamable HTTP transport)

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:

bash
docker build -t warn-mcp . && docker run -p 8080:8080 warn-mcp# -> http://localhost:8080/mcp   (and a short human page at http://localhost:8080/)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.

Tools

ToolWhat it answers
search_layoff_noticesEmployer / state / date-range / minimum-headcount search across the whole archive. Returns matched notice count, total workers affected, and the newest matches.
latest_layoff_noticesThe rolling ~14-day feed of newly published notices, newest first, optionally one state.
employer_layoff_historyOne employer's whole WARN record back to 1988 — notices, workers affected, every state it filed in, first and latest activity.
state_layoff_totalsMonthly notice counts and workers affected: a national leaderboard by state, or one state's month-by-month series.
agency_revisionsThe 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_statusLast 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.

Why an MCP server and not just the CSV

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).

Caching and network

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, license, attribution

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).

The one paid thing

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.

来源:README.md,提交 13c61ce

工具

0
该服务器需要 API 密钥等凭据,因此 SourceWeft 无法在没有凭据的情况下读取其工具,也未收录。

版本历史

4
  1. v0.2.6最新Sep 24, 2026
  2. v0.2.4Sep 20, 2026
  3. v0.2.0Sep 17, 2026
  4. v0.1.0Sep 16, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分