AI Layoffs

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

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
63%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,513Tokens (tool definitions)
~2.8 KBTypical response size
Moderate attention impact (1.18% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "ai-layoffs": {
      "url": "https://ailayoffs.org/mcp"
    }
  }
}

Remote endpoints

https://ailayoffs.org/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢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.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢search_ai_layoff_events(query, company, attribution, evidence_tier, execution, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "pattern": "\\S",
      "description": "Free text matched against the company, the stated reason, the context paragraph, sector, country, affected roles and source name. Every word must appear. Example: 'customer service'."
    },
    "company": {
      "type": "string",
      "maxLength": 120,
      "pattern": "\\S",
      "description": "Company name or part of it, e.g. 'Klarna'."
    },
    "attribution": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "explicit",
          "mixed",
          "blamed"
        ]
      },
      "description": "Keep only these attribution levels. explicit: The company itself declared the layoff AI-related. blamed: A credible source named AI, but the company did not. Shown as context and never counted: prong 1 of our standard requires the employer's own source to name AI, so a blamed event is a failed claim, not a discounted one. mixed: AI was cited alongside other material factors (cost, demand)."
    },
    "evidence_tier": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "tier1",
          "tier2",
          "tier3"
        ]
      },
      "description": "Keep only these evidence tiers. tier1 (Primary-source attributed): AI named as a workforce driver in the company's own SEC filing, on-record earnings call, or official statement, with the event corroborated by a structured source. tier2 (Reputable-press attributed): AI named as a cause by credible journalism quoting a named company source, but not yet in a company filing. tier3 (Inferred / single-source): Attribution from one secondary tracker, an unnamed source, or vague forward-looking language."
    },
    "execution": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "executed",
          "partial",
          "announced",
          "reversed",
          "unknown"
        ]
      },
      "description": "Keep only these execution statuses. executed: The reduction has been carried out. partial: Some of the cut is done, the rest pending. announced: A stated plan, not yet carried out (often multi-year). unknown: Execution status not established. reversed: The cut was rolled back or rehired against (e.g. Commonwealth Bank)."
    },
    "country": {
      "type": "string",
      "maxLength": 80,
      "pattern": "\\S",
      "description": "Country as recorded, partial match, e.g. 'United States', 'India', 'Sweden'. For US-based roles use us_only."
    },
    "us_only": {
      "type": "boolean",
      "description": "Only events whose affected roles are US-based."
    },
    "sector": {
      "type": "string",
      "maxLength": 80,
      "pattern": "\\S",
      "description": "Sector, partial match, e.g. 'Financial', 'Software'."
    },
    "role": {
      "type": "string",
      "maxLength": 80,
      "pattern": "\\S",
      "description": "Affected function or occupation, partial match, e.g. 'customer service', 'engineering'."
    },
    "since": {
      "type": "string",
      "pattern": "^\\d{4}(-\\d{2}(-\\d{2})?)?$",
      "description": "Earliest event date, inclusive: YYYY, YYYY-MM or YYYY-MM-DD."
    },
    "until": {
      "type": "string",
      "pattern": "^\\d{4}(-\\d{2}(-\\d{2})?)?$",
      "description": "Latest event date, inclusive: YYYY, YYYY-MM or YYYY-MM-DD."
    },
    "counted_only": {
      "type": "boolean",
      "description": "Only events whose roles the register counts as AI-attributed (drops events that are reported but not counted)."
    },
    "sort": {
      "type": "string",
      "enum": [
        "newest",
        "oldest",
        "largest"
      ],
      "description": "newest first (default), oldest first, or the largest disclosed cut first."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Maximum events to return (default 10, at most 50)."
    },
    "full_context": {
      "type": "boolean",
      "description": "Also return each event's context paragraph. Several times longer, so best with a small limit; get_company_ai_layoffs always includes it for one company."
    }
  },
  "additionalProperties": false
}
🟢get_company_ai_layoffs(company)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "company": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "pattern": "\\S",
      "description": "Company name, e.g. 'Klarna', 'IBM', 'Salesforce'. Partial names work."
    }
  },
  "required": [
    "company"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools