Pacchetto Versione Mcp Server
Un server MCP che fornisce agli LLM le ultime versioni stabili dei pacchetti durante la codifica.
Panoramica
Cos'è mcp-package-version?
Il ### mcp-package-version è un repository creato dall'utente ### sammcj su GitHub. Questo repository è progettato per gestire e tracciare le versioni dei pacchetti all'interno dell'ecosistema MCP (Multi-Channel Package). Serve come uno strumento fondamentale per gli sviluppatori che devono mantenere il controllo delle versioni e garantire la compatibilità tra le diverse versioni dei pacchetti.
Caratteristiche di mcp-package-version
- Controllo delle Versioni: Il repository consente agli utenti di gestire più versioni dei pacchetti, rendendo più facile il ripristino o l'aggiornamento secondo necessità.
- Tracciamento della Compatibilità: Aiuta a tracciare quali versioni dei pacchetti sono compatibili tra loro, riducendo il rischio di conflitti.
- Accesso Pubblico: Essendo un repository pubblico, consente la collaborazione e i contributi di altri sviluppatori, migliorando la funzionalità e l'affidabilità complessiva del processo di gestione dei pacchetti.
- Documentazione: È fornita una documentazione completa per aiutare gli utenti a comprendere come utilizzare efficacemente il repository e le sue funzionalità.
Come Utilizzare mcp-package-version
-
Clona il Repository: Inizia clonando il repository sulla tua macchina locale utilizzando il comando:
git clone https://github.com/sammcj/mcp-package-version.git
-
Installa le Dipendenze: Naviga nella directory clonata e installa eventuali dipendenze necessarie come indicato nella documentazione.
-
Gestisci le Versioni: Usa i comandi forniti per aggiungere, aggiornare o rimuovere le versioni dei pacchetti. Assicurati di seguire le linee guida sulla versioning per mantenere la compatibilità.
-
Collabora: Se desideri contribuire, fai un fork del repository, apporta le tue modifiche e invia una pull request per la revisione.
-
Rimani Aggiornato: Controlla regolarmente gli aggiornamenti del repository per assicurarti di utilizzare le ultime funzionalità e correzioni.
Domande Frequenti
D1: Qual è lo scopo del repository mcp-package-version?
R1: Il repository mcp-package-version è progettato per aiutare gli sviluppatori a gestire e tracciare le versioni dei pacchetti all'interno dell'ecosistema MCP, garantendo compatibilità e facilità d'uso.
D2: Come posso contribuire al repository mcp-package-version?
R2: Puoi contribuire facendo un fork del repository, apportando le tue modifiche e inviando una pull request. Assicurati di seguire le linee guida per i contributi fornite nella documentazione.
D3: Il repository mcp-package-version è aperto per l'uso pubblico?
R3: Sì, il repository è pubblico, consentendo a chiunque di accedervi, utilizzarlo e contribuire.
D4: Dove posso trovare la documentazione per mcp-package-version?
R4: La documentazione è disponibile all'interno del repository stesso, tipicamente in un file README.md
o in una directory dedicata docs
.
D5: Come posso segnalare problemi o bug nel repository mcp-package-version?
R5: Puoi segnalare problemi navigando nella scheda "Issues" del repository e inviando un nuovo problema con informazioni dettagliate sul problema.
Dettaglio
Package Version MCP Server
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
<a href="https://glama.ai/mcp/servers/zkts2w92ba"><img width="380" height="200" src="https://glama.ai/mcp/servers/zkts2w92ba/badge" alt="https://github.com/sammcj/mcp-package-version MCP server" /></a>
Screenshot
Installation
Requirements:
- A modern go version installed (See Go Installation)
Using go install
(Recommended for MCP Client Setup):
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:
{
"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:
git clone https://github.com/sammcj/mcp-package-version.git
cd mcp-package-version
make
You can also run the server in a container:
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.:
{
"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 thebin
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'sPATH
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 yourPATH
:[ -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)
mcp-package-version
SSE Transport
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:
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:
{
"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:
{
"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:
{
"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:
{
"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:
{
"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:
{
"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:
{
"name": "check_docker_tags",
"arguments": {
"image": "nginx",
"registry": "dockerhub",
"limit": 5,
"filterTags": ["^1\\."],
"includeDigest": true
}
}
AWS Bedrock Models
List all AWS Bedrock models:
{
"name": "check_bedrock_models",
"arguments": {
"action": "list"
}
}
Search for specific AWS Bedrock models:
{
"name": "check_bedrock_models",
"arguments": {
"action": "search",
"query": "claude",
"provider": "anthropic"
}
}
Get the latest Claude Sonnet model:
{
"name": "get_latest_bedrock_model",
"arguments": {}
}
Swift Packages
Check the latest versions of Swift packages:
{
"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:
{
"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:
- Builds and tests the application on every push to the main branch and pull requests
- Creates a release when a tag with the format
v*
(e.g.,v1.0.0
) is pushed - Builds and pushes Docker images to GitHub Container Registry
License
Configurazione Server
{
"mcpServers": {
"mcp-package-version": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--sammcj--mcp-package-version--mcp-package-version",
"./out --transport transport --base-url base-url"
],
"env": {}
}
}
}