关于 Maven Tools Mcp Server
Maven Tools MCP Server 基于 Maven Central 的实时数据,为 MCP 客户端提供 JVM 依赖分析能力。它面向需要超越简单版本查询的开发者与 Agent,涵盖稳定性筛选、升级比较、CVE 与许可证信息。
主要功能
- 01稳定版本筛选与升级比较
- 02依赖年龄与发布节奏分析
- 03POM 解析,支持父 POM 与 BOM
- 04结构化升级建议与需人工审查项
- 05可选的 Context7 文档查询
适用场景
- 01检查 pom.xml 中依赖的最新版本并标记风险
- 02审计依赖的漏洞与许可证情况
- 03规划 Maven 依赖升级并交由 Agent 应用
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 Maven 依赖查询、POM 分析与升级建议等工具。提供 Docker 镜像,可通过 STDIO 或 HTTP 方式接入。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Maven Tools MCP 服务
Maven Tools MCP 服务让兼容 MCP 的客户端能够通过 Maven Central 的实时数据,便捷地检查 JVM 依赖。
它面向需要的不只是简单版本查询的开发者和 Agent,提供稳定版本筛选、升级对比、依赖健康信号、许可证数据、CVE 检查,以及通过 Context7 查询文档的可选功能。

可提供的帮助
- **版本检查:**查找稳定版本,并结合主版本、次版本和补丁版本信息比较升级。
- **依赖审计:**检查依赖年龄、发布频率、已知漏洞和许可证数据。
- **POM 分析:**无需构建项目,即可通过父 POM 和 BOM 解析声明的依赖版本。
- **升级规划:**获取结构化修改建议,供 Agent 验证和应用;需要审核的主版本升级、冲突和覆盖项会标记出来。
- **文档:**通过可选的 Context7 工具查询库文档。
基于坐标的工具适用于 Maven、Gradle、SBT 和 Mill 项目。POM 分析和升级规划工具需要 Maven pom.xml 文件。
快速开始
**前提条件:**已安装并运行 Docker。无需在本地安装 Java。若要在不使用 Docker 的情况下进行设置,请参阅构建并运行 JAR。
Claude Desktop
在 Claude Desktop 配置中添加 maven-tools 条目(参见配置文件位置):
{
"mcpServers": {
"maven-tools": {
"command": "docker",
"args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
}
}
}
VS Code + GitHub Copilot
将以下服务添加到工作区中的 .vscode/mcp.json:
{
"servers": {
"maven-tools": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "arvindand/maven-tools-mcp:latest"]
}
}
}
镜像变体
| 标签 | 传输方式 | Context7 | 适用场景 |
|---|---|---|---|
:latest | STDIO | 是 | 默认的桌面 MCP 用法 |
:latest-noc7 | STDIO | 否 | Context7 被屏蔽或不需要的网络 |
:latest-http | HTTP | 是 | Streamable HTTP 客户端和 sidecar 工作流 |
当前版本为 v3.2.3。如需固定版本,请使用 :3.2.3、:3.2.3-noc7 或 :3.2.3-http;每个版本都支持 Linux AMD64 和 ARM64。
CONTEXT7_API_KEY 为可选项。大多数设置无需此项即可启动。如果你的环境需要 Context7 身份验证,或希望避免匿名使用限额,可通过 Docker 使用 -e CONTEXT7_API_KEY 传入。
如需更完整的设置指南,包括 JAR 和原生容器用法、Docker Compose 及环境说明,请参阅 docs/setup.md。
可用工具
默认镜像提供 11 个 MCP 工具;-noc7 提供 9 个核心工具。
Maven 智能分析工具
| 工具 | 功能 |
|---|---|
get_latest_version | 通过考虑稳定性的选择,查找最新版本 |
check_version_exists | 验证指定版本并判断其稳定性 |
check_multiple_dependencies | 批量查询依赖坐标 |
compare_dependency_versions | 将当前版本与可用升级版本进行比较 |
analyze_dependency_age | 判断依赖的陈旧程度 |
analyze_release_patterns | 查看发布节奏和维护状况信号 |
analyze_project_health | 执行更全面的依赖健康审计 |
analyze_pom_dependencies | 解析声明的依赖版本、确定其来源并 выяв出 BOM 冲突 |
recommend_pom_upgrades | 生成可执行的 POM 升级建议,并标记需要审核的变更 |
Context7 文档工具
| 工具 | 功能 |
|---|---|
resolve_library_id | 查找文档库标识符 |
query_docs | 根据 Context7 库 ID 获取文档 |
有关参数、示例和逐个工具的说明,请参阅 docs/tools.md。
支持 POM 感知的依赖分析
这两个 POM 工具均使用 Apache Maven Model Builder 处理父级继承、属性和依赖管理,包括导入的 BOM。它们接受原始 POM XML,以及用于尚未发布的父级或同级模块的可选 sideloadedPoms 包。
analyze_pom_dependencies会返回生效版本,将声明分类为EXPLICIT、MANAGED或EXPLICIT_OVERRIDE,并指出管理这些依赖的 BOM 及冲突。recommend_pom_upgrades会返回用于机械式编辑的deterministicActions,并通过needsAttention标出主版本升级、BOM 冲突和显式覆盖。操作会指出输入 POM 中需要编辑的版本字段或属性。
建议涵盖可编辑的父级/BOM 版本、显式依赖、根级依赖管理条目,以及直接构建依赖/插件。对于在输入 POM 中没有明确编辑位置的声明,将跳过。服务会返回建议;客户端或 Agent 负责验证并应用这些建议。
分析范围为已声明依赖,不包括完整的传递依赖图。配置文件激活仅限于默认激活的配置文件。请参阅 POM 分析详情与限制。
示例
在 Copilot 或 Claude 中,常见的提示词是:
检查我的
pom.xml中所有依赖的最新版本,并指出任何有风险的依赖。
客户端可以整合工具结果并报告:
- 当前版本与最新版本
- 升级属于主版本、次版本还是补丁版本
- 最新版本是否稳定
- 依赖看起来是较新、正在变旧还是已过时
- 是否有值得注意的已知 CVE 或许可证问题
对于“我应该选择哪个库?”这类更广泛的问题,可将 Maven 元数据与 Context7 文档结合,并通过客户端网页搜索了解生态背景。
请参阅更多提示词示例,或查看 maven-tools Agent 技能,了解如何选择和组合工具。
自用实践
此仓库在每周依赖更新工作流中使用自身工具。Python Agent 会将 POM 发送给 recommend_pom_upgrades,验证并应用次版本/补丁版本操作,然后创建 PR 供审核。其 XML 编辑器会检查当前版本并保留格式。手动审核主版本升级时会使用 GitHub Copilot SDK;例行更新无需大模型。
请参阅自用实践指南,了解 Agent、GitHub Actions 工作流、凭据和手动触发方式。
常见问题
- 这能取代 Renovate 或 Dependabot 吗? 此服务提供依赖分析和升级建议。编辑文件、测试、安排计划和创建 PR 需要单独的 Agent 或工作流。参见内置 Agent,了解如何将其用于 Maven POM 更新。
- 它能离线运行吗? 不能完全离线运行。查询未缓存的元数据需要访问 Maven Central 或你配置的仓库。漏洞检查和 Context7 文档也会使用外部服务。
- 它能解析 Gradle、SBT 或 Mill 构建文件吗? 不能。请将这些工具的依赖项转换为 Maven 坐标,再使用基于坐标的工具;整文件分析仅接受 Maven POM XML。
更多使用说明,请参阅 docs/examples.md 中的常见问题部分。
致谢
com.arvindand.mcp.maven.pom 下的有效 POM 解析器遵循 maxxq-org/maxxq-maven(MIT,Guy Chauliac)的解析方式,并在此限定为已声明依赖项的解析。详见 NOTICE。
更多文档
docs/setup.md- 安装、客户端配置、镜像变体和从源代码构建的选项docs/tools.md- 完整的工具目录、参数和响应行为docs/examples.md- 实用提示词、高级用例、可复用命令和常见问题说明docs/dogfooding.md- 每周自更新工作流和 Agent 集成docs/troubleshooting.md- 常见环境问题及解决方法docs/architecture.md- 设计原则、传输与运行时选项以及技术说明CORPORATE-CERTIFICATES.md- 受限网络的自定义 CA 证书支持
延伸阅读
贡献
如果你想在本地构建或测试,请从 docs/setup.md 和 build/ 中的辅助脚本开始。
main 分支当前为 3.2.4-SNAPSHOT。要从源代码构建当前版本,请检出 v3.2.3。
项目历史和发行说明见 CHANGELOG.md。
许可证
本项目采用 MIT 许可证。详见 LICENSE。
作者
Arvind Menon
- GitHub: @arvindand
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。