Token导航 LogoToken导航TokenDH.com
MCP Maven Test Runner logo
开发工具未说明官方级别未说明来源级核验

MCP Maven Test Runner

MCP Server

一个MCP服务器,允许Claude Desktop运行Maven测试、读取源文件并直接修改代码,适用于代码重构验证和编辑。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
JavaScriptClaude开发工具Claude DesktopClaude

安装说明

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

作者 / 组织

RuneLind

提供方

RuneLind

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

Maven 测试运行器 MCP 服务器

一个MCP(模型上下文协议)服务器,允许Claude Desktop运行Maven测试、读取源文件并进行代码修改。非常适合直接在Claude Desktop中验证重构和编辑代码。

特点/功能

测试

  • 简洁的测试报告无需 Maven 的冗长输出,即可获得明确 ✅/❌ 的结果
  • 智能错误检测自动识别编译问题、依赖问题以及测试失败
  • 实用提示提出常见问题的修复建议(缺失 -am 标志、杰克逊错误等)
  • 灵活测试运行模块中的所有测试或针对特定的测试类进行测试

文件操作

  • 读取源文件查看工作区中的任何文件(Kotlin、Java、XML 等)
  • 编辑文件直接从Claude桌面修改源代码
  • 路径灵活性支持绝对路径和相对于工作区的路径

将军

  • 工作空间感知可配置的工作区目录,支持波浪线扩展
  • 安全操作在写入之前先读取文件,并提供明确的错误信息

先决条件

  • Node.js(v18或更高版本)
  • Maven 测试包装脚本位于 ~/.claude/scripts/run-tests.sh
  • 一个 Maven 项目工作区

安装

  1. 克隆或下载此仓库:
git clone https://github.com/RuneLind/mcp-maven-test-runner.git
cd mcp-maven-test-runner
  1. 安装依赖项并构建:
npm install
npm run build
  1. 将服务器添加到您的Claude桌面配置中。

Claude 桌面配置

编辑您的Claude Desktop配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

添加此配置:

{
  "mcpServers": {
    "maven-test-runner": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-maven-test-runner/build/index.js"],
      "env": {
        "WORKSPACE_DIR": "/Users/username/projects/my-maven-project",
        "PATH": "/Users/username/.sdkman/candidates/maven/current/bin:/Users/username/.sdkman/candidates/java/current/bin:/usr/local/bin:/usr/bin:/bin"
      }
    }
  }
}

重要的

  • 替换 /absolute/path/to/mcp-maven-test-runner 这个项目的实际路径
  • 替换 WORKSPACE_DIR 与您的 Maven 项目的根目录一起
  • 更新 PATH 包含您的Maven和Java安装:

- 跑 echo $PATH 在你的终端中获取完整的PATH - 确保它包含了Maven的路径(mvn) 和 Java (java) - 常见位置: ~/.sdkman/candidates/maven/current/bin/opt/homebrew/bin/usr/local/bin

  • 波浪号(~)~) 扩展是支持的在 WORKSPACE_DIR
  1. 重启Claude桌面版

用法

配置完成后,Claude可以使用自然语言运行测试:

示例

运行模块中的所有测试:

Run all tests in the domain module

运行特定的测试类:

Run the UserServiceTest tests in the service module

验证重构:

I just refactored the UserService class. Can you run the tests to make sure everything still works?

读取并编辑文件:

Show me the Behandling.kt file in the domain module
Update the Behandling class to add a new method for validation

工具接口

服务器提供了三种工具:

1. run_tests

为特定模块运行 Maven 测试。

  • project (必填):Maven 模块名称(例如,“domain”、“service”、“common”)
  • testClass (可选):要运行的具体测试类(例如,“UserServiceTest”)

2. read_file

读取源文件的内容。

参数:

  • filePath (必需):文件路径(相对于工作区的绝对路径或相对路径)

- 示例: domain/src/main/kotlin/no/nav/melosys/domain/Behandling.kt - 示例: ~/source/nav/melosys-api/domain/src/main/kotlin/no/nav/melosys/domain/Behandling.kt

3. write_file

编写或更新源文件。

⚠️ 警告这会覆盖整个文件。请务必先阅读文件内容!

参数:

  • filePath (必需):文件路径(相对于工作区的绝对路径或相对路径)
  • content (必填):填写新文件的全部内容

输出示例

成功

✅ All tests passed (12 tests run in 8s)

失败详情

❌ Tests failed

Tests run: 5, Failures: 2, Errors: 0, Skipped: 0

🔍 Failure details:
testCreateUser: Expected  but was 
testUpdateUser: NullPointerException at line 45

💡 Tip: Cross-module dependency issue. Try running with -am flag.

未找到测试

⚠️  No tests were run. Check your test configuration.

典型工作流程

以下是使用这三种工具的常见工作流程:

  1. 阅读现有代码
   Show me the Behandling.kt file
  1. 做出改变
   Add a validation method that checks if the status is valid

(克劳德将阅读文件,理解内容,并撰写更新后的版本)

  1. 验证更改:
   Run the domain tests to make sure my changes work
  1. 如有需要,请修复问题
   The test failed - can you fix the validation logic?

它是如何工作的

  1. 克劳德称其为 run_tests 带有项目名称和可选测试类的工具
  2. MCP服务器执行 ~/.claude/scripts/run-tests.sh 带有适当的参数
  3. 该脚本处理了 Maven 的复杂性(如清理构建、依赖解析等)
  4. 服务器解析输出结果,并向Claude返回一个简洁的摘要
  5. 克劳德以人类可读的格式呈现结果

故障排除

“mvn: command not found”错误

这是最常见的问题。MCP 服务器在最小化环境中运行,不包含您 shell 的 PATH 环境变量。

解决方案将您的PATH添加到Claude Desktop配置中:

  1. echo $PATH 在你的终端中
  2. 复制整个PATH值
  3. 把它加到……里 env 在您的Claude Desktop配置中的部分:
"env": {
  "WORKSPACE_DIR": "/path/to/workspace",
  "PATH": "/your/full/path/here"
}
  1. 确保 PATH 环境变量中包含了 Maven 和 Java 的目录
  2. 重启Claude桌面版

“未找到脚本”错误

  • 验证脚本是否存在于 ~/.claude/scripts/run-tests.sh
  • 检查脚本是否可执行: chmod +x ~/.claude/scripts/run-tests.sh

“权限被拒绝”错误

  • 使脚本可执行: chmod +x ~/.claude/scripts/run-tests.sh

测试超时(>5分钟)

  • 考虑运行更少的测试或特定的测试类
  • 检查测试是否卡住或耗时过长

错误的工作区目录

  • 验证 WORKSPACE_DIR 在您的Claude桌面配置中
  • 使用绝对路径(波浪号 ~ (是受支持的)
  • 更改配置后重启Claude桌面版

服务器未在Claude中显示

  • 检查配置文件的语法(有效的JSON)
  • 验证到(某处)的绝对路径 build/index.js
  • 检查Claude Desktop的日志以查找错误信息
  • 重启Claude桌面版

发展

构建

npm run build

监视模式(更改时重建)

npm run watch

更新依赖项

npm update

项目结构

mcp-maven-test-runner/
├── src/
│   └── index.ts          # Main server implementation
├── build/                 # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md

贡献;做出贡献

这是一个个人工具,但欢迎提出建议和改进意见!请提交问题或拉取请求。

许可证

ISC 许可证 - 详见 LICENSE 文件

目录标签

目录标签

JavaScriptClaude开发工具Maven测试本地部署代码编辑自动化测试代码重构

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP