⚠️ 弃用
此项目不再维护。请使用 格雷德尔·麦克普 相反。
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+
安装
推荐方法:命令行下载
此方法将服务器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'."替代方法:手动下载
- 去 .
- 下载
gradle-mcp-server-all.jar最新版本的资产。 - 将下载的JAR文件保存到稳定的位置。我们建议:
- macOS/Linux: ~/mcp-servers/gradle-mcp-server/ - 窗户: %USERPROFILE%\mcp-servers\gradle-mcp-server\ (如果目录不存在,则创建该目录)。
MCP客户端配置
要将此服务器与MCP客户端(如VSCode扩展或Claude Desktop应用程序)一起使用,您需要将其配置添加到客户端的设置文件中。
- 找到设置文件:
- VSCode扩展(macOS示例): /Users//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 (调整其他操作系统的路径)。
- 添加服务器配置: 编辑JSON文件,并在
mcpServers对象。 替换 `` 您的主目录的实际绝对路径。
{
"mcpServers": {
"gradle-mcp-server": {
"command": "java",
"args": [
"-jar",
"/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)包含所请求的数据字段和潜在错误。
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。
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--all.jar)将在中创建build/libs/目录。然后,您可以配置MCP客户端以使用此JAR(请记住在配置中使用正确的绝对路径和版本)。
本地运行(用于测试)
您可以直接从命令行运行构建的JAR进行测试。默认情况下,服务器通过stdio进行通信。
# Run the packaged JAR in stdio mode
java -jar build/libs/gradle-mcp-server--all.jar
# Run with specific arguments (see Configuration section)
java -jar build/libs/gradle-mcp-server--all.jar --sse 8080 --debug配置(命令行参数)
当直接运行服务器JAR(主要用于测试/开发)时,可以通过命令行参数控制其行为:
--stdio:(默认)MCP通信使用标准输入/输出。--sse [port]:在指定的上作为SSE服务器运行port(如果省略端口,则默认为3001)。将MCP客户端(如Anthropic控制台检查器)连接到 `http://localhost:
/sse`.
--debug:在服务器控制台上启用详细日志记录。
依赖项
- 分级工具API (中指定的版本
build.gradle.kts) - 拟人化MCP Kotlin SDK
- 哪个 (适用于SSE服务器模式)
- Logback (用于记录)
