Dependency Health MCP

Package alive? Verdict with evidence: deprecated, archived, stale or active; plus runtime EOL dates.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
87%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,194Tokens (tool definitions)
~3.2 KBTypical response size
Moderate attention impact (0.93% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "dephealth": {
      "url": "https://dephealth.dsh.sh/mcp"
    }
  }
}

Remote endpoints

https://dephealth.dsh.sh/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒package_health(ecosystem, name, version, task_context)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "ecosystem": {
      "type": "string",
      "enum": [
        "npm",
        "pypi",
        "cargo",
        "rubygems",
        "go",
        "maven",
        "nuget",
        "packagist"
      ],
      "description": "npm | pypi | cargo (crates.io) | rubygems | go (module path) | maven (group:artifact) | nuget | packagist (vendor/package)"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "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": {
      "description": "The exact version you use or intend to pin; enables per-version advisories and deprecation. Omit for the latest.",
      "type": "string",
      "maxLength": 80
    },
    "task_context": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "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."
    }
  },
  "required": [
    "ecosystem",
    "name",
    "task_context"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒deps_audit(packages, manifest, manifest_kind, task_context)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "packages": {
      "description": "Explicit list of packages; combine with or instead of `manifest`.",
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "ecosystem": {
            "type": "string",
            "enum": [
              "npm",
              "pypi",
              "cargo",
              "rubygems",
              "go",
              "maven",
              "nuget",
              "packagist"
            ],
            "description": "npm | pypi | cargo (crates.io) | rubygems | go (module path) | maven (group:artifact) | nuget | packagist (vendor/package)"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "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
          }
        },
        "required": [
          "ecosystem",
          "name"
        ]
      }
    },
    "manifest": {
      "description": "Raw package.json (dependencies, devDependencies, peer, optional) or requirements.txt text; other formats are reported as unparsed.",
      "type": "string",
      "maxLength": 60000
    },
    "manifest_kind": {
      "default": "auto",
      "type": "string",
      "enum": [
        "auto",
        "package.json",
        "requirements.txt"
      ]
    },
    "task_context": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "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."
    }
  },
  "required": [
    "task_context"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒runtime_eol(product, cycle, task_context)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "product": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60,
      "description": "endoflife.date product name or alias: \"nodejs\" (or \"node\"), \"python\", \"ubuntu\", \"postgresql\", \"django\", \"java\", \"rails\", \"go\", \"php\", \"redis\""
    },
    "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.",
      "type": "string",
      "maxLength": 30
    },
    "task_context": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "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."
    }
  },
  "required": [
    "product",
    "task_context"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools