包版本MCP服务器
一个提供检查多个包注册表最新稳定版本的工具的MCP服务器:
- npm(Node.js/JavaScript)
- PyPI(Python)
- Maven Central(Java)
- Go Proxy(Go)
- Swift Packages(Swift)
- AWS Bedrock(AI模型)
- Docker Hub(容器镜像)
- GitHub Container Registry(容器镜像)
- GitHub Actions
该服务器帮助LLM在编写代码时确保推荐的是最新的包版本。
重要提示:我正在逐步将这个工具迁移到我的mcp-devtools服务器的组件中
截图

安装
要求:
- 安装了现代的go版本(参见Go安装)
使用go install(推荐用于MCP客户端设置):
go install github.com/sammcj/mcp-package-version/v2@HEAD
然后设置你的客户端以使用MCP服务器。假设你使用go install github.com/sammcj/mcp-package-version/v2@HEAD安装了二进制文件,并且你的$GOPATH是/Users/sammcj/go/bin,你可以提供二进制文件的全路径:
{
"mcpServers": {
"package-version": {
"command": "/Users/sammcj/go/bin/mcp-package-version"
}
}
}
- 对于Cline VSCode扩展,这将位于
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - 对于Claude桌面版
~/Library/Application\ Support/Claude/claude_desktop_config.json - 对于GoMCP
~/.config/gomcp/config.yaml
其他安装方法
或者克隆仓库并构建它:
git clone https://github.com/sammcj/mcp-package-version.git
cd mcp-package-version
make
你也可以在容器中运行服务器:
docker run -p 18080:18080 ghcr.io/sammcj/mcp-package-version:main
注意:如果在容器中运行,你需要配置客户端使用URL而不是命令,例如:
{
"mcpServers": {
"package-version": {
"url": "http://localhost:18080",
}
}
}
提示:Go路径
如果$GOPATH/bin不在你的PATH中,你在配置MCP客户端时需要提供二进制文件的全路径(例如/Users/sammcj/go/bin/mcp-package-version)。
如果你之前没有使用过go应用程序,并且刚刚安装了go,你可能还没有在你的环境中设置$GOPATH。这对于任何go install命令正确工作都很重要。
理解
$GOPATH
go install命令下载并编译Go包,将生成的可执行二进制文件放在你的$GOPATH的bin子目录中。默认情况下,$GOPATH通常位于Unix-like系统(包括macOS)上的$HOME/go。如果你没有明确配置$GOPATH,Go会使用这个默认值。如果你想要从任何终端位置直接通过名称运行安装的Go二进制文件,
$GOPATH/bin(例如/Users/your_username/go/bin)需要包含在你的系统的PATH环境变量中。你可以将以下行添加到你的shell配置文件(例如
~/.zshrc、~/.bashrc)中,以将$GOPATH设置为默认值(如果尚未设置),并确保$GOPATH/bin包含在你的PATH中:[ -z "$GOPATH" ] && export GOPATH="$HOME/go"; echo "$PATH" | grep -q ":$GOPATH/bin" || export PATH="$PATH:$GOPATH/bin"添加此行后,重启你的终端或MCP客户端。
使用
服务器支持两种传输模式:stdio(默认)和SSE(服务器发送事件)。
STDIO传输(默认)
mcp-package-version
SSE传输
mcp-package-version --transport sse --port 18080 --base-url "http://localhost:18080"
这将使服务器对客户端在http://localhost:18080/sse可用(注意/sse后缀!)。
命令行选项
--transport,-t:传输类型(stdio或sse)。默认:stdio--port:用于SSE传输的端口。默认:18080--base-url:SSE传输的基础URL。默认:http://localhost
Docker镜像
Docker镜像可以从GitHub Container Registry获取:
docker pull ghcr.io/sammcj/mcp-package-version:main
你也可以查看示例docker-compose.yaml。
工具
npm包
检查npm包的最新版本:
{
"name": "check_npm_versions",
"arguments": {
"dependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2",
"lodash": "4.17.21"
},
"constraints": {
"react": {
"majorVersion": 17
}
}
}
}
Python包(requirements.txt)
检查requirements.txt中的Python包的最新版本:
{
"name": "check_python_versions",
"arguments": {
"requirements": [
"requests==2.28.1",
"flask>=2.0.0",
"numpy"
]
}
}
Python包(pyproject.toml)
检查pyproject.toml中的Python包的最新版本:
{
"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包(Maven)
检查Maven中的Java包的最新版本:
{
"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包(Gradle)
检查Gradle中的Java包的最新版本:
{
"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包
检查go.mod中的Go包的最新版本:
{
"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镜像
检查Docker镜像的可用标签:
{
"name": "check_docker_tags",
"arguments": {
"image": "nginx",
"registry": "dockerhub",
"limit": 5,
"filterTags": ["^1\\."],
"includeDigest": true
}
}
AWS Bedrock模型
列出所有AWS Bedrock模型:
{
"name": "check_bedrock_models",
"arguments": {
"action": "list"
}
}
搜索特定的AWS Bedrock模型:
{
"name": "check_bedrock_models",
"arguments": {
"action": "search",
"query": "claude",
"provider": "anthropic"
}
}
获取最新的Claude Sonnet模型:
{
"name": "get_latest_bedrock_model",
"arguments": {}
}
Swift包
检查Swift包的最新版本:
{
"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
检查GitHub Actions的最新版本:
{
"name": "check_github_actions",
"arguments": {
"actions": [
{
"owner": "actions",
"repo": "checkout",
"currentVersion": "v3"
},
{
"owner": "actions",
"repo": "setup-node",
"currentVersion": "v3"
}
],
"includeDetails": true
}
}
发布和CI/CD
此项目使用GitHub Actions进行持续集成和部署。工作流程会自动:
- 在每次推送main分支和拉取请求时构建和测试应用程序
- 当推送带有
v*格式(例如v1.0.0)的标签时创建发布 - 构建并将Docker镜像推送到GitHub Container Registry
