Token导航 LogoToken导航TokenDH.com
Java Test Runner MCP logo
运维云端未说明官方级别未说明来源级核验

Java Test Runner MCP

MCP Server

一个用于编译和运行Java项目(Maven和Gradle)、解析测试结果并返回结构化输出的MCP服务器,适用于AI辅助开发工作流程。

工具数

9

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude云端部署Claude DesktopClaudeCursor

安装说明

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

作者 / 组织

IsuruSH

提供方

IsuruSH

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

java测试运行程序mcp

一个MCP(模型上下文协议)服务器,用于编译和运行Java项目(Maven和Gradle),解析测试结果,并返回结构化输出。专为Cursor、Claude Desktop和其他MCP客户端中的AI辅助开发工作流程而构建。

工具

工具说明
compile编译Maven或Gradle项目
run_test运行特定的测试/运行器类,并获得简洁的调试摘要
get_full_report深入回退:完整的场景日志或完整的构建输出
run_main_class使用 main() 方法
run_feature按路径和标签运行Cucumber功能文件
list_runners发现JUnit/Cumber运行器类
list_test_classes按glob模式查找测试类
get_test_results将Surefire/Gradle XML报告解析为结构化JSON
get_build_info从pom.xml或build.gradle读取项目元数据

推荐的代理工作流程

1. compile          -- verify the project builds cleanly
2. run_test         -- execute the test; get a compact summary with
                       pass/fail per scenario and capped failure output
3. get_full_report  -- if the compact summary isn't enough:
      source=scenario   -> full uncapped Cucumber step log for a scenario
      source=build_log  -> full Maven/Gradle console output
4. Fix the code, then go back to step 1.

安装

使用npx(建议用于Cursor)

无需安装。添加到光标MCP配置中:

项目级别 (.cursor/mcp.json 在您的仓库中):

{
  "mcpServers": {
    "java-test-runner": {
      "command": "npx",
      "args": ["-y", "java-test-runner-mcp"],
      "env": {
        "PROJECT_PATH": "C:\\Repos\\my-java-project",
        "JAVA_HOME": "C:\\Program Files\\Java\\jdk-17"
      }
    }
  }
}

用户级别 (~/.cursor/mcp.json):

{
  "mcpServers": {
    "java-test-runner": {
      "command": "npx",
      "args": ["-y", "java-test-runner-mcp"],
      "env": {
        "PROJECT_PATH": "C:\\Repos\\my-java-project",
        "JAVA_HOME": "C:\\Program Files\\Java\\jdk-17",
        "TIMEOUT_MS": "600000"
      }
    }
  }
}

本地开发服务器

如果您已在本地克隆并构建了此仓库,请直接指向已构建的入口点:

{
  "mcpServers": {
    "java-test-runner": {
      "command": "node",
      "args": ["C:\\Repos\\java-test-runner-mcp\\build\\index.js"],
      "env": {
        "PROJECT_PATH": "C:\\Repos\\my-java-project"
      }
    }
  }
}

克劳德桌面版

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上,或 %AppData%\Claude\claude_desktop_config.json 在Windows上):

{
  "mcpServers": {
    "java-test-runner": {
      "command": "npx",
      "args": ["-y", "java-test-runner-mcp"],
      "env": {
        "PROJECT_PATH": "/Users/me/repos/my-java-project",
        "JAVA_HOME": "/usr/lib/jvm/java-17"
      }
    }
  }
}

全局安装

npm install -g java-test-runner-mcp

使用示例

配置后,AI代理可以自动使用这些工具。以下是交互示例:

编译项目:

“在C:\\Repos\\my应用程序中编译我的Java项目”

运行测试运行程序:

“运行WpandTaskStatusRemapping测试运行器”

run_test后调试失败会给出一个简洁的总结:

“获取失败测试的完整场景输出”

获取完整的Maven构建日志:

“显示上次运行的完整生成日志”

使用指标获取测试结果:

“显示带有执行时间的测试结果”

列出所有跑步者:

“此项目中有哪些测试运行程序?”

工具详细信息

编译

编译Maven或Gradle项目。自动从项目根目录检测构建工具。

参数必填说明
projectPathJava项目根目录的绝对路径
javaHomeJAVA_HOME覆盖
profiles要激活的Maven配置文件
args额外的CLI参数

run_test

运行特定的测试或运行程序类。返回一个简洁、对代理友好的摘要:

  • 每个场景的通过/失败状态和执行时间
  • 对于 失败 场景:断言消息加上Cucumber步骤日志的前4000个字符(API请求/响应、DataTables、堆栈跟踪)
  • 完整的构建输出将持续到 `

/.java-test-runner/last-run.log 通过以下方式检索 get_full_report`

参数必填说明
projectPath项目根目录的绝对路径
testClass完全限定类名(例如。 runner.MyRunner)
javaHomeJAVA_HOME覆盖
jvmArgsJVM参数(例如。 ["-Xmx1g"])
timeout超时(毫秒)(默认300000)

输出示例:

=== Run Test: runner.WpandTaskStatusRemapping ===
Exit code: 1 | Elapsed: 343.0s

--- Test Results ---
Total: 9 | Passed: 8 | Failed: 1 | Errors: 0 | Skipped: 0 | Time: 316.5s

--- All Scenarios ---
  [FAIL] Create HM Contract with contract rule (5.59s)
  [PASS] Create WP1 with ad hoc task (126.82s)
  [PASS] Create customer order for WP1 (3.53s)
  ...

--- Failure #1: Create HM Contract with contract rule [5.59s] ---
java.lang.AssertionError: Create contract rule failed with status 500

Scenario output:
@api @PreRequisite
Scenario: Create HM Contract with contract rule  # feature:9
  Given User creates HM contract ...
    | Company | ContractId | ...
  {"error":{"code":"DB_OBJECT_EXIST","message":"Resource already in use."}}

get_full_report

紧凑型潜水时的深潜回退 run_test 摘要不足以诊断故障。支持两种模式:

参数必填说明
projectPath项目根目录的绝对路径
source没有"scenario" (默认)或 "build_log"
scenarioName要匹配的场景名称子字符串(不区分大小写)。如果省略 source=scenario,返回所有失败/错误的场景。
maxLinesbuild_log模式的最大行数(默认500,0=无限制)

来源=场景 --返回完整的、无上限的 `` 来自Surefire XML的匹配场景。包含完整的Cucumber步骤日志,包括API请求/响应JSON、DataTables和完整的堆栈跟踪。

  • 随着 scenarioName:模糊子字符串匹配返回任何匹配场景的输出(即使是传递的场景)。
  • 没有 scenarioName:返回所有失败/错误的场景。

源代码=构建日志 --返回最新Maven/Gradle控制台的完整输出 run_test 执行(保存到 .java-test-runner/last-run.log).可用于诊断编译错误、依赖关系问题或插件故障。

run_main_class

使用以下命令执行Java类 main() 方法。

参数必填说明
projectPath项目根目录的绝对路径
mainClass完全限定类名(例如。 smoke.MySmokeTest)
classpathScopeMaven作用域:编译、测试、运行时(默认 test)
javaHomeJAVA_HOME覆盖
args程序参数
timeout超时(毫秒)(默认300000)

run_feature

运行Cucumber功能文件。

参数必填说明
projectPath项目根目录的绝对路径
featurePath相对于项目根目录的功能文件路径
tags黄瓜标记表达式
javaHomeJAVA_HOME覆盖
timeout超时(毫秒)(默认300000)

get_test_results

解析Surefire/Gradle XML测试报告并返回结构化结果。

参数必填说明
projectPath项目根目录的绝对路径
reportDir自定义报告目录(默认为surefire报告)

返回结构化JSON:

{
  "summary": {
    "total": 9,
    "passed": 9,
    "failed": 0,
    "errors": 0,
    "skipped": 0,
    "totalTime": 324.79
  },
  "tests": [
    {
      "name": "Create HM Contract with contract rule",
      "className": "WP and Task Status Remapping",
      "time": 6.66,
      "status": "passed"
    }
  ]
}

get_build_info

从pom.xml或build.gradle读取项目元数据。

参数必填说明
projectPath项目根目录的绝对路径

list_runners/list_test_classes

用于查找跑步者和测试类的发现工具。

参数必填说明
projectPath项目根目录的绝对路径
pattern全局模式(仅限list_test_classes)
baseDir扫描相对于项目根目录的目录

环境变量

在中配置这些 env 你的块 mcp.json 以消除重复参数并防止代理混淆。所有这些都是可选的——工具参数总是优先于环境变量。

变量描述示例
PROJECT_PATH默认Java项目根路径。设置后,所有工具都会自动使用它,因此代理不需要猜测或询问路径。C:\Repos\my-java-project
JAVA_HOMEJava安装路径。传递给所有构建/测试命令。防止代理猜测JDK位置。C:\Program Files\Java\jdk-17
TIMEOUT_MS所有执行工具(编译、测试、运行)的默认超时时间(毫秒)。600000 (10分钟)
BUILD_TOOL武力 mavengradle 而不是自动检测。当一个项目同时具备这两点时,它很有用 pom.xmlbuild.gradle,或者当自动检测选择错误时。maven
TEST_BASE_DIR测试类/运行器扫描的默认目录,相对于项目根目录。src/test/java
MAVEN_PROFILES逗号分隔的Maven配置文件默认在编译时激活。dev,integration

完整示例(mcp.json):

{
  "mcpServers": {
    "java-test-runner": {
      "command": "npx",
      "args": ["-y", "java-test-runner-mcp"],
      "env": {
        "PROJECT_PATH": "C:\\Repos\\my-java-project",
        "JAVA_HOME": "C:\\Program Files\\Java\\jdk-17",
        "TIMEOUT_MS": "600000",
        "BUILD_TOOL": "maven",
        "TEST_BASE_DIR": "src/test/java",
        "MAVEN_PROFILES": "dev"
      }
    }
  }
}

它如何帮助代理商:PROJECT_PATHJAVA_HOME 设置好后,代理可以调用以下工具 compile, run_test,以及 list_runners 而不需要找出绝对路径——这是代理错误最常见的来源。

需求

  • Node.js>=18
  • 使用Maven的Java项目(pom.xml)或Gradle(build.gradle / build.gradle.kts)
  • Maven或Gradle已安装并可在PATH上使用(或项目包含包装器脚本)

发展

# Clone the repo
git clone 
cd java-test-runner-mcp

# Install dependencies
pnpm install

# Build
pnpm build

# Watch mode
pnpm dev

出版

# Build and publish to npm
pnpm build
pnpm publish --access public

许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaude云端部署Java测试本地部署MCP服务器AI辅助开发编译工具测试解析

支持客户端

Claude DesktopClaudeCursor

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP