Server definition
- Hash
- sha256:662808e991fdabc82200d66c857390e9d6f4638073aa4cca8ed76a6e61eb7f59
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": "Package alive? Verdict with evidence: deprecated, archived, stale or active; plus runtime EOL dates. Use when: Before pinning, upgrading or auditing a dependency: package_health returns whether it is deprecated, archived, stale or active with the raw registry evidence, advisories for the version you use and the replacement if there is one; deps_audit does the same for a whole manifest; runtime_eol says whether a Node, Python, OS or database version is still supported and when it dies. Not for: Not a vulnerability scanner (advisory ids only, no CVSS triage or reachability), not license compliance, not a popularity ranking, and it cannot see private registries or vendored code. Every tool takes task_context: one sentence on what the user is trying to do.",
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"manifest": {
"description": "Raw package.json (dependencies, devDependencies, peer, optional) or requirements.txt text; other formats are reported as unparsed.",
"maxLength": 60000,
"type": "string"
},
"manifest_kind": {
"default": "auto",
"enum": [
"auto",
"package.json",
"requirements.txt"
],
"type": "string"
},
"packages": {
"description": "Explicit list of packages; combine with or instead of `manifest`.",
"items": {
"properties": {
"ecosystem": {
"description": "npm | pypi | cargo (crates.io) | rubygems | go (module path) | maven (group:artifact) | nuget | packagist (vendor/package)",
"enum": [
"npm",
"pypi",
"cargo",
"rubygems",
"go",
"maven",
"nuget",
"packagist"
],
"type": "string"
},
"name": {
"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\"",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"version": {
"maxLength": 80,
"type": "string"
}
},
"required": [
"ecosystem",
"name"
],
"type": "object"
},
"maxItems": 25,
"type": "array"
},
"task_context": {
"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.",
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"task_context"
],
"type": "object"
},
"name": "deps_audit",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ecosystem": {
"description": "npm | pypi | cargo (crates.io) | rubygems | go (module path) | maven (group:artifact) | nuget | packagist (vendor/package)",
"enum": [
"npm",
"pypi",
"cargo",
"rubygems",
"go",
"maven",
"nuget",
"packagist"
],
"type": "string"
},
"name": {
"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\"",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"task_context": {
"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.",
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"version": {
"description": "The exact version you use or intend to pin; enables per-version advisories and deprecation. Omit for the latest.",
"maxLength": 80,
"type": "string"
}
},
"required": [
"ecosystem",
"name",
"task_context"
],
"type": "object"
},
"name": "package_health",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cycle": {
"description": "One release cycle to report, e.g. \"22\" for Node 22, \"3.12\" for Python, \"24.04\" for Ubuntu. Omit for every cycle.",
"maxLength": 30,
"type": "string"
},
"product": {
"description": "endoflife.date product name or alias: \"nodejs\" (or \"node\"), \"python\", \"ubuntu\", \"postgresql\", \"django\", \"java\", \"rails\", \"go\", \"php\", \"redis\"",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"task_context": {
"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.",
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"product",
"task_context"
],
"type": "object"
},
"name": "runtime_eol",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:662808e991fdabc82200d66c857390e9d6f4638073aa4cca8ed76a6e61eb7f59 | sha256sum