Package Version MCP Server

Package Version MCP Server

Check latest stable package versions across multiple registries with an MCP server.

118
Stars
23
Forks
118
Watchers
4
Issues
Package Version MCP Server acts as an MCP-compliant server that assists large language models in fetching the latest stable versions of packages from a variety of registries such as npm, PyPI, Maven Central, Go Proxy, Swift Packages, AWS Bedrock, Docker Hub, GitHub Container Registry, and GitHub Actions. It can be integrated via command-line, URL, or containers and is tailored for development environments and tools that require accurate package versioning for code generation or recommendations. The solution is adaptable and is transitioning towards incorporation in the broader mcp-devtools suite.

Key Features

Fetches latest stable package versions from multiple registries
Supports npm, PyPI, Maven Central, Go Proxy, Swift, AWS Bedrock, Docker, GitHub Container Registry, and GitHub Actions
Compliant with the Model Context Protocol (MCP)
Provides both command and HTTP server modes
Easily installable via Go or Docker
Integrates with popular clients such as VSCode extensions and Claude Desktop
Customizable client configuration via JSON and YAML
Transitioning to be part of a broader mcp-devtools suite
Enables LLMs to recommend current package versions
Open source with CI/CD and release processes

Use Cases

Automatically retrieving the latest stable package versions for code generation
Enabling LLMs to offer up-to-date dependency suggestions
Validating and maintaining requirements or manifest files in projects
Automating container image version checks
Integrating package version lookups into developer IDEs
Enhancing continuous integration pipelines with version updates
Supporting software package upgrade notifications
Powering chat-based or assistant developer tools
Providing a unified backend for multi-language package management
Facilitating smart suggestions for GitHub Actions and workflows

README

Package Version MCP Server

smithery badge

An MCP server that provides tools for checking latest stable package versions from multiple package registries:

  • npm (Node.js/JavaScript)
  • PyPI (Python)
  • Maven Central (Java)
  • Go Proxy (Go)
  • Swift Packages (Swift)
  • AWS Bedrock (AI Models)
  • Docker Hub (Container Images)
  • GitHub Container Registry (Container Images)
  • GitHub Actions

This server helps LLMs ensure they're recommending up-to-date package versions when writing code.

IMPORTANT: I'm slowly moving across this tool to a component of my mcp-devtools server

Screenshot

tooling with and without mcp-package-version

Installation

Requirements:

Using go install (Recommended for MCP Client Setup):

bash
go install github.com/sammcj/mcp-package-version/v2@HEAD

Then setup your client to use the MCP server. Assuming you've installed the binary with go install github.com/sammcj/mcp-package-version/v2@HEAD and your $GOPATH is /Users/sammcj/go/bin, you can provide the full path to the binary:

json
{
  "mcpServers": {
    "package-version": {
      "command": "/Users/sammcj/go/bin/mcp-package-version"
    }
  }
}
  • For the Cline VSCode Extension this will be ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • For Claude Desktop ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • For GoMCP ~/.config/gomcp/config.yaml

Other Installation Methods

Or clone the repository and build it:

bash
git clone https://github.com/sammcj/mcp-package-version.git
cd mcp-package-version
make

You can also run the server in a container:

bash
docker run -p 18080:18080 ghcr.io/sammcj/mcp-package-version:main

Note: If running in a container, you'll need to configure the client to use the URL instead of command, e.g.:

json
{
  "mcpServers": {
    "package-version": {
      "url": "http://localhost:18080",
    }
  }
}

Tip: Go Path

If $GOPATH/bin is not in your PATH, you'll need to provide the full path to the binary when configuring your MCP client (e.g. /Users/sammcj/go/bin/mcp-package-version).

If you haven't used go applications before and have only just installed go, you may not have a $GOPATH set up in your environment. This is important for any go install command to work correctly.

Understanding $GOPATH

The go install command downloads and compiles Go packages, placing the resulting binary executable in the bin subdirectory of your $GOPATH. By default, $GOPATH is > usually located at $HOME/go on Unix-like systems (including macOS). If you haven't configured $GOPATH explicitly, Go uses this default.

The location $GOPATH/bin (e.g., /Users/your_username/go/bin) needs to be included in your system's PATH environment variable if you want to run installed Go binaries directly by name from any terminal location.

You can add the following line to your shell configuration file (e.g., ~/.zshrc, ~/.bashrc) to set $GOPATH to the default if it's not already set, and ensure $GOPATH/bin is in your PATH:

bash
[ -z "$GOPATH" ] && export GOPATH="$HOME/go"; echo "$PATH" | grep -q ":$GOPATH/bin" || export PATH="$PATH:$GOPATH/bin"

After adding this line, restart your terminal or MCP client.

Usage

The server supports two transport modes: stdio (default) and SSE (Server-Sent Events).

STDIO Transport (Default)

bash
mcp-package-version

SSE Transport

bash
mcp-package-version --transport sse --port 18080 --base-url "http://localhost:18080"

This would make the server available to clients at http://localhost:18080/sse (Note the /sse suffix!).

Command-line Options

  • --transport, -t: Transport type (stdio or sse). Default: stdio
  • --port: Port to use for SSE transport. Default: 18080
  • --base-url: Base URL for SSE transport. Default: http://localhost

Docker Images

Docker images are available from GitHub Container Registry:

bash
docker pull ghcr.io/sammcj/mcp-package-version:main

You can also see the example docker-compose.yaml.

Tools

NPM Packages

Check the latest versions of NPM packages:

json
{
  "name": "check_npm_versions",
  "arguments": {
    "dependencies": {
      "react": "^17.0.2",
      "react-dom": "^17.0.2",
      "lodash": "4.17.21"
    },
    "constraints": {
      "react": {
        "majorVersion": 17
      }
    }
  }
}

Python Packages (requirements.txt)

Check the latest versions of Python packages from requirements.txt:

json
{
  "name": "check_python_versions",
  "arguments": {
    "requirements": [
      "requests==2.28.1",
      "flask>=2.0.0",
      "numpy"
    ]
  }
}

Python Packages (pyproject.toml)

Check the latest versions of Python packages from pyproject.toml:

json
{
  "name": "check_pyproject_versions",
  "arguments": {
    "dependencies": {
      "dependencies": {
        "requests": "^2.28.1",
        "flask": ">=2.0.0"
      },
      "optional-dependencies": {
        "dev": {
          "pytest": "^7.0.0"
        }
      },
      "dev-dependencies": {
        "black": "^22.6.0"
      }
    }
  }
}

Java Packages (Maven)

Check the latest versions of Java packages from Maven:

json
{
  "name": "check_maven_versions",
  "arguments": {
    "dependencies": [
      {
        "groupId": "org.springframework.boot",
        "artifactId": "spring-boot-starter-web",
        "version": "2.7.0"
      },
      {
        "groupId": "com.google.guava",
        "artifactId": "guava",
        "version": "31.1-jre"
      }
    ]
  }
}

Java Packages (Gradle)

Check the latest versions of Java packages from Gradle:

json
{
  "name": "check_gradle_versions",
  "arguments": {
    "dependencies": [
      {
        "configuration": "implementation",
        "group": "org.springframework.boot",
        "name": "spring-boot-starter-web",
        "version": "2.7.0"
      },
      {
        "configuration": "testImplementation",
        "group": "junit",
        "name": "junit",
        "version": "4.13.2"
      }
    ]
  }
}

Go Packages

Check the latest versions of Go packages from go.mod:

json
{
  "name": "check_go_versions",
  "arguments": {
    "dependencies": {
      "module": "github.com/example/mymodule",
      "require": [
        {
          "path": "github.com/gorilla/mux",
          "version": "v1.8.0"
        },
        {
          "path": "github.com/spf13/cobra",
          "version": "v1.5.0"
        }
      ]
    }
  }
}

Docker Images

Check available tags for Docker images:

json
{
  "name": "check_docker_tags",
  "arguments": {
    "image": "nginx",
    "registry": "dockerhub",
    "limit": 5,
    "filterTags": ["^1\\."],
    "includeDigest": true
  }
}

AWS Bedrock Models

List all AWS Bedrock models:

json
{
  "name": "check_bedrock_models",
  "arguments": {
    "action": "list"
  }
}

Search for specific AWS Bedrock models:

json
{
  "name": "check_bedrock_models",
  "arguments": {
    "action": "search",
    "query": "claude",
    "provider": "anthropic"
  }
}

Get the latest Claude Sonnet model:

json
{
  "name": "get_latest_bedrock_model",
  "arguments": {}
}

Swift Packages

Check the latest versions of Swift packages:

json
{
  "name": "check_swift_versions",
  "arguments": {
    "dependencies": [
      {
        "url": "https://github.com/apple/swift-argument-parser",
        "version": "1.1.4"
      },
      {
        "url": "https://github.com/vapor/vapor",
        "version": "4.65.1"
      }
    ],
    "constraints": {
      "https://github.com/apple/swift-argument-parser": {
        "majorVersion": 1
      }
    }
  }
}

GitHub Actions

Check the latest versions of GitHub Actions:

