使用说明
⚠️ 弃用
此项目不再维护。请使用 格雷德尔·麦克普 相反。
Gradle MCP服务器
模型上下文协议(MCP)服务器,使AI工具能够以编程方式与Gradle项目交互。它使用 分级工具API 查询项目信息并执行任务。
特性
提供以下工具:
- 检查项目:检索有关Gradle项目的详细结构化信息,包括:
- 构建结构(根项目、子项目)
- 可用任务(根项目中)
- 构建环境详细信息(Gradle版本、Java版本、JVM参数)
- 根项目详细信息(名称、路径、描述、构建脚本路径)
- 允许对信息类别进行选择性查询。
- 执行任务:运行特定的Gradle任务(例如。,
clean,build,assemble)使用自定义参数、JVM参数和环境变量。返回格式化的文本输出,包括stdout/stderr和状态。 - 按层次结构运行测试:执行Gradle测试任务(例如。,
test)并接收分层JSON格式的详细结构化结果(Suite->Class->Method)。包括:- 每个节点的结果(通过、失败、跳过)。
- 失败消息和过滤/截断输出行(stdout/stderr)主要用于失败的测试(可配置)。
- 支持通过模式进行测试过滤(
--tests). - 控制输出包含和日志行限制的选项。
需求
- JDK 17或更高版本
- 对于命令行安装:
- Linux/macOS:
curl - Windows:PowerShell 5+
- Linux/macOS:
安装
推荐方法:命令行下载
此方法将服务器JAR下载到主目录中的标准位置。
Linux/macOS(需要 curl):
# Downloads gradle-mcp-server-all.jar to ~/mcp-servers/gradle-mcp-server/
TARGET_DIR="$HOME/mcp-servers/gradle-mcp-server" && mkdir -p "$TARGET_DIR" && curl -fSL -o "$TARGET_DIR/gradle-mcp-server-all.jar" "https://github.com/IlyaGulya/gradle-mcp-server/releases/latest/download/gradle-mcp-server-all.jar" && echo "Downloaded to '$TARGET_DIR'." || echo "Download failed."
Windows(PowerShell 5+):
# Downloads gradle-mcp-server-all.jar to %USERPROFILE%\mcp-servers\gradle-mcp-server\
$targetDir = Join-Path $env:USERPROFILE "mcp-servers\gradle-mcp-server"; if (-not (Test-Path $targetDir)) { New-Item -ItemType Directory -Path $targetDir -Force | Out-Null }; $outFile = Join-Path $targetDir "gradle-mcp-server-all.jar"; Write-Host "Downloading..."; Invoke-WebRequest -Uri "https://github.com/IlyaGulya/gradle-mcp-server/releases/latest/download/gradle-mcp-server-all.jar" -OutFile $outFile -ErrorAction Stop; Write-Host "Downloaded to '$targetDir'."
替代方法:手动下载
- 去 GitHub发布页面.
- 下载
gradle-mcp-server-all.jar最新版本的资产。 - 将下载的JAR文件保存到稳定的位置。我们建议:
- macOS/Linux:
~/mcp-servers/gradle-mcp-server/ - 窗户:
%USERPROFILE%\mcp-servers\gradle-mcp-server\(如果目录不存在,则创建该目录)。
- macOS/Linux:
MCP客户端配置
要将此服务器与MCP客户端(如VSCode扩展或Claude Desktop应用程序)一起使用,您需要将其配置添加到客户端的设置文件中。
-
找到设置文件:
- VSCode扩展(macOS示例):
/Users/<YourUsername>/Library/Application Support/VSCodium/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json(调整标准VSCode或其他操作系统的路径)。 - Claude桌面应用程序(macOS示例):
~/Library/Application Support/Claude/claude_desktop_config.json(调整其他操作系统的路径)。
- VSCode扩展(macOS示例):
-
添加服务器配置: 编辑JSON文件,并在
mcpServers对象。 替换<absolute_path_to_home>您的主目录的实际绝对路径。{ "mcpServers": { "gradle-mcp-server": { "command": "java", "args": [ "-jar", "<absolute_path_to_home>/mcp-servers/gradle-mcp-server/gradle-mcp-server-all.jar" ], "env": {}, "disabled": false, "autoApprove": [] } } }
用法
- 在添加配置之后, 重新启动MCP客户端 (例如,重新加载VSCode窗口或重新启动Claude应用程序)。
- “Gradle MCP服务器”及其工具(如下所列)现在应该可以在客户端中使用。当客户端需要时,服务器会通过stdio自动运行。
可用工具
服务器通过模型上下文协议公开以下工具:
-
get_gradle_project_info- 描述:检索Gradle项目的特定详细信息,返回结构化JSON。仅允许请求必要的信息类别(
buildStructure,tasks,environment,projectDetails).如果requestedInfo如果省略,则提取所有类别。 - 关键输入:
projectPath(字符串,必填):Gradle项目根的绝对路径。requestedInfo(字符串数组,可选):要检索的类别列表(例如。,["tasks", "environment"]).
- 输出:JSON对象(
GradleProjectInfoResponse)包含所请求的数据字段和潜在错误。
- 描述:检索Gradle项目的特定详细信息,返回结构化JSON。仅允许请求必要的信息类别(
-
execute_gradle_task- 描述:执行一般Gradle任务(如
build,clean). 如果需要详细的结果,不建议运行测试 (改用测试工具)。返回格式化的文本输出,总结执行情况,包括捕获的stdout/stderr。 - 关键输入:
projectPath(字符串,必填):Gradle项目根的绝对路径。tasks(字符串数组,必填):要执行的任务名称列表(例如。,["clean", "assemble"]).arguments(字符串数组,可选):Gradle命令行参数(例如。,["--info", "-PmyProp=value"]).jvmArguments(字符串数组,可选):Gradle的JVM参数(例如。,["-Xmx4g"]).environmentVariables(object,可选):构建的环境变量(例如。,{"CI": "true"}).
- 输出:带有执行摘要、最终状态的格式化文本响应(
Success/Failure),并组合了stdout/stderr。
- 描述:执行一般Gradle任务(如
-
run_gradle_tests- 描述:执行Gradle测试任务,并将结果作为结构化JSON层次结构返回(Suite>Class>test)。默认情况下过滤/截断输出行,重点关注故障。提供选项以包含已通过测试的输出和控制日志限制。
- 关键输入:
projectPath(字符串,必填):Gradle项目根的绝对路径。gradleTasks(字符串数组,可选):要运行的测试任务(默认为["test"]).arguments(字符串数组,可选):其他Gradle参数(详细标志,如--info/--debug被过滤掉)。environmentVariables(object,可选):测试执行的环境变量。testPatterns(字符串数组,可选):测试通过传递的过滤模式--tests(例如。,["*.MyTestClass"]).includeOutputForPassed(布尔值,可选):设置为true包含已通过测试的输出(默认false).maxLogLines(整数,可选):覆盖每个测试输出行的默认限制(0表示无限制)。defaultMaxLogLines(整数,可选):设置默认输出行限制(内部默认为100)。
- 输出:JSON对象(
GradleHierarchicalTestResponse)包含执行细节、总体构建成功状态、信息注释和test_hierarchy树。每个节点都包括显示名称、类型、结果、失败消息(如果有的话)、过滤/截断的输出行和子节点。
发展
从源头构建
如果你想自己构建服务器:
- 克隆存储库。
- 请确保您已安装JDK 17或更高版本。
- 运行build命令:
./gradlew shadowJar - 自包含的JAR(
gradle-mcp-server-<version>-all.jar)将在中创建build/libs/目录。然后,您可以配置MCP客户端以使用此JAR(请记住在配置中使用正确的绝对路径和版本)。
本地运行(用于测试)
您可以直接从命令行运行构建的JAR进行测试。默认情况下,服务器通过stdio进行通信。
# Run the packaged JAR in stdio mode
java -jar build/libs/gradle-mcp-server-<version>-all.jar
# Run with specific arguments (see Configuration section)
java -jar build/libs/gradle-mcp-server-<version>-all.jar --sse 8080 --debug
配置(命令行参数)
当直接运行服务器JAR(主要用于测试/开发)时,可以通过命令行参数控制其行为:
--stdio:(默认)MCP通信使用标准输入/输出。--sse [port]:在指定的上作为SSE服务器运行port(如果省略端口,则默认为3001)。将MCP客户端(如Anthropic控制台检查器)连接到http://localhost:<port>/sse.--debug:在服务器控制台上启用详细日志记录。
依赖项
- 分级工具API (中指定的版本
build.gradle.kts) - 拟人化MCP Kotlin SDK
- 哪个 (适用于SSE服务器模式)
- Logback (用于记录)