使用说明

项目简介

Package Version MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为大型语言模型 (LLM) 提供软件包版本检查能力。该服务器提供了一系列工具,允许LLM查询各种软件包仓库(如 npm, PyPI, Maven Central, Go Proxy, Docker Hub, GitHub Container Registry)和 AWS Bedrock 模型目录,以获取最新的稳定版本信息。这有助于LLM在生成代码或配置时,能够推荐和使用最新的软件包版本,提高软件开发的效率和质量。

主要功能点

  • 多语言软件包版本检查: 支持 JavaScript/Node.js (npm), Python (PyPI), Java (Maven/Gradle), Go 等主流编程语言的软件包版本查询。
  • AWS Bedrock 模型信息查询: 提供工具用于搜索、列出和获取 Amazon Bedrock AI 模型的信息,包括最新的 Claude Sonnet 模型。
  • Docker 容器镜像标签检查: 支持从 Docker Hub, GitHub Container Registry 以及自定义 Registry 查询 Docker 镜像的可用标签。
  • 灵活的查询参数: 允许LLM根据不同的需求,使用不同的工具和参数进行精确的版本查询,例如指定依赖项文件、软件包名称、镜像名称等。
  • 易于集成: 通过 MCP 协议与 LLM 客户端通信,提供标准化的接口,方便集成到各种 LLM 应用中。

安装步骤

  1. 通过 Smithery 安装 (推荐 Claude Desktop 用户使用) 如果你的 LLM 客户端支持 Smithery (例如 Claude Desktop),可以使用以下命令快速安装 Package Version MCP Server:

    npx -y @smithery/cli install mcp-package-version --client claude
  2. 手动安装 如果你的 LLM 客户端不支持 Smithery,或者你想手动安装,可以按照以下步骤操作:

    # 克隆仓库
    git clone https://github.com/sammcj/mcp-package-version.git
    cd mcp-package-version
    # 安装依赖
    npm install
    # 构建服务器 (可选,如果你只需要运行预构建的版本,可以跳过此步骤)
    npm run build

服务器配置

MCP 服务器需要配置到 MCP 客户端中才能使用。以下是配置 Package Version MCP Server 的 JSON 格式配置信息,你需要将这些配置添加到你的 MCP 客户端的设置文件中。

通用配置

{
  "mcpServers": {
    "package-version": {  // "package-version" 是你为该服务器定义的名称,可以自定义
      "command": "npx",  // 启动服务器的命令,这里使用 npx 运行 npm 包
      "args": ["-y", "mcp-package-version"] // 命令参数,-y 表示自动确认安装,mcp-package-version 是要运行的 npm 包名
    }
  }
}

不同客户端的 MCP 设置文件路径示例

  • Cline VSCode Extension: '~/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'

代理配置 (可选) 如果你的网络环境需要通过企业代理访问外部资源,你可能需要配置 'NODE_EXTRA_CA_CERTS' 环境变量来指定代理的 CA 证书:

{
  "mcpServers": {
    "package-version": {
      "command": "npx",
      "args": ["-y", "mcp-package-version"],
      "env": {
        "NODE_EXTRA_CA_CERTS": "/path/to/mitm/cert.pem" //  替换为你的 MITM 证书路径
      }
    }
  }
}

基本使用方法

配置完成后,在你的 LLM 应用中,你可以使用 'use_mcp_tool' 函数调用 Package Version MCP Server 提供的工具。你需要指定 'server_name' 为你在配置中定义的服务器名称 (例如 "package-version"),以及要使用的 'tool_name' 和相应的 'arguments'。

工具列表和使用示例

Package Version MCP Server 提供了以下工具,你可以参考 'README.md' 文件中 "Tools" 和 "Guidelines for LLMs" 章节获取更详细的工具说明和使用示例,例如:

  • check_npm_versions: 检查 npm 包的最新版本 (用于 package.json)
  • check_python_versions: 检查 Python 包的最新版本 (用于 requirements.txt)
  • check_pyproject_versions: 检查 Python 包的最新版本 (用于 pyproject.toml)
  • check_maven_versions: 检查 Maven 包的最新版本 (用于 pom.xml)
  • check_gradle_versions: 检查 Gradle 包的最新版本 (用于 build.gradle)
  • check_go_versions: 检查 Go 包的最新版本 (用于 go.mod)
  • check_package_versions: 批量检查 npm 和 PyPI 包的最新版本
  • check_bedrock_models: 查询 AWS Bedrock 模型信息
  • get_latest_bedrock_model: 获取最新的 Claude Sonnet 模型
  • check_docker_tags: 检查 Docker 镜像标签

使用示例 (LLM Prompt 中调用工具)

以下是一个在 LLM Prompt 中使用 'check_npm_versions' 工具的示例:

// 检查 express 和 react 的最新 npm 版本
use_mcp_tool({
  server_name: "package-version", //  配置中定义的 server name
  tool_name: "check_npm_versions", //  要调用的工具名称
  arguments: {
    dependencies: { //  工具的参数
      "express": "^4.17.1",
      "react": "^17.0.2"
    }
  }
});

请根据你的具体需求,参考 'README.md' 文档选择合适的工具,并配置正确的 'tool_name' 和 'arguments'。

信息

分类

开发者工具