Token导航 LogoToken导航TokenDH.com
Maven Tools MCP Server logo
运维云端HTTP官方级别未说明来源级核验

Maven Tools MCP Server

MCP Server

Maven Tools MCP Server 是一个为开发者提供实时Maven Central依赖检查的工具,支持稳定性过滤、升级比较、依赖健康信号、许可证数据和CVE检查等功能。

工具数

11

提示词数

0

GitHub Stars

25

资源数

0
依赖管理版本控制JavaClaudeCI/CDClaude DesktopClaude

安装说明

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

作者 / 组织

arvindand

提供方

arvindand

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

Maven工具MCP服务器

![Java](https://openjdk.java.net/) ![Spring Boot](https://spring.io/projects/spring-boot) ![Spring AI](https://spring.io/projects/spring-ai) ![MCP Protocol](https://modelcontextprotocol.io/) ![License](LICENSE) ](https://github.com/arvindand/maven-tools-mcp/releases) ](https://hub.docker.com/r/arvindand/maven-tools-mcp) ](https://hub.docker.com/r/arvindand/maven-tools-mcp) ](https://github.com/arvindand/maven-tools-mcp/stargazers)

Maven Tools MCP Server为支持MCP的客户端提供了一种使用实时Maven Central数据检查JVM依赖关系的实用方法。

它专为需要更多简单版本查找的开发人员和代理而构建:稳定性过滤、升级比较、依赖性健康信号、许可证数据、CVE检查以及通过Context7进行的可选文档查找。

Demo

它有什么帮助

当您需要以下操作时,请使用Maven Tools MCP:

  • 在不离开编辑器的情况下检查库的最新稳定版本
  • 将您当前的依赖集与现在可用的依赖集进行比较
  • 根据主要/次要/补丁上下文计划升级
  • 审计项目是否存在过时、有风险或维护不力的依赖关系
  • 为AI助手提供结构化的当前依赖元数据,而不是让它抓取文档或网页
  • 解决一个整体 pom.xml 进入每个依赖有效的版本——遍历父链,应用 ``,导入BOM——而无需实际构建项目(在CI预检查、依赖关系更新PR、多模块monorepos以及任何碰撞库意味着碰撞BOM的项目中都很有用)
  • 获得一个确定性的、可应用的升级计划,非LLM代理可以在一次往返中执行,并将主要/冲突/显式覆盖分开,以供人工或LLM判断

此项目适用于任何依赖Maven Central的JVM构建工具。输入是标准的Maven坐标,因此相同的数据适用于Maven、Gradle、SBT和Mill项目。

为何重要

当简单的包搜索不够时,此项目最有用。

  • 它为MCP客户端提供结构化的依赖关系数据,而不是让它们抓取网页
  • 它使升级检查基于当前的Maven Central元数据
  • 它在一个地方添加了稳定性、年龄、CVE和许可证信号
  • 它与在编辑代码或打开PR之前需要依赖关系事实的代理工作流配合得很好

新兴用例

这个项目的一个更有趣的用途是代理驱动的依赖关系维护。

核心服务器本身不会打开PR,但它为代理提供了足够的当前依赖关系上下文,使其比盲目的版本升级工作流做出更安全的更新决策。这 recommend_pom_upgrades 该工具正是为这种形状而构建的:非LLM代理将其原封不动地交给它 pom.xml,适用于所有 deterministic_actions[] 作为一行输入 ` 编辑(父块和dep块均已处理)和曲面 needs_attention[] 供人类或法学硕士单独复习。没有每个坐标的扇出,代理代码中没有Maven XML解析,也没有代理无法实际应用的建议——传递式管理的BOM被过滤掉,因为调用者没有 ` 撞。

这个存储库自己的每周自我更新流程是最明显的例子:GitHub Actions协调运行,一个MCP调用返回操作列表,代理应用差异,结果是一个可审查的PR。主要的升级审查是要求Copilot进行判断和迁移框架的唯一途径。

这也是为什么狗粮设置在这个存储库之外很重要。它以一种小而具体的方式展示了更广泛的GitHub代理工作流可以构建的相同形状:工作流编排器、用于确定性编辑的结构化工具输出、仅在判断有用的情况下使用的人工智能工作人员,以及最终由人审查的更改。

快速开始

克劳德桌面

将此添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "maven-tools": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
    }
  }
}

VS代码+GitHub副本

创建 .vscode/mcp.json 在您的工作空间中:

{
  "servers": {
    "maven-tools": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
    }
  }
}

图像变体

标签运输上下文7最适合
:latestSTDIO默认桌面MCP使用情况
:latest-noc7STDIOContext7被阻止或不需要的网络
:latest-httpHTTP可流式传输的HTTP客户端和sidecar工作流

CONTEXT7_API_KEY 是可选的。大多数设置都可以在没有它的情况下启动。如果您的环境需要Context7身份验证,或者您想避免匿名限制,请通过Docker传递它 -e CONTEXT7_API_KEY.

有关更完整的设置指南,包括JAR/本机使用、Docker Compose和环境说明,请参阅 docs/setup.md.

核心工具

服务器公开了11个MCP工具。

Maven智能工具

