https://github.com/sammcj/mcp-package-version
An MCP server that provides LLMs with the latest stable package versions when coding
https://github.com/sammcj/mcp-package-version
ai javascript llm mcp node package python security tool typescript versioning versions
Last synced: 7 days ago
JSON representation
An MCP server that provides LLMs with the latest stable package versions when coding
- Host: GitHub
- URL: https://github.com/sammcj/mcp-package-version
- Owner: sammcj
- License: mit
- Created: 2024-12-16T06:07:05.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-22T00:59:47.000Z (25 days ago)
- Last Synced: 2025-04-02T04:08:55.966Z (14 days ago)
- Topics: ai, javascript, llm, mcp, node, package, python, security, tool, typescript, versioning, versions
- Language: TypeScript
- Homepage: https://smcleod.net
- Size: 1.43 MB
- Stars: 59
- Watchers: 1
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-mcp-list - @sammcj/mcp-package-version - package-version?style=social)](https://github.com/sammcj/mcp-package-version): Helps LLMs suggest the latest stable package versions. (Uncategorized / Uncategorized)
- awesome-mcp-servers - @sammcj/mcp-package-version - An MCP Server to help LLMs suggest the latest stable package versions when writing code. (Legend / 💻 <a name="developer-tools"></a>Developer Tools)
- awesome-mcp-servers - Package Version MCP - An MCP server that provides LLMs with the latest stable package versions when coding (Table of Contents / AI Services)
README
# Package Version MCP Server
[](https://smithery.ai/server/mcp-package-version)
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 ActionsThis server helps LLMs ensure they're recommending up-to-date package versions when writing code.
**IMPORTANT: As of version 2.0.0, mcp-package-version has been rewritten in Go, as such the configuration needs to be updated in your client - see the [Installation](#installation) section for more details.**
## Screenshot

## Installation
Requirements:
- A modern go version installed (See [Go Installation](https://go.dev/doc/install))
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:latest
```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
```Or if you built it locally:
```bash
./bin/mcp-package-version
```### SSE Transport
```bash
mcp-package-version --transport sse --port 18080 --base-url http://localhost
```Or if you built it locally:
```bash
./bin/mcp-package-version --transport sse --port 18080 --base-url http://localhost
```#### 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## 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### Docker Images
Docker images are available from GitHub Container Registry:
```bash
docker pull ghcr.io/sammcj/mcp-package-version:latest
```Or with a specific version:
```bash
docker pull ghcr.io/sammcj/mcp-package-version:v2.0.0
```## License
[MIT](LICENSE)