返回市场
MCP包版本

MCP包版本

作者:sammcj118 星标更新:2025-05-14

项目介绍

MCP服务器包版本检查工具

smithery徽章

这是一个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

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

重要提示:我正在逐步将此工具转移到我的mcp-devtools服务器组件中。

<a href="https://glama.ai/mcp/servers/zkts2w92ba"><img width="380" height="200" src="https://gips0.baidu.com/it/u=2697641285,1442593454&fm=3081&app=3081&f=PNG?w=760&h=400" alt="https://github.com/sammcj/mcp-package-version MCP服务器" /></a>

截图

带有和不带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桌面应用~/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包,将生成的可执行二进制文件放置在您的$GOPATHbin子目录下。默认情况下,$GOPATH通常位于Unix-like系统(包括macOS)上的$HOME/go。如果您没有明确配置$GOPATH,Go会使用这个默认值。

需要将位置$GOPATH/bin(例如/Users/your_username/go/bin)包含在系统PATH环境变量中,以便可以直接通过名称从任何终端位置运行已安装的Go二进制文件。

您可以在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客户端。

使用

服务器支持两种传输模式:标准I/O(默认)和SSE(服务器发送事件)。

标准I/O传输(默认)

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镜像

可以从GitHub容器注册表获取Docker镜像:

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

  1. 在每次向主分支推送和拉取请求时构建和测试应用程序
  2. 当推送带有格式v*(例如v1.0.0)的标签时创建一个发布
  3. 构建并推送到GitHub容器注册表的Docker镜像

许可证

MIT