# endoflife.ai — Software Lifecycle Intelligence [Health: Active]

**Category:** 🔒 Security  
**Repository:** https://github.com/endoflife-ai/endoflife-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 442  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/endoflife-ai-software-lifecycle-intelligence

## Description
EOL dates and risk scores for 480+ software products. Check versions, score risk, audit stacks.

## Tools
Capabilities this server exposes over MCP:

- **check_eol** — Check whether a specific version of a software product is end-of-life (EOL). Returns lifecycle status, the EOL date, days remaining or days past EOL, the latest release, and eol_date_source (where the date comes from: vendor-override, vendor-fetched, vendor-verified, custom, upstream, or discrepancy) with its source URL. Use this for "is X version Y still supported?" questions.
- **get_risk_score** — Get the proprietary EOL Risk Score (0-100) for a product version, with the four-factor breakdown (EOL recency, attack surface, CISA KEV exposure, extended support). Omit "version" to score the product's highest-risk (most recently end-of-lifed) release. Use this to quantify how dangerous it is to keep running something.
- **scan_stack** — Audit a whole stack at once. Provide a list of products (optionally with versions) — e.g. parsed from a package.json or Dockerfile — and get an EOL Risk Score for each, so you can see what is unsupported and dangerous in one call. For CycloneDX or SPDX documents use check_sbom instead. Without a key: up to 5 items per call; Starter 25; Pro 50. Items beyond the limit are listed as not checked, with a note.
- **list_products** — List or search the 700+ products endoflife.ai tracks. Pass an optional "query" substring to find the canonical slug for a product before calling the other tools (e.g. "postgres" → "postgresql"). Returns matching product slugs.
- **get_product_lifecycle** — Get the full version history for one product: every tracked version/cycle with its release date, EOL date, support status, and EOL Risk Score. Use for "give me the whole EOL schedule for X".
- **get_kev_exposure** — The exploited-vulnerability record for a product: every CVE CISA lists against it in the Known Exploited Vulnerabilities catalog, with the date added, the federal due date and CISA's required-action text verbatim (the "discontinue use" entries are the ones that matter for end-of-life versions), plus any entries from endoflife.ai's Exploited & Unpatchable feed (exploited CVEs whose affected versions will never receive a fix). Pass an optional version to include its support status alongside.
- **get_upcoming_eol** — What reaches end-of-life soon. Returns every tracked version whose EOL date falls within the next N days (default 90), optionally limited to a list of products, sorted by date. Also lists versions that went EOL within the last "recent_past_days" days when set. Use for "what in our stack expires this quarter?".
- **get_edge_device_status** — Query the EOS Edge Device Intelligence feed — firewalls, VPN gateways and appliances, ADCs, router and switch operating systems — with end-of-support status in the vocabulary of CISA BOD 26-02 (eos, within-12-months, scheduled, no-date-announced). Filter by platform or vendor name, by status, or by model/line. Each platform carries its KEV summary, vendor-stated successor and provenance. Use for "which of our edge devices are past support or expire within 12 months?".
- **get_upgrade_path** — Where to move a product version: the current version's support status and score, the supported releases with the longest remaining support, endoflife.ai's recommended target, and the vendor's stated successor where one is published (edge appliances). Use after check_eol says a version is EOL.
- **check_sbom** — Audit a CycloneDX or SPDX JSON software bill of materials. Components are mapped to tracked products and scored for EOL risk; unmatched components are listed honestly rather than guessed. Pass the SBOM as a JSON string or object. Versions resolve to their release family (python 3.12, php 7.4, ubuntu 20.04). Without a key up to 5 matched components are scored per call; Starter 25; Pro 50. Larger SBOMs return the scored subset plus a note of how many were not checked.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "endoflife-ai-software-lifecycle-intelligence": {
    "command": "npx",
    "args": ["-y","endoflife-mcp"],
    "env": {
      "ENDOFLIFE_API_KEY": ""
    }
  }
}
```

**Requires environment variables:** `ENDOFLIFE_API_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What endoflife.ai — Software Lifecycle Intelligence does

endoflife.ai — Software Lifecycle Intelligence provides read-only MCP tools for investigating software support status, lifecycle dates, and security-related risk. It tracks more than 700 products and returns source URLs with lifecycle answers. The service can identify whether a product version is supported, show its EOL date, report days remaining or past EOL, and identify the latest release.

Risk analysis includes a score from 0 to 100 and a breakdown covering EOL recency, attack surface, CISA Known Exploited Vulnerabilities exposure, and extended support. A stack scan accepts products with optional versions, while SBOM analysis accepts CycloneDX or SPDX JSON. Components that cannot be matched are reported rather than guessed.

The tools also cover complete product version histories, upcoming EOL events, exploited-vulnerability records, edge-device end-of-support status, and upgrade targets. Edge-device results use the status vocabulary from CISA BOD 26-02 and can be filtered by platform, vendor, status, or model line.

## How it works

The server runs as a dependency-free Cloudflare Worker and exposes MCP through Streamable HTTP. It proxies endoflife.ai API endpoints and published feeds rather than maintaining a separate copy of the lifecycle data. Calls are read-only, idempotent, and return both JSON text and structured content. Product lookup supports substring search, and lookup misses can include suggested canonical slugs.

Use `list_products` before other product-specific calls when the product name may not match the tracked slug. `check_eol` answers a specific support question; `get_risk_score` quantifies a version or product; `scan_stack` and `check_sbom` assess inventories; and `get_upgrade_path` identifies supported releases after an EOL result. `get_kev_exposure` adds CISA KEV and Exploited & Unpatchable records.

## Setup and configuration

The hosted MCP endpoint is `https://mcp.endoflife.ai`. Clients with remote MCP support can use that URL directly. Other clients can connect through an MCP remote bridge using the endpoint as its target. The repository also includes a Node-based container implementation with `/` for MCP JSON-RPC, `/health` for health checks, and a discovery-card endpoint.

For a self-hosted deployment, set `ENDOFLIFE_API_KEY`. The server forwards that key as `X-API-Key` when a request does not provide its own key. Anonymous self-hosted data requests are scheduled to stop working on November 16, 2026 at 00:00 UTC; the hosted endpoint remains keyless for its stated individual-use allowance. Free and paid API tiers impose different request and per-call limits, so larger stack or SBOM audits may require a paid tier.

## Tools and capabilities

- Check version EOL status, dates, latest releases, and evidence sources.
- Calculate risk scores with four-factor explanations.
- Scan product lists, CycloneDX documents, and SPDX documents.
- Search tracked products and retrieve full lifecycle histories.
- Find KEV exposure, exploited and unpatchable entries, and upcoming EOL dates.
- Review edge-device support status and identify upgrade paths.

## Limitations and notes

Call-size limits depend on the API tier. Without a key, stack and SBOM calls are limited; higher tiers allow more items, and excess entries are reported as not checked or not scored. SBOM matching resolves versions to release families and leaves unmatched components visible.

The server depends on the upstream API and published feeds. Self-hosted production deployment requires the repository's API service binding for the upstream Worker setup. Optional usage telemetry records tool name, client user agent, success or error, key status, and latency, but not request bodies. The endoflife.ai — Software Lifecycle Intelligence MCP server is suited to lifecycle and exposure assessment; it does not perform upgrades or modify the systems it reviews.

_Full upstream README: https://allmcps.com/mcp/endoflife-ai-software-lifecycle-intelligence/readme_

