Skip to main content

lastseen-mcp

Is this dependency dead? An MCP server that answers whether an npm package, GitHub Action, MCP server or Docker image is dead or abandoned — from dated observations published by lastseen.dev. Free, no API key, zero telemetry.

  • Lookups, not advice. Every answer is a dated observation with its source. The server never says "use X instead", never scores, never ranks by preference, never asserts urgency.
  • 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. Not having a record means "not checked", never "deleted". Only an authoritative HTTP 404 is a deletion.
  • Pure standard library. 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 lastseen.dev free HTTP API over urllib.

Install

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

Requires Python ≥ 3.10. No dependencies.

Use it in an MCP client

Add to your client's MCP server config (Claude Desktop / Cursor style):

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

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

Tools

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

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 is asserted; not a death) · not_observed (403 / 429 / timeout / not held — not dead).

The freshness gate that produces unknown-stale is applied server-side by lastseen.dev; this client passes the gated latest_state and staleness through verbatim.

Privacy

Zero telemetry. This client stores nothing and transmits no identifier about you, your org, or the subjects you look up. It only issues anonymous GET requests to the public API.

Limitations

survival_profile (category-level ranking) has no corresponding endpoint on the free HTTP API, so it returns a factual not-supported result rather than fabricating a ranking. The tool is retained in the schema for parity. Bulk category data is published as the CC-BY dumps on lastseen.dev. The per-entity, per-org and per-manifest lookups are fully supported.

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

Licensing

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

Links

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lastseen_mcp-0.1.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lastseen_mcp-0.1.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file lastseen_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: lastseen_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for lastseen_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6452f27721365f9cf50d3c1b60ff3df6bac08c6ce0d399e1fc19205403e8acd7
MD5 7901d6a1e8ec693cf88a196e1d0a5c9b
BLAKE2b-256 1339b2f6e7600b2c4d5b18016a303a376d360be745cc6422e1734ca312820e9f

See more details on using hashes here.

File details

Details for the file lastseen_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: lastseen_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for lastseen_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83f68ccfdf02978c4c544487fe1e0be6305ae15565729f8f55119a5eb7a6e441
MD5 10aad00a1998a119418d0cd6525a386d
BLAKE2b-256 9a7c07916c258a050693bfe91b34a42a89df7f4f4859c6639c3c7e012b562ae2

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.2

2 files

0.1.1

2 files

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page