lastseen-mcp
Allows checking whether Docker images are alive, dormant, abandoned, archived, or deleted, using lastseen.dev observations.
Allows checking the survival status of GitHub repositories and organizations, providing dated observations on whether they are alive, dormant, abandoned, archived, or deleted.
Enables parsing GitHub Actions workflows and checking the status of the actions (uses: refs) they depend on, based on lastseen.dev observations.
Enables checking whether npm packages are alive, dormant, abandoned, archived, or deleted, using lastseen.dev observations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lastseen-mcp Check if actions/checkout is alive or abandoned."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
lastseen-mcp
mcp-name: dev.lastseen/mortality
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:
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.
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.
# one component (owner/repo)
curl https://lastseen.dev/api/v1/entity/actions/checkout
# everything held under a GitHub owner/org
curl 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/docsA 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).
Related MCP server: Dependency Health MCP
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
pipx install lastseen-mcp
# or run without installing:
uvx lastseen-mcpRequires Python ≥ 3.10. No dependencies.
Add to an MCP client
{
"mcpServers": {
"lastseen": { "command": "lastseen-mcp" }
}
}(If you use uvx, set "command": "uvx", "args": ["lastseen-mcp"].)
Tools
Tool | What it does |
| Dated survival series for one |
| Dated states for every held component under a GitHub owner/org. |
| Paste a GitHub Actions workflow ( |
| 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
Service & data: https://lastseen.dev
API docs (self-describing JSON): https://lastseen.dev/api/v1/docs
MCP registry entry:
dev.lastseen/mortality
Available Tools
4 toolscheck_entityA
Dated survival observation(s) for ONE owner/repo (e.g. 'actions/checkout') from lastseen.dev. Returns the recorded state series with dates and sources. Lookup, not advice. Unknown/fabricated subjects return a clean not_observed, never a fabricated result.
Inputs: slug (required), live.
check_manifestA
Parse a pasted manifest (GitHub Actions workflow uses: refs, or a list of owner/repo lines) and return the dated survival state per component from lastseen.dev. Components not held are reported as not_observed. Lookup, not advice.
Inputs: paste (required).
check_orgA
Dated survival states across the components referenced under an ORG (a github owner slug), from lastseen.dev. Org-level only. Lookup, not advice.
Inputs: name (required).
survival_profileA
Ranked survival profile for a CATEGORY. NOTE: category ranking is not available over the free HTTP API — this returns an honest not_supported result and points to the per-entity/org/manifest lookups and the CC-BY dumps.
Inputs: category (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool targets a distinct input scope: single owner/repo, org slug, pasted manifest, and category profile. The scopes are clearly described, and the batch manifest tool is unlikely to be confused with the single-entity or org-level lookups.
Three of the four tools follow the consistent check_<scope> pattern (check_entity, check_org, check_manifest). survival_profile breaks the verb_noun pattern, but it is a single recognizable exception rather than a systemic inconsistency.
Four tools is a reasonable size for a narrow read-only lookup service. However, survival_profile is effectively an unsupported stub that always returns not_supported, so it pads the count without adding a working capability.
The core lookup workflows are covered: single entity, org-wide, and manifest-based batch checks. The main gap is category-level ranking, which survival_profile cannot provide, though the description points to alternative lookups and external dumps as workarounds.
Maintenance
Related MCP Connectors
Package alive? Verdict with evidence: deprecated, archived, stale or active; plus runtime EOL dates.
Abandonment checks for WordPress, npm and PyPI packages, priced per call.
Package versions, licences and known vulnerabilities for npm, PyPI, crates, Go, Maven, NuGet
Is this dependency current, licensed, deprecated, or already carrying a CVE?
Related MCP Servers
- AlicenseAqualityCmaintenanceChecks npm and PyPI packages for outdated versions, deprecation status, and breaking changes with cited sources, enabling AI agents to verify dependency freshness.16 npmISC
- AlicenseNot gradedqualityCmaintenanceEnables checking whether software packages are deprecated, archived, stale, active, or unknown with supporting evidence, auditing dependency manifests, and looking up runtime support and end-of-life dates.MIT
- AlicenseNot gradedqualityCmaintenanceEnables agents to query whether a WordPress plugin, npm package, or PyPI project looks abandoned, returning a live abandonment-risk score, status, and the registry signals behind it, plus raw registry, GitHub, and version history detail. Calls are paid per request in USDC via x402, with free discovery and source-listing tools.MIT
- AlicenseAqualityBmaintenanceEnables checking project files like Dockerfile, .nvmrc, and CI workflows to determine whether pinned runtime, database, and OS versions are still supported, providing end-of-life dates, latest patches, and upgrade targets for 470+ products.31MIT