Token导航 LogoToken导航TokenDH.com
Package Version Check MCP logo
运维云端stdio官方级别未说明来源级核验

Package Version Check MCP

MCP Server

一个提供多种开发生态系统中依赖包最新版本信息的MCP服务器,支持Python、NPM、Go等生态系统及近1000种开发工具。

工具数

4

提示词数

0

GitHub Stars

5

资源数

0
依赖管理Python开发工具Devops

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

MShekow

提供方

MShekow

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx package-version-check-mcp --mode=stdio

详细介绍

包版本检查mcp

MCP服务器,返回您在各种生态系统(如Python、NPM、Go或GitHub Actions)中用作依赖项的包的最新稳定版本。

它还支持查找近1000个工具的最新版本,例如 开发运行时间 喜欢 python, node, dotnet, 开发工具 喜欢 gradle,以及各种 DevOps工具 喜欢 kubectlterraform,通过 就位 工具。

我为什么需要这个?

每当AI编码代理生成固定依赖版本的文件时,它们都会插入 过时的版本 因为他们的训练发生在几周或几个月前,从那时起,新的依赖版本已经发布。作为一名开发人员,手动修复这些过时的版本很烦人。

此MCP修复了此问题。将其与MCP一起使用,例如 背景7 以避免您的AI代理生成过时的代码。

特性

支持的生态系统/工具:

  • 开发者生态系统:

- NPM -来自注册表.npmjs.org的Node.js包 - PyPI -PyPI中的Python包 - 纽吉特 - .NET包从NuGet - Maven/Gradle -来自Maven存储库(Maven Central、Google Maven等)的Java/Kotlin/Scala包 - -Go模块来自proxy.golang.org - PHP -Packagist的PHP包(由Composer使用) - 红宝石 -Ruby宝石来自rubygems.org - -crates.io上的铁锈板条箱 - 迅速 -来自GitHub仓库的Swift包 - 飞镖 -来自pub.dev的Dart软件包

  • DevOps生态系统:

- 码头工人 -来自Docker注册表的Docker容器镜像 - -ChartMuseum存储库和OCI注册表中的Helm图表 - GitHub操作 -在GitHub.com上托管的操作,返回其当前版本、输入和输出,以及(可选)包含使用示例的整个README - 地形 _提供商_ 和 _模块_ -来自Terraform注册表、OpenTofu注册表或自定义注册表的提供者和模块 - 多种 _工具_ 例如 kubectl, terraform, gradle, maven等,由mise就地支持

用法

将MCP添加到您的代理

有三种方法可以让您的AI编码代理使用此MCP:

选项1:使用托管服务(最简单)

将您的代理指向免费托管服务:

https://package-version-check-mcp.onrender.com/mcp

在(流式)HTTP模式下。

这是最快的开始方式。请注意,托管服务可能受到底层包注册表的速率限制。

选项2:使用uvx运行(供本地使用)

使用 uvx 要在本地运行MCP服务器:

uvx package-version-check-mcp --mode=stdio

这将自动安装并运行PyPI的最新版本。

要求:

  • 你需要 mise 如果你想调用这些工具,可以在PATH上使用二进制文件 get_supported_toolsget_latest_tool_versions

可选但推荐: 设置 GITHUB_PAT 环境变量到GitHub个人访问令牌(无需作用域),以避免GitHub API速率限制。

选项3:使用Docker运行(本地使用)

使用预构建的Docker镜像:

docker run --pull=always --rm -i ghcr.io/mshekow/package-version-check-mcp:latest --mode=stdio

可选但推荐: 通过 GITHUB_PAT 环境变量使用 -e GITHUB_PAT=your_token_here 以避免GitHub API速率限制。

缓存配置

为了提高性能并减少对程序包注册表的API调用,您可以启用缓存:

  • PACKAGE_VERSION_CACHE_ENABLED:设置为 true 启用缓存(默认情况下禁用)
  • PACKAGE_VERSION_CACHE_TTL_SECONDS:缓存持续时间(秒)(默认值:3600/1小时)
  • PACKAGE_VERSION_CACHE_MAX_SIZE_MB:最大缓存大小(MB)(默认值:64)

缓存是内存中的TTL(生存时间)缓存。当MCP服务器重新启动时,它会重置。

配置您的代理

添加MCP服务器后,您需要:

  1. 启用MCP工具 在代理的配置中。可用工具记录如下
  1. 轻按代理以使用MCP 在您的提示中。大多数LLM在没有明确指导的情况下不会自动调用此MCP的工具。包括以下说明:

