Version du paquet Serveur Mcp
Un serveur MCP qui fournit aux LLM les dernières versions stables des packages lors de la programmation.
Aperçu
Qu'est-ce que mcp-package-version ?
Le ### mcp-package-version est un dépôt créé par l'utilisateur ### sammcj sur GitHub. Ce dépôt est conçu pour gérer et suivre les versions des paquets au sein de l'écosystème MCP (Multi-Channel Package). Il sert d'outil essentiel pour les développeurs qui doivent maintenir le contrôle des versions et garantir la compatibilité entre les différentes versions des paquets.
Fonctionnalités de mcp-package-version
- Contrôle des Versions : Le dépôt permet aux utilisateurs de gérer plusieurs versions de paquets, facilitant ainsi le retour en arrière ou la mise à niveau si nécessaire.
- Suivi de la Compatibilité : Il aide à suivre quelles versions de paquets sont compatibles entre elles, réduisant ainsi le risque de conflits.
- Accès Public : Étant un dépôt public, il permet la collaboration et les contributions d'autres développeurs, améliorant ainsi la fonctionnalité et la fiabilité du processus de gestion des paquets.
- Documentation : Une documentation complète est fournie pour aider les utilisateurs à comprendre comment utiliser efficacement le dépôt et ses fonctionnalités.
Comment utiliser mcp-package-version
-
Cloner le Dépôt : Commencez par cloner le dépôt sur votre machine locale en utilisant la commande :
git clone https://github.com/sammcj/mcp-package-version.git
-
Installer les Dépendances : Naviguez vers le répertoire cloné et installez les dépendances nécessaires comme indiqué dans la documentation.
-
Gérer les Versions : Utilisez les commandes fournies pour ajouter, mettre à jour ou supprimer des versions de paquets. Assurez-vous de suivre les directives de versionnage pour maintenir la compatibilité.
-
Collaborer : Si vous souhaitez contribuer, fork le dépôt, apportez vos modifications et soumettez une demande de tirage pour révision.
-
Restez à Jour : Vérifiez régulièrement les mises à jour du dépôt pour vous assurer que vous utilisez les dernières fonctionnalités et corrections.
Questions Fréquemment Posées
Q1 : Quel est le but du dépôt mcp-package-version ?
R1 : Le dépôt mcp-package-version est conçu pour aider les développeurs à gérer et suivre les versions des paquets au sein de l'écosystème MCP, garantissant la compatibilité et la facilité d'utilisation.
Q2 : Comment puis-je contribuer au dépôt mcp-package-version ?
R2 : Vous pouvez contribuer en forkant le dépôt, en apportant vos modifications et en soumettant une demande de tirage. Assurez-vous de suivre les directives de contribution fournies dans la documentation.
Q3 : Le dépôt mcp-package-version est-il ouvert à l'utilisation publique ?
R3 : Oui, le dépôt est public, permettant à quiconque d'y accéder, de l'utiliser et d'y contribuer.
Q4 : Où puis-je trouver la documentation pour mcp-package-version ?
R4 : La documentation est disponible dans le dépôt lui-même, généralement dans un fichier README.md
ou un répertoire docs
dédié.
Q5 : Comment signaler des problèmes ou des bogues dans le dépôt mcp-package-version ?
R5 : Vous pouvez signaler des problèmes en naviguant vers l'onglet "Issues" dans le dépôt et en soumettant un nouveau problème avec des informations détaillées sur le problème.
Détail
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
Configuration du serveur
{
"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": {}
}
}
}