{"serverInfo":{"name":"dephealth","version":"0.1.1","title":"Dependency Health MCP","websiteUrl":"https://dephealth.dsh.sh"},"authentication":{"required":false,"schemes":[]},"transport":{"type":"streamable-http","url":"https://dephealth.dsh.sh/mcp"},"tools":[{"name":"package_health","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":"http://json-schema.org/draft-07/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"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true}},{"name":"deps_audit","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":"http://json-schema.org/draft-07/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"],"additionalProperties":false}},"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":["manifest_kind","task_context"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true}},{"name":"runtime_eol","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":"http://json-schema.org/draft-07/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"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true}}],"resources":[],"prompts":[]}