json
{
  "name": "check_github_actions",
  "arguments": {
    "actions": [
      {
        "owner": "actions",
        "repo": "checkout",
        "currentVersion": "v3"
      },
      {
        "owner": "actions",
        "repo": "setup-node",
        "currentVersion": "v3"
      }
    ],
    "includeDetails": true
  }
}

Releases and CI/CD

This project uses GitHub Actions for continuous integration and deployment. The workflow automatically:

  1. Builds and tests the application on every push to the main branch and pull requests
  2. Creates a release when a tag with the format v* (e.g., v1.0.0) is pushed
  3. Builds and pushes Docker images to GitHub Container Registry

License

MIT

Star History

Star History Chart

Repository Owner

sammcj
sammcj

User

Repository Details

Language Go
Default Branch main
Size 8,441 KB
Contributors 5
License MIT License
MCP Verified Nov 12, 2025

Programming Languages

Go
97.4%
Makefile
1.81%
Dockerfile
0.8%

Tags

Topics

ai javascript llm mcp node package python security tool typescript versioning versions

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • mcp-get

    mcp-get

    A command-line tool for discovering, installing, and managing Model Context Protocol servers.

    mcp-get is a CLI tool designed to help users discover, install, and manage Model Context Protocol (MCP) servers. It enables seamless integration of Large Language Models (LLMs) with various external data sources and tools by utilizing a standardized protocol. The tool provides access to a curated registry of MCP servers and supports installation and management across multiple programming languages and environments. Although now archived, mcp-get simplifies environment variable management, package versioning, and server updates to enhance the LLM ecosystem.

    • 497
    • MCP
    • michaellatman/mcp-get
  • godoc-mcp-server

    godoc-mcp-server

    Provides Go package documentation from pkg.go.dev to LLMs as an MCP server.

    godoc-mcp-server enables searching Golang packages and obtains their documentation from pkg.go.dev, serving the information to language models via the Model Context Protocol. Communication occurs over standard input/output, supporting efficient retrieval of package information, including support for subpackages and usage instructions. The tool includes local caching and features tailored to LLM integration scenarios.

    • 32
    • MCP
    • yikakia/godoc-mcp-server
  • Clojars MCP Server

    Clojars MCP Server

    Fetch and manage Clojars dependency data via MCP for Claude and other AI tools.

    Clojars MCP Server is a Model Context Protocol (MCP) server that enables tools like Claude to fetch up-to-date dependency information from Clojars, the Clojure community artifact repository. It provides standardized MCP tools to retrieve the latest versions of dependencies, check if specific versions exist, and access version histories. Designed for easy integration with AI coding assistants, it supports direct installation and seamless connectivity to Claude via MCP settings.

    • 5
    • MCP
    • Bigsy/Clojars-MCP-Server
  • Maven Tools MCP Server

    Maven Tools MCP Server

    Universal Maven Central dependency intelligence server for JVM build tools via the Model Context Protocol.

    Maven Tools MCP Server provides an MCP-compliant API delivering rich Maven Central dependency intelligence for JVM build tools like Maven, Gradle, SBT, and Mill. It enables AI assistants to instantly analyze, interpret, and recommend updates, health checks, and maintenance insights by reading maven-metadata.xml directly from Maven Central. With Context7 integration, it supports orchestration and documentation, enabling bulk analysis, stable version filtering, risk assessment, and rapid cached responses. Designed for seamless integration into AI workflows via the Model Context Protocol.

    • 14
    • MCP
    • arvindand/maven-tools-mcp
  • Semgrep MCP Server

    Semgrep MCP Server

    A Model Context Protocol server powered by Semgrep for seamless code analysis integration.

    Semgrep MCP Server implements the Model Context Protocol (MCP) to enable efficient and standardized communication for code analysis tasks. It facilitates integration with platforms like LM Studio, Cursor, and Visual Studio Code, providing both Docker and Python (PyPI) deployment options. The tool is now maintained in the main Semgrep repository with continued updates, enhancing compatibility and support across developer tools.

    • 611
    • MCP
    • semgrep/mcp
  • mcp-security-audit

    mcp-security-audit

    MCP server for automated npm package security auditing.

    mcp-security-audit is an MCP (Model Context Protocol) server designed to audit npm package dependencies for security vulnerabilities. It supports real-time vulnerability scanning, integrates directly with remote npm registries, and generates detailed reports with severity, CVSS scores, and CVE information. Compatible with npm, pnpm, and yarn, it also provides automatic fix recommendations and supports standardized MCP integration for tools like Cursor and Cline.

    • 46
    • MCP
    • qianniuspace/mcp-security-audit
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results