Gradle Class Finder MCP

Encuentra y descompila clases dentro de dependencias de Gradle.

Documentación

Gradle Class Finder MCP

Un servicio de búsqueda de clases para proyectos Gradle basado en Model Context Protocol (MCP), que ayuda a buscar clases específicas en las dependencias de proyectos Gradle y obtener su código fuente.

Características

  • Buscar clases específicas en las dependencias de proyectos Gradle
  • Obtener el código fuente o el código decompilado de las clases
  • Compatibilidad con la búsqueda de clases JDK
  • Resolución inteligente de nombres de clases (compatible con nombres de clases simples)
  • Reconocimiento inteligente y decompilación de clases Kotlin

Métodos de ejecución

Método 1: Ejecución nativa con Java

Requisitos previos

  • JDK 17 o superior
  • Gradle 8.5 o superior (opcional, el proyecto incluye Gradle Wrapper)

Compilar el proyecto

# 使用 Gradle Wrapper(推荐)
./gradlew shadowJar

# 或者使用系统安装的 Gradle
gradle shadowJar

Una vez completada la compilación, se generará el archivo gradle-class-finder-mcp.jar en el directorio build/libs/.

Ejecutar el servicio

# 直接运行 JAR 文件
java -jar build/libs/gradle-class-finder-mcp.jar

# 或者使用 Gradle 运行
./gradlew run

Método 2: Ejecución con Docker

Requisitos previos

  • Docker 20.10 o superior

Compilar la imagen Docker

docker build -t gradle-class-finder-mcp .

Ejecutar el contenedor

# 基本运行
docker run gradle-class-finder-mcp

# 使用自定义内存设置
docker run -e JAVA_OPTS="-Xmx1g -Xms512m" gradle-class-finder-mcp

# 挂载本地项目目录(用于分析本地项目)
docker run -v /path/to/your/project:/workspace gradle-class-finder-mcp

Configuración de Claude Desktop

Agregue la siguiente configuración al archivo de configuración de Claude Desktop:

Configuración de ejecución nativa con Java

{
  "mcpServers": {
    "gradle-class-finder": {
      "command": "java",
      "args": ["-jar", "/path/to/gradle-class-finder-mcp.jar"]
    }
  }
}

Configuración de ejecución con Docker

{
  "mcpServers": {
    "gradle-class-finder": {
      "command": "docker",
      "args": ["run", "-i", "gradle-class-finder-mcp"]
    }
  }
}

Ejemplos de uso

Buscar una clase

使用工具 find_class 查找类:
- workspace_dir: /path/to/gradle/project
- class_name: com.example.MyClass

Obtener el código fuente

使用工具 get_source_code 获取源代码:
- jar_path: /path/to/library.jar
- class_name: com.example.MyClass

Variables de entorno

  • JAVA_OPTS: Configuración de parámetros JVM (por ejemplo: -Xmx512m -Xms256m)

Solución de problemas

Problemas comunes con la ejecución nativa con Java

  1. No se encuentra la clase principal

    • Asegúrese de compilar con la tarea shadowJar, no con la tarea normal jar
    • Verifique que el archivo JAR exista en el directorio build/libs/
  2. Error al resolver dependencias

    • Asegúrese de que el proyecto de destino tenga una configuración de Gradle válida
    • Verifique la conexión de red para asegurarse de que se pueda acceder al repositorio de Maven

Problemas comunes con la ejecución con Docker

  1. Error de compilación

    • Asegúrese de que el demonio de Docker esté en ejecución
    • Verifique que haya suficiente espacio en disco
  2. El contenedor no puede acceder a archivos locales

    • Use el parámetro -v para montar correctamente el directorio local
    • Verifique los permisos de los archivos

Guía de desarrollo

Estructura del proyecto

gradle-class-finder-mcp/
├── src/
│   └── main/
│       └── java/
│           └── com/opencare/mcp/
│               ├── GradleClassFinderMcpServer.java
│               ├── service/
│               ├── decompiler/
│               └── util/
├── build.gradle
├── Dockerfile
└── README.md

Desarrollo local

# 运行测试
./gradlew test

# 清理构建
./gradlew clean

# 构建并运行
./gradlew clean shadowJar run

Licencia

MIT License