Package alive? Verdict with evidence: deprecated, archived, stale or active; plus runtime EOL dates.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Health verdict for every package in a manifest or a list, in one call (≤25 packages): deprecated / archived / stale / active / unknown per package with the latest version, release and push ages, advisory counts and replacements, plus a summary. Use when reviewing a repository's package.json or requirements.txt before an upgrade, an audit or a fork decision.
One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need.
Raw package.json (dependencies, devDependencies, peer, optional) or requirements.txt text; other formats are reported as unparsed.
Explicit list of packages; combine with or instead of `manifest`.
Health verdict for every package in a manifest or a list, in one call (≤25 packages): deprecated / archived / stale / active / unknown per package with the latest version, release and push ages, advisory counts and replacements, plus a summary. Use when reviewing a repository's package.json or requirements.txt before an upgrade, an audit or a fork decision.
| Argument | Type | Description |
|---|---|---|
| manifest | string | Raw package.json (dependencies, devDependencies, peer, optional) or requirements.txt text; other formats are reported as unparsed. |
| packages | array | Explicit list of packages; combine with or instead of `manifest`. |
| task_context* | string | One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need. |
| manifest_kind | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"task_context"
],
"properties": {
"manifest": {
"type": "string",
"maxLength": 60000,
"description": "Raw package.json (dependencies, devDependencies, peer, optional) or requirements.txt text; other formats are reported as unparsed."
},
"packages": {
"type": "array",
"items": {
"type": "object",
"required": [
"ecosystem",
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Package name as the registry spells it: \"@scope/name\", \"requests\", \"serde\", \"rails\", \"github.com/gorilla/mux\", \"org.apache.commons:commons-lang3\", \"Newtonsoft.Json\", \"monolog/monolog\""
},
"version": {
"type": "string",
"maxLength": 80
},
"ecosystem": {
"enum": [
"npm",
"pypi",
"cargo",
"rubygems",
"go",
"maven",
"nuget",
"packagist"
],
"type": "string",
"description": "npm | pypi | cargo (crates.io) | rubygems | go (module path) | maven (group:artifact) | nuget | packagist (vendor/package)"
}
}
},
"maxItems": 25,
"description": "Explicit list of packages; combine with or instead of `manifest`."
},
"task_context": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need."
},
"manifest_kind": {
"enum": [
"auto",
"package.json",
"requirements.txt"
],
"type": "string",
"default": "auto"
}
}
}Is this package alive? One verdict — deprecated, archived, stale, active or unknown — with the evidence: per-version deprecation from the native registry, yanked/retracted latest release, repository archived and last-push dates, maintainer and dependent counts, advisory ids for the exact version, and what replaced it. Use when choosing, pinning or upgrading a dependency in npm, PyPI, crates.io, RubyGems, Go, Maven, NuGet or Packagist.
| Argument | Type | Description |
|---|---|---|
| name* | string | Package name as the registry spells it: "@scope/name", "requests", "serde", "rails", "github.com/gorilla/mux", "org.apache.commons:commons-lang3", "Newtonsoft.Json", "monolog/monolog" |
| version | string | The exact version you use or intend to pin; enables per-version advisories and deprecation. Omit for the latest. |
| ecosystem* | string | npm | pypi | cargo (crates.io) | rubygems | go (module path) | maven (group:artifact) | nuget | packagist (vendor/package) |
| task_context* | string | One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"ecosystem",
"name",
"task_context"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Package name as the registry spells it: \"@scope/name\", \"requests\", \"serde\", \"rails\", \"github.com/gorilla/mux\", \"org.apache.commons:commons-lang3\", \"Newtonsoft.Json\", \"monolog/monolog\""
},
"version": {
"type": "string",
"maxLength": 80,
"description": "The exact version you use or intend to pin; enables per-version advisories and deprecation. Omit for the latest."
},
"ecosystem": {
"enum": [
"npm",
"pypi",
"cargo",
"rubygems",
"go",
"maven",
"nuget",
"packagist"
],
"type": "string",
"description": "npm | pypi | cargo (crates.io) | rubygems | go (module path) | maven (group:artifact) | nuget | packagist (vendor/package)"
},
"task_context": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need."
}
}
}Support and end-of-life dates for a runtime, OS, database or framework version from endoflife.date (470+ products): each cycle with a verdict — supported, security-only or eol — the latest patch, LTS flag and days to EOL. Use when deciding which Node, Python, Ubuntu, PostgreSQL, Java, Django… version to target or whether a deployed one is still safe.
| Argument | Type | Description |
|---|---|---|
| cycle | string | One release cycle to report, e.g. "22" for Node 22, "3.12" for Python, "24.04" for Ubuntu. Omit for every cycle. |
| product* | string | endoflife.date product name or alias: "nodejs" (or "node"), "python", "ubuntu", "postgresql", "django", "java", "rails", "go", "php", "redis" |
| task_context* | string | One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product",
"task_context"
],
"properties": {
"cycle": {
"type": "string",
"maxLength": 30,
"description": "One release cycle to report, e.g. \"22\" for Node 22, \"3.12\" for Python, \"24.04\" for Ubuntu. Omit for every cycle."
},
"product": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "endoflife.date product name or alias: \"nodejs\" (or \"node\"), \"python\", \"ubuntu\", \"postgresql\", \"django\", \"java\", \"rails\", \"go\", \"php\", \"redis\""
},
"task_context": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need."
}
}
}