Skip to main content
Glama
hyunaeee

fresh-deps-mcp

by hyunaeee
README.md
# fresh-deps-mcp

**Stop Claude from installing outdated, deprecated or vulnerable packages.**

Claude's knowledge of package versions is frozen at its training cutoff. It confidently writes
`npm install react@17`, reaches for long-deprecated libraries like `request`, and pins versions with
known CVEs. `fresh-deps-mcp` gives it live answers from the registries and the
[OSV](https://osv.dev) vulnerability database.

- **Zero config**: no API key, no account. One line to install.
- **Four ecosystems**: npm, PyPI, crates.io, Go modules.
- **Small**: two tools, so it uses few context tokens.

## Install

**Claude Code**

```bash
claude mcp add fresh-deps -- npx -y fresh-deps-mcp
```

**Claude Desktop** (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "fresh-deps": { "command": "npx", "args": ["-y", "fresh-deps-mcp"] }
  }
}
```

## Tools

### `latest_version`

Current latest stable version of one or more packages, with deprecation notices and known vulns.

```
Live npm registry data:
- react: **19.3.1** (released 2026-10-14)
- request: **2.88.2** (released 2020-02-11)
  ⚠ DEPRECATED: request has been deprecated, see https://github.com/request/request/issues/3142
  ⚠ latest version has 1 known vuln(s): GHSA-p8p7-x288-28g6
```

### `check_deps`

Audits `package.json`, `requirements*.txt`, `pyproject.toml`, `Cargo.toml` or `go.mod`, from a path
or from inline content. Results are sorted by urgency, and each one shows the minimum safe version.

```
3 dependencies checked: 2 vulnerable, 0 deprecated, 0 major version behind, 1 minor/patch behind or unpinned, 0 up to date.

- **django** ==3.2.0 β†’ latest 6.1.2 [major]
  πŸ”΄ GHSA-2gwj-7jmv-h26r (CRITICAL): SQL Injection in Django β€” fixed in 3.2.13
  …and 65 more
  βœ… upgrade to >= 5.2.17 to fix all known vulns (latest: 6.1.2)
```

## Development

```bash
npm install
npm run build
npm run smoke   # spawns the server and calls every tool against live registries
```

Behind a corporate proxy, run with `NODE_USE_ENV_PROXY=1` so Node's `fetch` uses `HTTPS_PROXY`.

## Roadmap

- Lock file support (`package-lock.json`, `poetry.lock`, `uv.lock`, `Cargo.lock`) to check exact installed versions
- `changelog_between`: breaking changes between two versions, from GitHub Releases
- `verify_import`: check that an API actually exists in a given version
- Maven, NuGet, RubyGems, Packagist
- One-click Claude Desktop extension (`.mcpb`) and MCP Registry listing

## License

MIT

TDQS

A4/5.0

Scored across 2 tools

Disambiguation5/5

latest_version targets a single package's current version and advisories, while check_deps audits an entire manifest for outdated, deprecated, and vulnerable dependencies. The input scopes and intended workflows are clearly distinct, so an agent should not confuse them.

Naming Consistency4/5

Both names use snake_case and are concise, but latest_version is a noun phrase while check_deps follows a verb_noun pattern. This is a minor deviation in an otherwise readable set.

Tool Count4/5

Only two tools are provided, which is below the typical 3-15 range, but they map cleanly to the server's two core workflows: single-package lookup and manifest auditing. The count is slightly thin but reasonable for this narrow purpose.

Completeness4/5

The surface covers the core dependency-freshness needs: checking a package's latest stable version plus advisories, and auditing a manifest for outdated, deprecated, and vulnerable dependencies with upgrade targets. Minor gaps exist, such as no direct scan of an installed environment or arbitrary bulk package list, but agents can work around these via manifests and repeated lookups.

Maintenance

ActivityMaintained
ResponsivenessNo issues