- “使用MCP获取最新版本” - “使用MCP工具检查最新的软件包版本” - “使用get_latest_package_versions查找当前版本”

如果您忘记添加此提示,并且您的代理生成了代码 _过时的_ 版本,您可以要求您的代理在之后更新版本(例如,“通过MCP更新您刚刚添加到最新版本的依赖关系”)。

可用工具

get_latest_package_versions

从各种生态系统中获取包的最新版本。

输入:

  • packages:包装规格数组,其中每个项目包含:

- ecosystem (必填):“npm”、“pypi”、“nuget”、“maven_gradle”、“go”、“php”、“rubygems”、“rust”、“swift”、“dart”、“docker”、“helm”、“terraform_provider”或“terraform_module” - package_name (必填):包的名称 - 对于npm:包名(例如“express”) - 对于pypi:包名(例如“requests”) - 对于nuget:包名(例如“Newtonsoft.Json”) - 对于maven_gradle:“\[注册表:\]:“格式(例如,”org.springframework:springcore“)。如果省略注册表,则假定为Maven Central。 - 对于go:绝对模块标识符(例如,“github.com/gin-gonic/gin”) - 对于php:包名采用“vendor/Package”格式(例如,“monolog/monolog”、“laravel/framework”) - 对于rubygems:宝石名称(例如,“rails”、“develope”) - 铁锈:板条箱名称(例如“serde”、“tokio”) - 对于swift:GitHub URL(例如,“https://github.com/Alamofire/Alamofire.git“或”github.com/owner/report.git“)。只支持github。 - 对于dart:来自pub.dev的包名(例如,“http”、“flutter”) - 对于docker:完全限定的映像名称,包括注册表和命名空间(例如“index.docker.io/library/busybox”) - 掌舵人:ChartMuseum网址(“https://host/path/chart-name“)或OCI参考(”oci://host/path/chart-name") - 对于terraform_provider:“\[registry/\]/“格式(例如,”hashicorp/aws“或”registry.terraform.io/hashicorp.aws“)。如果省略注册表,则假定为register.terraform.io。支持registery.opentofu.org等替代注册表。 - 对于terraform_module:“\[registry/\]// “格式(例如,”terraform aws modules/vpc/aws“或”registry.terraform.io/terraform aws-modules/vpc/aws“)。如果省略注册表,则假定为register.terraform.io。支持registery.openofu.org等替代注册表。 - version_hint (可选): - 对于docker:tag兼容性提示(例如“1.36-alpine”),查找与相同后缀模式匹配的最新标签。如果省略,则返回最新的语义版本标记。 - 对于helm(仅限OCI):类似于Docker的标签兼容性提示 - 对于npm/pypi/nuget/maven_gradle/go/php/rubygems/rust/swift/dart/helm(ChartMuseum)/terraform_provider/terraform_module:当前未使用

输出:

  • result:成功查找的数组,包括:

- ecosystem:成套生态系统(如提供的) - package_name:包名称(如提供的) - latest_version:最新版本号(例如“1.2.4”)或Docker标签 - digest:(可选)包摘要/哈希(如果可用)。对于Docker,这是清单摘要(sha256)。 - published_on:(可选)发布日期(如果可用)(不适用于Docker)

  • lookup_errors:错误数组:

- ecosystem:成套生态系统(如提供的) - package_name:包名称(如提供的) - error:错误描述

get_github_action_versions_and_args

获取GitHub上托管的GitHub Actions的最新版本和元数据。

输入:

  • action_names (必填):“owner/repo”格式的操作名称数组(例如,\[“actions/checkout”,“docker/login action”\])
  • include_readme (可选):布尔值(默认值:false),是否在使用说明中包含操作的README.md

输出:

  • result:成功查找的数组,包括:

- name:动作名称(如提供的) - latest_version:最新的Git标签(例如“v3.2.4”) - metadata:action.yml元数据作为具有字段的对象: - inputs:动作输入参数 - outputs:行动成果 - runs:执行配置 - readme:(可选)如果满足以下条件,则操作的README内容 include_readme 是真的

  • lookup_errors:错误数组:

- name:动作名称(如提供的) - error:错误描述

get_supported_tools

返回受支持的所有工具名称的列表 get_latest_tool_versions MCP工具。

此工具查询 mise 注册表用于检索mise可以管理的所有可用工具名称。

输入:

  • 无需参数

输出:

  • 工具短名称数组(例如,\[“1password”,“act”,“node”,“python”,…\])

get_latest_tool_versions

获取mise-en-place支持的最新稳定版本的开发和DevOps工具。

此工具适用于不属于PyPI或NPM等语言生态系统的工具。对于语言生态系统包(包括Terraform提供程序和模块),请使用 get_latest_package_versions 相反。

使用案例:

  • Gradle专家:将Gradle或Maven版本固定在 distributionUrlgradle-wrapper.propertiesmaven-wrapper.properties

- 例子: distributionUrl=https://services.gradle.org/distributions/gradle-8.5-bin.zip - 例子: distributionUrl=https://repo.maven.apache.org/.../apache-maven-3.9.6-bin.zip

  • 地形改造:Pin terraform.required_version 在类似文件中 version.tfversions.tf

- 例子: terraform { required_version = "~> 1.6.0" }

  • kubectl 的蔚蓝:将版本固定在名为的下载URL中 curlwget例如,在Dockerfile中

- 例子: RUN curl -LO https://dl.k8s.io/release/v1.28.0/bin/linux/amd64/kubectl

要查看所有可用工具,请使用 get_supported_tools 工具。

输入:

  • tool_names (必填):工具名称数组(例如,\[“terraform”、“gradle”、“kubectl”\])

输出:

  • result:成功查找的数组,包括:

- tool_name:工具名称(如提供的) - latest_version:最新的稳定版本号(例如“1.6.5”)

  • lookup_errors:错误数组:

- tool_name:工具名称(如提供的) - error:错误描述

为什么要构建另一个MCP

这个MCP当然不是第一个解决“过时依赖”问题的MCP。然而,我们认为它比其他MCP有各种优势:

  • 我们提供比其他MCP更好的生态系统覆盖率
  • 有完整的测试覆盖率,有自动的依赖关系更新(由Renovate提供支持)和定期的自动发布构建。相比之下,其他项目通常采用vibe编码,测试质量差(或没有),并且已经被放弃,因为作者只是在闲逛
  • 此MCP提供 _若干_ 如何在本地运行它的替代方案(uvx或docker),或者你可以只使用免费的托管产品(其他MCP没有)
  • 此MCP使用 最小 Docker/OCI镜像,加强安全性。众所周知,您使用Trivy等工具生成的SBOM是正确的,并且图像已用Cosign签名(如果您想自行托管MCP,它允许您验证其真实性)

发展

先决条件

就位

MCP服务器依赖于 mise-en-place 用于查找工具版本的软件包。看https://mise.jdx.dev/installing-mise.html有关安装说明。

手动运行服务器(用于开发)

如果您正在本地开发或测试MCP服务器,可以直接运行它。

第一, 按照Poetry->设置说明进行包管理 配置您的虚拟环境。

下一页:

.poetry/bin/poetry run python -m package_version_check_mcp.main

或者如果你有 .venv 激活:

python src/package_version_check_mcp/main.py

使用Poetry进行包管理

设置

在一台新机器上,为诗歌创建一个venv(在路径中 /.poetry),一个用于项目本身(在路径中 /.venv)例如,通过 C:\Users\USER\AppData\Local\Programs\Python\Python312\python.exe -m venv . 这种分离对于避免依赖是必要的 _冲突_ 在项目和诗歌之间。

使用 pip Poetry venv,通过安装Poetry pip install -r requirements-poetry.txt

然后,跑 poetry sync --all-extras,但请确保没有活动的venv,或者 .venv 一个,但是 .poetry 一个(否则Poetry会愚蠢地将依赖项安装到该程序中,除非您之前运行 poetry config virtualenvs.in-project true).这 --all-extras 需要标志才能安装 _发展_ 依赖关系,如pytest。

更新依赖关系

  • 当依赖关系发生变化时 从外面例如,因为Renovate更新了 pyproject.tomlpoetry.lock 文件,运行 poetry sync --all-extras 更新您的本地环境。这将从您的 .venv 出来
  • 如果 更新了中的依赖项 pyproject.toml,跑 poetry update && poetry sync --all-extras 更新锁文件并安装更新的依赖项,包括附加项。
  • 仅更新 及物的 依赖关系(保留其中的依赖关系 pyproject.toml 相同),运行 poetry update && poetry sync --all-extras,更新锁文件并将更新安装到活动venv中。

确保没有活动的venv(或 .venv venv处于活动状态),同时运行上述任何一项 poetry 命令。

目录标签

目录标签

依赖管理Python开发工具Devops混合部署包版本检查多语言支持

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP