lastseen mortality

dev.lastseenPublished by lastseen.devv0.1.2Updated Oct 24, 2026

Check whether an npm package, GitHub Action, MCP server or Docker image is dead or abandoned.

The publisher's own server: lastseen score

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Checks whether an npm package, GitHub Action, MCP server or Docker image is alive, dormant, abandoned, archived or deleted, using dated observations from…

What you can do
  • Check one component by owner/repo and get its dated survival series, optionally with a live GitHub read
  • Check every held component under a GitHub owner or organization
  • Paste a GitHub Actions workflow or a list of owner/repo lines and get the dated state per component, up to 30 per call
  • Request a category survival ranking, which is not offered over the free API and returns a not-supported result
When to use it
Useful when an assistant maintains or reviews dependency lists and you want to know whether a package, action, MCP server or image is still maintained before relying on it, or to re-check dependencies on each build.
Requirements
Runs as a local stdio process via uvx or pipx; needs Python 3.10 or newer and no other dependencies. It calls the free lastseen.dev HTTP API anonymously, so network access is required; no API key, signup or environment variables.
Before you install
Lookups are sent to the third-party lastseen.dev service, though it states it stores nothing and sends no identifiers. Results are dated observations, not advice: not_observed or unknown-stale means not checked, not dead. The free tier is limited to 60 requests per minute and 30 components per manifest call. Data is CC-BY-4.0 and requires attribution.

Installation

In SourceWeft

  1. Open lastseen mortality in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

lastseen-mcp

mcp-name: dev.lastseen/mortality

[last seen] [data: CC-BY-4.0] [code: MIT]

Is this dependency dead? Dated observations of whether an npm package, GitHub Action, MCP server, or Docker image is alive, dormant, abandoned, archived, or deleted — published by lastseen.dev. Free, no API key, zero telemetry.

There are two ways in, and they answer the same question from the same dated data:

  1. Call the free HTTP API directly — the durable, machine-native path (below). An agent that keeps a dependency list can re-check it on every build.
  2. Run it as an MCP server — a thin stdio wrapper over that same API, for MCP clients.

1. The free API (call it directly)

No key. No signup. 60 requests/minute, anonymous GET. Every response is a dated observation with its source — not a score, not advice. Base URL https://lastseen.dev.

bash
# one component (owner/repo)curl https://lastseen.dev/api/v1/entity/actions/checkout
# everything held under a GitHub owner/orgcurl https://lastseen.dev/api/v1/org/actions
# a whole manifest at once (names-only body)curl -X POST https://lastseen.dev/api/v1/manifest \  -H 'content-type: application/json' \  -d '{"channel":"api","components":[{"name":"actions/checkout","kind":"github-action"}]}'
# self-describing API docs (JSON)curl https://lastseen.dev/api/v1/docs

A single-component response carries the latest_state, the dated series behind it, the source_of_record, and interval-censoring notes — enough to re-check any verdict against GitHub yourself. This is the recurring path: wire GET /api/v1/entity/{owner}/{repo} into CI and a dead dependency shows up on the build that introduces it, not months later.

Contract

  • Lookups, not advice. Every answer is a dated observation with its source. Never "use X instead", never a composite score, never a ranking by preference, never urgency language.
  • Fails closed. An unknown or fabricated subject returns a clean not_observed — never a fabricated result. A network/store error degrades (try later); it is never read as "dead".
  • Absence ≠ gone. No record means "not checked", never "deleted". Only an authoritative HTTP 404 is a deletion.

States

alive (≤180d since last commit) · dormant (180–365d) · abandoned (>365d) · archived (repo archived) · deleted (authoritative HTTP 404) · eol (declared end-of-life) · unknown-stale (the observation the verdict rests on is older than the 180-day threshold and was not re-verified — no state asserted; not a death) · not_observed (403 / 429 / timeout / not held — not dead).


2. Run it as an MCP server

A pure-standard-library stdio wrapper over the API above — no mcp package, no requests, no FastAPI/Starlette, nothing that can conflict with a host app. It speaks JSON-RPC 2.0 over stdio and calls the free API over urllib.

Install

bash
pipx install lastseen-mcp# or run without installing:uvx lastseen-mcp

Requires Python ≥ 3.10. No dependencies.

Add to an MCP client

json
{  "mcpServers": {    "lastseen": { "command": "lastseen-mcp" }  }}

(If you use uvx, set "command": "uvx", "args": ["lastseen-mcp"].)

Tools

ToolWhat it does
check_entity(slug, live?)Dated survival series for one owner/repo (e.g. actions/checkout). live=true attaches a live GitHub read (absence ≠ gone).
check_org(name)Dated states for every held component under a GitHub owner/org.
check_manifest(paste)Paste a GitHub Actions workflow (uses: refs) or owner/repo lines; get the dated state per component. Unheld components are not_observed.
survival_profile(category)Category ranking — not available over the free API; returns an honest not-supported result pointing to the per-entity/org/manifest lookups and the CC-BY dumps.

check_manifest looks up at most 30 parsed components per call (free-tier rate bound); any remainder is reported as n_truncated.


Privacy

Zero telemetry. The client and the API store nothing and transmit no identifier about you, your org, or the subjects you look up — anonymous GETs only.

Licensing

  • Code: MIT (see LICENSE).
  • Data: the mortality/survival observations are published by lastseen.dev under CC-BY-4.0 (attribution required). The two licenses are independent.

Links

Source: README.md at commit f49fb33

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.

Other Lastseen integrations