# package-version-check-mcp

Feeds your coding agent the current version of a dependency instead of the one it remembers. Covers npm, PyPI, Go, Docker, Helm and GitHub Actions.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 9
- Author: MShekow
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/MShekow/package-version-check-mcp
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/package-version-check-mcp

## What it does

An agent writes a lockfile or a requirements list and pins versions from its training data. Those numbers go stale within weeks, and you end up fixing them by hand. This server asks the registries what is current and hands the answer back.

Coverage runs wide: npm, PyPI, NuGet, Maven and Gradle, Go, PHP, Ruby, Rust, Swift, Dart, plus Docker images, Helm charts, GitHub Actions and Terraform providers and modules. Tool versions for `kubectl`, `terraform`, `gradle` and roughly a thousand others come through mise-en-place. That last part needs the `mise` binary on your `PATH`; without it the `get_supported_tools` and `get_latest_tool_versions` calls fail.

Three ways to run it. A hosted endpoint at `https://package-version-check-mcp.onrender.com/mcp` over HTTP, a local `uvx package-version-check-mcp --mode=stdio`, or the published Docker image. The hosted route can hit rate limits imposed by the registries themselves. `GITHUB_PAT` is optional, though skipping it leaves you exposed to GitHub API throttling. Caching stays off until you set `PACKAGE_VERSION_CACHE_ENABLED=true`.

One thing to know up front: most models will not call these tools on their own. You have to ask for a version check in the prompt.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `GITHUB_PAT`, `PACKAGE_VERSION_CACHE_ENABLED` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env GITHUB_PAT=<GITHUB_PAT> --env PACKAGE_VERSION_CACHE_ENABLED=<PACKAGE_VERSION_CACHE_ENABLED> --transport stdio package-version-check-mcp -- uvx package-version-check-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from package-version-check-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add package-version-check-mcp --env GITHUB_PAT=<GITHUB_PAT> --env PACKAGE_VERSION_CACHE_ENABLED=<PACKAGE_VERSION_CACHE_ENABLED> -- uvx package-version-check-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from package-version-check-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "package-version-check-mcp": {
            "command": "uvx",
            "args": [
                "package-version-check-mcp"
            ],
            "env": {
                "GITHUB_PAT": "<GITHUB_PAT>",
                "PACKAGE_VERSION_CACHE_ENABLED": "<PACKAGE_VERSION_CACHE_ENABLED>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from package-version-check-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "package-version-check-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "package-version-check-mcp"
            ],
            "env": {
                "GITHUB_PAT": "<GITHUB_PAT>",
                "PACKAGE_VERSION_CACHE_ENABLED": "<PACKAGE_VERSION_CACHE_ENABLED>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from package-version-check-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e GITHUB_PAT=<GITHUB_PAT> -e PACKAGE_VERSION_CACHE_ENABLED=<PACKAGE_VERSION_CACHE_ENABLED> package-version-check-mcp uvx package-version-check-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from package-version-check-mcp <command>

## When to use it
- pin a dependency to its real current release
- refresh versions the agent just added
- find the newest Docker tag matching a suffix
- read the current version of a GitHub Action
- look up a Terraform provider or module version

## Example prompts
- Use the MCP to get the latest versions and write them into `package.json`
- Update the dependencies you just added to their latest versions via MCP
- Check the latest `kubectl` and `terraform` versions with the MCP tools

## Similar
- [version-sentinel](https://affpapa.org/en/nevibecode/plugins/version-sentinel.md) — plugin · ★ 6
- [dart-resolve-package-conflicts](https://affpapa.org/en/nevibecode/skills/dart-resolve-package-conflicts.md) — skill · 18600 installs
- [sumsub-check-skills-version](https://affpapa.org/en/nevibecode/skills/sumsub-check-skills-version.md) — skill · 1200 installs
- [dependency-check](https://affpapa.org/en/nevibecode/skills/dependency-check.md) — skill · 748 installs
- [updating-npm-package](https://affpapa.org/en/nevibecode/skills/updating-npm-package.md) — skill · 398 installs
- [npm-check-updates](https://affpapa.org/en/nevibecode/skills/npm-check-updates.md) — skill · 426 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
