# AI Layoffs

> Source-cited register of layoffs linked to AI, plus a live 0-100 AI job-loss index. No key.

- name: org.ailayoffs/ai-layoffs
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 95/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/org.ailayoffs%2Fai-layoffs
- tools: https://api.protogrid.dev/v1/servers/org.ailayoffs%2Fai-layoffs/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "ai-layoffs": {
      "type": "http",
      "url": "https://ailayoffs.org/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-24d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 95/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,685 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 10 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 4, about 1,685 tokens to load them all
- tool set hash: 1fc45b6d696573e887f77c071def1923
- tools last changed: 2026-10-18T03:36:50.900Z
- badge: [![protogrid quality](https://protogrid.dev/badge/org.ailayoffs/ai-layoffs.svg)](https://protogrid.dev/servers/org.ailayoffs/ai-layoffs)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-18 `get_company_ai_layoffs` changed (description)
  - before: Did a specific company cut jobs because of AI? Returns the register's verdict for that company (explicit, mixed or blamed: the strongest grade among its cuts), its answer (the strongest position its own words hold: declared, cited, conflicting, attrition, denied, not-named, or statement for a workforce statement with no cut), a plain-language summary, the roles it disclosed vs the roles counted as AI-attributed, and every recorded event with the employer's own words and source. Accepts a company name such as 'Klarna' or 'Salesforce'. If the company is not in the register, says so and what that does and does not mean.
  - after: Did a specific company cut jobs because of AI? Returns the register's verdict for that company (explicit, mixed or blamed: the strongest grade among its cuts), its answer (the strongest position its own words hold: declared, cited, conflicting, attrition, denied, not-named, or statement for a workforce statement with no cut), a plain-language summary, the roles it disclosed vs the roles counted as AI-attributed, and every recorded event with the employer's own words and source. It also lists the company's later cuts that the register checked and left out because neither the employer nor credible press linked them to AI (later_cuts_not_ai_linked, never counted), so a question about the newest layoff is answered either way. Accepts a company name such as 'Klarna' or 'Salesforce'. If the company is not in the register, says so and what that does and does not mean.
- 2026-10-05 `get_company_ai_layoffs` changed (description)
  - before: Did a specific company cut jobs because of AI? Returns the register's verdict for that company (explicit, mixed or blamed), the roles it disclosed vs the roles counted as AI-attributed, and every recorded event with the employer's own words and source. Accepts a company name such as 'Klarna' or 'Salesforce'. If the company is not in the register, says so and what that does and does not mean.
  - after: Did a specific company cut jobs because of AI? Returns the register's verdict for that company (explicit, mixed or blamed: the strongest grade among its cuts), its answer (the strongest position its own words hold: declared, cited, conflicting, attrition, denied, not-named, or statement for a workforce statement with no cut), a plain-language summary, the roles it disclosed vs the roles counted as AI-attributed, and every recorded event with the employer's own words and source. Accepts a company name such as 'Klarna' or 'Salesforce'. If the company is not in the register, says so and what that does and does not mean.
- 2026-10-05 `search_ai_layoff_events` changed (inputSchema)
- 2026-09-30 `get_company_ai_layoffs` changed (description)
  - before: Did a specific company cut jobs because of AI? Returns the register's verdict for that company (explicit, mixed or blamed), the roles it disclosed vs the roles counted as AI-attributed, and every recorded event with the employer's own words and primary source. Accepts a company name such as 'Klarna' or 'Salesforce'. If the company is not in the register, says so and what that does and does not mean.
  - after: Did a specific company cut jobs because of AI? Returns the register's verdict for that company (explicit, mixed or blamed), the roles it disclosed vs the roles counted as AI-attributed, and every recorded event with the employer's own words and source. Accepts a company name such as 'Klarna' or 'Salesforce'. If the company is not in the register, says so and what that does and does not mean.
- 2026-09-30 `search_ai_layoff_events` changed (description)
  - before: Search the source-cited register of layoffs linked to AI (one row per event, 2023 to date). Filter by company, free text, attribution, evidence tier, execution status, country, sector, affected role and date range; call with no arguments for the most recent events. Each event returns the employer's own stated reason (claim), roles counted vs reported but not counted, execution status, and a link to its primary source and its ailayoffs.org company page; set full_context for each event's longer context paragraph.
  - after: Search the source-cited register of layoffs linked to AI (one row per event, 2023 to date). Filter by company, free text, attribution, evidence tier, execution status, country, sector, affected role and date range; call with no arguments for the most recent events. Each event returns the employer's own stated reason (claim), roles counted vs reported but not counted, execution status, and a link to its source and its ailayoffs.org company page; set full_context for each event's longer context paragraph.
- 2026-09-28 `search_ai_layoff_events` changed (description, inputSchema)
  - before: Search the source-cited register of layoffs linked to AI (one row per event, 2023 to date). Filter by company, free text, attribution, evidence tier, execution status, country, sector, affected role and date range; call with no arguments for the most recent events. Each event returns the employer's own stated reason (claim), roles counted vs reported but not counted, execution status, and a link to its primary source and its ailayoffs.org company page; set full_context for the longer context and caveats.
  - after: Search the source-cited register of layoffs linked to AI (one row per event, 2023 to date). Filter by company, free text, attribution, evidence tier, execution status, country, sector, affected role and date range; call with no arguments for the most recent events. Each event returns the employer's own stated reason (claim), roles counted vs reported but not counted, execution status, and a link to its primary source and its ailayoffs.org company page; set full_context for each event's longer context paragraph.
- 2026-09-27 `get_company_ai_layoffs` changed (annotations)
- 2026-09-27 `search_ai_layoff_events` changed (inputSchema, annotations)
- 2026-09-27 `count_ai_job_losses` changed (description, annotations)
  - before: Answers 'how many jobs has AI replaced (or cost) this year?' with the register's published count: roles disclosed in layoffs linked to AI, roles where the employer itself named AI, the evidence-weighted headline figure, and the independent Challenger, Gray & Christmas count of US cuts attributed to AI. Each figure carries its scope (worldwide or US), its period and its definition, plus the ready-made answer sentence. Use this instead of adding up search results. Takes no arguments.
  - after: Answers 'how many jobs has AI replaced (or cost) this year?' with the register's published count: roles disclosed in layoffs linked to AI, roles where the employer itself named AI, the evidence-weighted headline figure, and the independent Challenger, Gray & Christmas count of US cuts attributed to AI. Each figure carries its scope (worldwide or US), its period and its definition, plus the ready-made answer sentence. The totals are computed over the whole register, so they are the published figures, not a sum of search results. Takes no arguments.
- 2026-09-27 `get_ai_layoffs_index` changed (description, annotations)
  - before: Current reading of the AI Layoffs Index, a 0-100 score of AI-attributed job-loss pressure scaled against AI's own history since 2023 (not a share of all jobs). Returns the value, its band, the uncertainty range, the change vs last month, the three weighted components with what each reads, the as-of date, and a citation string to quote verbatim. Takes no arguments.
  - after: Current reading of the AI Layoffs Index, a 0-100 score of AI-attributed job-loss pressure scaled against AI's own history since 2023 (not a share of all jobs). Returns the value, its band, the uncertainty range, the change vs last month, the three weighted components with what each reads, the as-of date, and a ready-made citation string. Takes no arguments.

Full history: https://api.protogrid.dev/v1/servers/org.ailayoffs%2Fai-layoffs/changes

## Remotes

- https://ailayoffs.org/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (4)

- `count_ai_job_losses`: Answers 'how many jobs has AI replaced (or cost) this year?' with the register's published count: roles disclosed in layoffs linked to AI, roles where the employer itself named AI, the evidence-weighted headline figure, and the independent Challenger, Gray & Christmas count of US cuts attributed to AI. Each figure carries its scope (worldwide or US), its period and its definition, plus the ready-made answer sentence. The totals are computed over the whole register, so they are the published figures, not a sum of search results. Takes no arguments.
- `get_ai_layoffs_index`: Current reading of the AI Layoffs Index, a 0-100 score of AI-attributed job-loss pressure scaled against AI's own history since 2023 (not a share of all jobs). Returns the value, its band, the uncertainty range, the change vs last month, the three weighted components with what each reads, the as-of date, and a ready-made citation string. Takes no arguments.
- `get_company_ai_layoffs`: Did a specific company cut jobs because of AI? Returns the register's verdict for that company (explicit, mixed or blamed: the strongest grade among its cuts), its answer (the strongest position its own words hold: declared, cited, conflicting, attrition, denied, not-named, or statement for a workforce statement with no cut), a plain-language summary, the roles it disclosed vs the roles counted as AI-attributed, and every recorded event with the employer's own words and source. It also lists the company's later cuts that the register checked and left out because neither the employer nor credible press linked them to AI (later_cuts_not_ai_linked, never counted), so a question about the newest layoff is answered either way. Accepts a company name such as 'Klarna' or 'Salesforce'. If the company is not in the register, says so and what that does and does not mean.
- `search_ai_layoff_events`: Search the source-cited register of layoffs linked to AI (one row per event, 2023 to date). Filter by company, free text, attribution, evidence tier, execution status, country, sector, affected role and date range; call with no arguments for the most recent events. Each event returns the employer's own stated reason (claim), roles counted vs reported but not counted, execution status, and a link to its source and its ailayoffs.org company page; set full_context for each event's longer context paragraph.