工具它做什么
get_latest_version查找具有稳定性选择的最新版本
check_version_exists验证特定版本并对其稳定性进行分类
check_multiple_dependencies批量查找依赖关系坐标
compare_dependency_versions将当前版本与可用升级进行比较
analyze_dependency_age对依赖关系的年龄进行分类
analyze_release_patterns查看释放节奏和维护信号
analyze_project_health运行更广泛的依赖关系健康审计
analyze_pom_dependenciesPOM感知:从原始POM.xml解析有效版本,分类为 EXPLICIT / MANAGED / EXPLICIT_OVERRIDE,表面多BOM冲突
recommend_pom_upgradesPOM感知:返回确定性 ` 要应用的代理的编辑(显式+BOM凹凸),以及 needs_attention` 供人工或法学硕士审查的专业/冲突/覆盖列表

Context7文档工具

工具它做什么
resolve-library-id查找文档库标识符
query-docs按Context7库ID获取文档

有关参数、示例和逐个工具的注释,请参见 docs/tools.md.

POM感知依赖性分析

两个工具使用整个POM(原始XML),而不是单个坐标。两者都走父链,申请 `,决心 import Maven Central的BOM,范围 ${project.version} 根据POM,导入的BOM占位符解析为该BOM的版本(而不是导入者的版本),并接受可选 sideloadedPoms` 为monorepo兄弟姐妹/未释放的父母提供捆绑包。

  • analyze_pom_dependencies --返回每个声明的dep及其有效版本和分类(EXPLICIT / MANAGED / EXPLICIT_OVERRIDE)+管理BOM坐标+任意多BOM conflicts。当您需要原始分析时使用(“我的POM实际上解决了什么问题?”)。
  • recommend_pom_upgrades --基于分析器构建并返回两个列表: deterministic_actions (机械 ` 编辑-- explicit_bump 对于已申报的deps, bom_bump 对于存在较新次要/补丁的用户可控BOM)以及 needs_attention` (专业、多BOM冲突和显式重写,每个都携带Maven Central的最新版本,因此LLM在一次往返中具有完整的上下文)。用于“我可以安全地碰撞什么?”工作流。

升级建议的范围仅限于调用者可以在自己的POM中实际编辑的BOM表——直接 根水平 ` 进口。暂时导入的BOM(例如。, jackson-bom 继承通过 spring-boot-dependencies)被默默地跳过,因为没有 使试剂碰撞;他们的升级可以通过任何用户可控的旋钮来实现。拆分很重要:非LLM代理永远不需要调用 compare_dependency_versions 每个dep或解析Maven XML——一个 recommend_pom_upgrades` 调用返回所有机械的东西,LLM审查路径选择所有需要判断的东西。

示例

Copilot或Claude中的一个常见提示是:

检查我的数据库中依赖项的所有最新版本 pom.xml 并指出任何有风险的事情。

此服务器的良好响应会向客户端提供结构化信息,例如:

  • 当前版本与最新版本
  • 升级是主要升级、次要升级还是补丁升级
  • 最新版本是否稳定
  • 依赖关系看起来是新鲜的、老化的还是陈旧的
  • 是否存在值得注意的已知CVE或许可证问题

这使工作流基于实时存储库数据,而不是猜测。

对于更广泛的问题,如“我应该选择哪个库?”,有用的模式是:让模型使用Maven Tools MCP获取当前坐标、版本/稳定性信号和升级上下文,然后将其与Context7文档(可通过默认图像的公开工具获得)相结合,并在需要时在客户端web搜索此服务器本身不提供的生态系统上下文。

内部测试

此存储库运行一个每周自我更新的工作流,该工作流使用本地Python代理对其自身进行更新 pom.xml 并打开可审查的PR以进行安全依赖性更新。代理商将未加工的POM交给 recommend_pom_upgrades 并应用返回的 deterministic_actions[] 直接——没有每个坐标的扇出,没有Python中的XML解析。手动主要审查运行是通过GitHub Copilot SDK路由的唯一模式。

该流程记录在 docs/dogfooding.md,包括:

  • GitHub操作工作流
  • 代理子项目 agents/copilot-maven-tools-agent/
  • 直接MCP次要/补丁模式与副驾驶支持的主要审查模式
  • 必需的 COPILOT_BOT_PAT PR创建和主要审核运行的设置
  • 手动触发指令

常见问题

  • 这会取代Renovate还是Dependabot? 对于基于Maven Central的JVM项目,它可以。Maven Tools MCP是依赖智能层,替换行为来自构建在其之上的代理工作流。在这个存储库中,每周的自我更新工作流已经通过直接MCP调用替换了用于安全次要和补丁升级的常规盲更新PR,而将主要升级留给Copilot辅助的手动审查。
  • 它离线工作吗? 不完全。未缓存的查询需要访问Maven Central的网络。
  • 它适用于Gradle或其他JVM构建工具吗? 是的,只要项目依赖于通过Maven Central坐标解析的库。

有关更多使用说明,请参阅 docs/examples.md.

致谢

有效POM分解器 com.arvindand.mcp.maven.pom 遵循决议 形状 maxxq-org/maxxq-maven (麻省理工学院, Guy Chauliac)在这里宣布了dep决议。看 NOTICE.

更多文档

延伸阅读

贡献

如果你想在本地构建或测试,请从 docs/setup.md 以及中的辅助脚本 build/.

项目历史和发布说明实时发布 CHANGELOG.md.

许可证

该项目根据MIT许可证获得许可。看 LICENSE.

作者

阿尔温德·梅农

目录标签

目录标签

依赖管理版本控制JavaClaudeCI/CD本地部署MavenCentralJVM开发

支持客户端

Claude DesktopClaude

接入字段

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

HTTP

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

none

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

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

0

权限和风险

HTTPnone部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP