Dependency Health MCP について
Dependency Health MCPは、レジストリの根拠を示しながら、パッケージが有効、停滞、アーカイブ済み、非推奨のいずれかを調べるリモートMCPサーバーです。パッケージマニフェストの監査や、ランタイムとOSのサポート終了日の確認にも対応します。
主な機能
- 01パッケージの状態と根拠の確認
- 02最大25件のマニフェスト監査
- 03ランタイムとOSのEOL日付表示
- 04アドバイザリーと代替候補の表示
- 05キー不要の読み取り専用クエリ
活用シーン
- 01依存関係の固定や更新前の状態評価
- 02監査前のパッケージマニフェスト確認
- 03運用中ランタイムのサポート状況確認
MCP 対応
このリモートサーバーは、Streamable HTTP経由で`https://dephealth.dsh.sh/mcp`からMCPクライアントに`package_health`、`deps_audit`、`runtime_eol`を提供します。APIキーは不要です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://dephealth.dsh.sh/mcpclaude mcp add --transport http ux-xd-dephealth https://dephealth.dsh.sh/mcp{"mcpServers":{"ux-xd-dephealth":{"type":"http","url":"https://dephealth.dsh.sh/mcp"}}}Cursor で開く{"servers":{"ux-xd-dephealth":{"type":"http","url":"https://dephealth.dsh.sh/mcp"}}}VS Code で開く{"mcpServers":{"ux-xd-dephealth":{"type":"http","url":"https://dephealth.dsh.sh/mcp"}}}{"mcpServers":{"ux-xd-dephealth":{"serverUrl":"https://dephealth.dsh.sh/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
3| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | はい | レジストリ上の表記どおりのパッケージ名:"@scope/name"、"requests"、"serde"、"rails"、"github.com/gorilla/mux"、"org.apache.commons:commons-lang3"、"Newtonsoft.Json"、"monolog/monolog" |
| version | string | いいえ | 使用中または固定する予定の正確なバージョンを指定します。バージョンごとのアドバイザリと非推奨情報を取得できます。最新バージョンを確認する場合は省略してください。 |
| ecosystem | enum | はい | npm | pypi | cargo (crates.io) | rubygems | go (モジュールパス) | maven (group:artifact) | nuget | packagist (vendor/package)npm | pypi | cargo | rubygems | go | maven | nuget | packagist |
| task_context | string | はい | ユーザーが最終的に何を達成しようとしているかを1文で記述してください(この呼び出しが支援するタスク)。必須です。結果の調整に使われ、無料サービスがエージェントのニーズを把握するための情報となります。 |
詳細
Dependency Health MCP
パッケージはまだ使える状態ですか? 廃止、アーカイブ済み、更新停止、アクティブのいずれかを、根拠とともに判定します。ランタイムの EOL 日も確認できます。
https://dephealth.dsh.sh/mcpで動作する Streamable HTTP のリモート MCP サーバーです。無料で、API キーは不要です。ツール:package_health、deps_audit、runtime_eol。ツール一覧はバージョンごとに固定されています。
1 回の呼び出しで、パッケージがまだ使える状態かどうかを回答します。判定(廃止、アーカイブ済み、更新停止、アクティブ、不明)と、その根拠を提示します。根拠には、レジストリでの廃止状況(npm はバージョンごと、Go は go.mod の Deprecated/retract、NuGet の廃止、Packagist の abandoned)、取り下げられたリリース、リポジトリのアーカイブ状況と最終プッシュ日、メンテナー数と依存先の数、該当バージョンに関する既知のアドバイザリ、代替パッケージが含まれます。ecosyste.ms、各言語のネイティブレジストリ、deps.dev を通じて、npm、PyPI、crates.io、RubyGems、Go modules、Maven、NuGet、Packagist に対応しており、すべて API キーは不要です。deps_audit は package.json または requirements.txt 全体(最大 25 パッケージ)を対象にし、runtime_eol はランタイムと OS の endoflife.date に基づくサポート状況と EOL 日を報告します。無料、キー不要、アカウント不要です。各レスポンスには、実行した上流への呼び出しがすべて記載されます。
利用する場面:依存関係を固定、アップグレード、監査する前に使用します。package_health は、パッケージが廃止、アーカイブ済み、更新停止、アクティブのどれに該当するかを、レジストリの生データ、使用中のバージョンに関するアドバイザリ、代替パッケージがある場合はその情報とともに返します。deps_audit はマニフェスト全体を対象に同じ情報を返します。runtime_eol は、Node、Python、OS、データベースのバージョンがまだサポートされているか、サポートがいつ終了するかを示します。
対象外:脆弱性スキャナーではありません(アドバイザリ ID のみで、CVSS によるトリアージや到達可能性の分析はありません)。ライセンスコンプライアンスや人気度ランキングにも対応しておらず、プライベートレジストリやベンダー提供コードは確認できません。
クイックインストール(Claude Code):claude mcp add --transport http dephealth https://dephealth.dsh.sh/mcp -s user
ライブサーバー:https://dephealth.dsh.sh
ドキュメント
- 完全なリファレンス:各ツールの JSON 入力スキーマと使用例
- 任意のクライアントへのインストール:Claude Code、Cursor、VS Code、Claude Desktop、ChatGPT、Codex、Gemini CLI、Windsurf、Cline、Continue、Zed
- OpenAPI 版:同じツールをプレーンな HTTP POST エンドポイントとして提供します
- レジストリの server.json:機械可読なサーバーレコード
- サーバーカード:トランスポートとツールのカード(https://dephealth.dsh.sh/.well-known/mcp.json、SEP-1960 でも公開)
- ARD マニフェスト:Agentic Resource Discovery エントリー(https://dephealth.dsh.sh/.well-known/ai-catalog.json でも公開)
上流サービス
- ecosyste.ms packages API:キー不要
- deps.dev v3:キー不要
- npm registry:キー不要
- PyPI JSON API:キー不要
- crates.io API:キー不要
- RubyGems API:キー不要
- Go module proxy:キー不要
- NuGet registration index:キー不要
- Packagist p2:キー不要
- GitHub REST(フォールバックのみ):キー不要
- endoflife.date API:キー不要
オプション
ツール
| ツール | 目的 | 影響 |
|---|---|---|
package_health | このパッケージは現在も利用できますか? 非推奨、アーカイブ済み、停滞中、アクティブ、不明のいずれかの判定と、その根拠を示します。ネイティブレジストリによるバージョンごとの非推奨情報、最新リリースの取り下げ・撤回、リポジトリのアーカイブ状況と最終プッシュ日、メンテナー数と依存パッケージ数、指定バージョンのアドバイザリー ID、置き換え先を確認できます。npm、PyPI、crates.io、RubyGems、Go、Maven、NuGet、Packagist で依存関係を選択、固定、アップグレードするときに使用します。 | 読み取り専用、オープンワールド、冪等 |
deps_audit | マニフェストまたはリスト内のすべてのパッケージについて、1 回の呼び出しで(最大 25 パッケージ)健全性を判定します。パッケージごとに、非推奨/アーカイブ済み/停滞中/アクティブ/不明の判定と、最新バージョン、リリースからの経過期間、最終プッシュからの経過期間、アドバイザリーの件数、置き換え先に加え、概要を示します。アップグレード、監査、フォークの判断を行う前に、リポジトリの package.json または requirements.txt を確認するときに使用します。 | 読み取り専用、オープンワールド、冪等 |
runtime_eol | endoflife.date(470 以上の製品)から、ランタイム、OS、データベース、フレームワークの各バージョンのサポート期間とサポート終了日を確認します。各サイクルについて、サポート中、セキュリティ修正のみ、EOL のいずれかの判定、最新パッチ、LTS フラグ、EOL までの日数を示します。対象とする Node、Python、Ubuntu、PostgreSQL、Java、Django…のバージョンを決めるときや、デプロイ済みのバージョンがまだ安全かどうか確認するときに使用します。 | 読み取り専用、オープンワールド、冪等 |
すべてのツールで task_context が必要です。ユーザーが何をしようとしているかを 1 文で記述してください。
package_health
このパッケージは現在も利用できますか? 非推奨、アーカイブ済み、停滞中、アクティブ、不明のいずれかの判定と、その根拠を示します。ネイティブレジストリによるバージョンごとの非推奨情報、最新リリースの取り下げ・撤回、リポジトリのアーカイブ状況と最終プッシュ日、メンテナー数と依存パッケージ数、指定バージョンのアドバイザリー ID、置き換え先を確認できます。npm、PyPI、crates.io、RubyGems、Go、Maven、NuGet、Packagist で依存関係を選択、固定、アップグレードするときに使用します。
入力スキーマ:
{
"$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
}
引数の例:
{
"ecosystem": "npm",
"name": "request",
"task_context": "example: Is this package alive? One verdict — deprecated, archived, s"
}
deps_audit
マニフェストまたはリスト内のすべてのパッケージについて、1 回の呼び出しで(最大 25 パッケージ)健全性を判定します。パッケージごとに、非推奨/アーカイブ済み/停滞中/アクティブ/不明の判定と、最新バージョン、リリースからの経過期間、最終プッシュからの経過期間、アドバイザリーの件数、置き換え先に加え、概要を示します。アップグレード、監査、フォークの判断を行う前に、リポジトリの package.json または requirements.txt を確認するときに使用します。
入力スキーマ:
{
"$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
}
引数の例:
{
"manifest": "{\"dependencies\":{\"request\":\"^2.88.2\",\"lodash\":\"4.17.20\",\"left-pad\":\"^1.3.0\"}}",
"task_context": "example: Health verdict for every package in a manifest or a list, in"
}
runtime_eol
endoflife.date(470 以上の製品)から、ランタイム、OS、データベース、フレームワークの各バージョンのサポート期間とサポート終了日を確認します。各サイクルについて、サポート中、セキュリティ修正のみ、EOL のいずれかの判定、最新パッチ、LTS フラグ、EOL までの日数を示します。対象とする Node、Python、Ubuntu、PostgreSQL、Java、Django…のバージョンを決めるときや、デプロイ済みのバージョンがまだ安全かどうか確認するときに使用します。
入力スキーマ:
{
"$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
}
引数の例:
{
"product": "nodejs",
"cycle": "22",
"task_context": "example: Support and end-of-life dates for a runtime, OS, database or"
}
インストール
エンドポイント:https://dephealth.dsh.sh/mcp(Streamable HTTP、MCP 2026-07-28、2025 年頃のフォールバック対応)。認証:不要。
Claude Code
claude mcp add --transport http dephealth https://dephealth.dsh.sh/mcp -s user
Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"dephealth": {
"url": "https://dephealth.dsh.sh/mcp"
}
}
}
VS Code / Copilot(ユーザーの mcp.json)
{
"servers": {
"dephealth": {
"type": "http",
"url": "https://dephealth.dsh.sh/mcp"
}
}
}
または code --add-mcp '{"name":"dephealth","type":"http","url":"https://dephealth.dsh.sh/mcp"}'
Claude Desktop / claude.ai
設定 → コネクター → カスタムコネクターを追加 → URL https://dephealth.dsh.sh/mcp、認証:なし。
ChatGPT
設定 → コネクター → カスタムコネクターを追加 → https://dephealth.dsh.sh/mcp。デスクトップアプリ / Codex は ~/.codex/config.toml を共有します:
[mcp_servers.dephealth]
url = "https://dephealth.dsh.sh/mcp"
Codex CLI (~/.codex/config.toml)
[mcp_servers.dephealth]
url = "https://dephealth.dsh.sh/mcp"
Gemini CLI
gemini mcp add --transport http dephealth https://dephealth.dsh.sh/mcp -s user
(settings.json では url ではなく httpUrl を使用します。)
Windsurf (~/.codeium/windsurf/mcp_config.json)
{
"mcpServers": {
"dephealth": {
"serverUrl": "https://dephealth.dsh.sh/mcp"
}
}
}
Cline
{
"mcpServers": {
"dephealth": {
"type": "streamableHttp",
"url": "https://dephealth.dsh.sh/mcp"
}
}
}
Continue (.continue/mcpServers/dephealth.yaml)
name: dephealth
mcpServers:
- name: dephealth
type: streamable-http
url: https://dephealth.dsh.sh/mcp
Zed (settings.json)
{
"context_servers": {
"dephealth": {
"source": "custom",
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://dephealth.dsh.sh/mcp"
]
}
}
}
任意の MCP クライアント
Streamable HTTP エンドポイント:https://dephealth.dsh.sh/mcp
{
"mcpServers": {
"dephealth": {
"url": "https://dephealth.dsh.sh/mcp"
}
}
}
このページではサーバーについて説明します。読者にルールファイル、メモリファイル、ホスト設定の変更を求めるものではありません。
自分で実行する
npm install && npm start # http://127.0.0.1:8080/mcp
docker compose up -d --build # same, in a container
node scripts/smoke.mjs http://127.0.0.1:8080 package_health '{}'
MCP サーバーキット(kit/)で構築されています。Streamable HTTP MCP と、エージェントが読み取れるドキュメント(llms.txt、server.json、インストールページ、REST の同等版)を、1 つのマニフェスト(servers/dephealth/mcp.factory.json)から生成します。このリポジトリにはサーバーのロジックのみが含まれており、このコードによるテレメトリの収集や送信はありません。MIT。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。