M

MCP 包版本推荐

@sammcj/mcp-package-version
0 Stars 53 次浏览 sammcj 更新于 2026-08-23

在编写代码时,建议使用最新的稳定包版本。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "package-version": {
      "command": "/Users/sammcj/go/bin/mcp-package-version"
    }
  }
}

该服务需要配置环境变量:NODE_EXTRA_CA_CERTS

服务介绍

包版本 MCP 服务器

smithery 徽章

一个提供从多个包注册表中检查最新稳定包版本工具的 MCP 服务器:

  • npm (Node.js/JavaScript)
  • PyPI (Python)
  • Maven Central (Java)
  • Go Proxy (Go)
  • Swift Packages (Swift)
  • AWS Bedrock (AI 模型)
  • Docker Hub (容器镜像)
  • GitHub 容器注册表 (容器镜像)
  • GitHub Actions

此服务器帮助 LLM 确保在编写代码时推荐最新的包版本。

重要:从版本 2.0.0 开始,mcp-package-version 已用 Go 重写,因此需要在客户端更新配置 - 详情请参阅 安装 部分。

屏幕截图

有和没有 mcp-package-version 的工具

安装

要求:

  • 安装了现代版本的 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 Desktop ~/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:latest

注意:如果在容器中运行,则需要配置客户端使用 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 包,将生成的二进制可执行文件放置在你的 $GOPATHbin 子目录中。默认情况下,Unix 类系统(包括 macOS)中的 $GOPATH 通常位于 $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(Server-Sent Events)。

STDIO 传输(默认)

mcp-package-version

或者如果你本地构建了它:

./bin/mcp-package-version

SSE 传输

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

或者如果你本地构建了它:

./bin/mcp-package-version --transport sse --port 18080 --base-url http://localhost

命令行选项

  • --transport, -t: 传输类型(stdio 或 sse)。默认: stdio
  • --port: 用于 SSE 传输的端口。默认: 18080
  • --base-url: SSE 传输的基础 URL。默认: http://localhost

工具

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 进行持续集成和部署。工作流会自动执行以下操作:

  1. 在每次推送到主分支和拉取请求时构建和测试应用程序
  2. 当推送格式为 v*(例如 v1.0.0)的标签时创建发布
  3. 构建并将 Docker 镜像推送到 GitHub Container Registry

Docker 镜像

Docker 镜像可以从 GitHub Container Registry 获取:

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

或者指定特定版本:

docker pull ghcr.io/sammcj/mcp-package-version:v2.0.0

许可证

MIT

相关 MCP 服务