Mcp Dependency Health — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Dependency Health (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server that performs comprehensive health checks on project dependencies for JavaScript and Python projects.
package.json)requirements.txt)git clone https://github.com/NY5184/mcp-dependency-health.git
cd mcp-dependency-healthuv syncStart the server in development mode:
uv run mcp dev src/server.pyConfigure your MCP client (like Claude Desktop) to connect to this server:
{
"mcpServers": {
"dependency-health": {
"command": "uv",
"args": ["run", "src/server.py"],
"cwd": "/path/to/mcp-dependency-health"
}
}
}dependency_health_checkPerforms a comprehensive health check on project dependencies.
Input:
project_path (string): Path to the project directoryecosystem (string, optional): "auto", "javascript", or "python" (defaults to "auto")Output: Returns a list of dependencies with:
name: Package namecurrent: Currently specified versionlatest: Latest version available in registrystatus: "up-to-date", "outdated", or "unknown"changelog_content: Always present - contains actual release notes when successfully fetched, or an explanatory message with source link if fetching failednote: Additional information (optional)release_date: When the latest version was released (optional)description: Short package description (optional)Example Input:
{
"project_path": "/path/to/your/project",
"ecosystem": "auto"
}Example Output:
{
"dependencies": [
{
"name": "react",
"current": "^18.0.0",
"latest": "18.2.0",
"status": "outdated",
"changelog_content": "Release v18.2.0:\n\n## Fixes\n- Fix memory leak in development mode\n- Fix Suspense bug with nested components\n- Improve TypeScript definitions\n\n## Features\n- Add useId hook\n- Suspense improvements",
"release_date": "2022-06-14T16:55:41.036Z",
"description": "React is a JavaScript library for building user interfaces."
}
]
}LLM-First Design: The output is designed for optimal LLM consumption:
changelog_content always contains meaningful textExample changelog_content values:
"Changelog available at: https://github.com/user/repo/releases\n\nThe release notes exist but could not be automatically extracted. Visit the URL above for full details.""Changelog could not be fetched automatically. No official changelog source was found."With this structure, an LLM can immediately provide specific advice like:
mcp-dependency-health/
├── main.py # Entry point (if needed)
├── pyproject.toml # Project configuration and dependencies
├── uv.lock # Locked dependency versions
├── README.md # Project documentation
│
├── src/ # Main source code
│ ├── __init__.py
│ ├── server.py # MCP server implementation
│ └── services/ # Service layer
│ ├── __init__.py
│ ├── changelog_fetcher.py # Changelog content fetching
│ ├── error_handlers.py # Error handling utilities
│ └── registry_clients.py # npm/PyPI registry clients
│
├── schemas/ # Data schemas
│ ├── __init__.py
│ ├── input.py # Input validation schemas
│ └── output.py # Output data schemas
│
├── utils/ # Utility modules
│ ├── __init__.py
│ ├── file_finder.py # Project file discovery
│ ├── parsers.py # Dependency file parsers
│ └── versions.py # Version comparison utilities
│
└── tests/ # Test suite
├── test_file_finder.py
├── test_parsers_js.py
├── test_parsers_py.py
├── test_registry_clients.py
├── test_server_sanity.py
└── test_versions.pyuv run pytesthttpx for efficient async HTTP requestspackaging library for semantic version comparisonfastmcp or mcp>=1.25.0: MCP server frameworkhttpx>=0.28.1: Async HTTP clientpydantic>=2.12.5: Data validationpackaging>=25.0: Version parsing and comparisonpackage.json or requirements.txtThis tool has limited package manager support. It currently only supports:
package.json)requirements.txt)The following package managers are not currently supported:
pyproject.toml), Pipenv (Pipfile), Conda (environment.yml)Cargo.toml)go.mod)pom.xml), Gradle (build.gradle)composer.json).csproj, packages.config)Gemfile)When a project uses an unsupported package manager or no supported dependency file is found, the tool will return a dependency result with:
status: "unknown"If you encounter this error:
uv syncuv run python src/server.pyIf you see ModuleNotFoundError:
uv syncMIT License
Contributions are welcome! Please feel free to submit a Pull Request.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.