Gradle Class Finder MCP
Encontre e descompile classes dentro de dependências Gradle.
GitHubExperimente este MCPPatrocinado
Documentação
Gradle Class Finder MCP
Um serviço de busca de classes em projetos Gradle baseado no Model Context Protocol (MCP), que ajuda a localizar classes específicas nas dependências de projetos Gradle e obter seu código-fonte.
Funcionalidades
- Localiza classes específicas nas dependências de projetos Gradle
- Obtém o código-fonte ou código decompilado das classes
- Suporte à busca de classes JDK
- Resolução inteligente de nomes de classes (suporte a nomes simples)
- Identificação e decompilação inteligente de classes Kotlin
Como executar
Opção 1: Execução nativa com Java
Pré-requisitos
- JDK 17 ou superior
- Gradle 8.5 ou superior (opcional, o projeto inclui o Gradle Wrapper)
Compilando o projeto
# 使用 Gradle Wrapper(推荐)
./gradlew shadowJar
# 或者使用系统安装的 Gradle
gradle shadowJar
Após a compilação, o arquivo gradle-class-finder-mcp.jar será gerado no diretório build/libs/.
Executando o serviço
# 直接运行 JAR 文件
java -jar build/libs/gradle-class-finder-mcp.jar
# 或者使用 Gradle 运行
./gradlew run
Opção 2: Execução com Docker
Pré-requisitos
- Docker 20.10 ou superior
Compilando a imagem Docker
docker build -t gradle-class-finder-mcp .
Executando o contêiner
# 基本运行
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
Configurando o Claude Desktop
Adicione a seguinte configuração ao arquivo de configuração do Claude Desktop:
Configuração para execução nativa com Java
{
"mcpServers": {
"gradle-class-finder": {
"command": "java",
"args": ["-jar", "/path/to/gradle-class-finder-mcp.jar"]
}
}
}
Configuração para execução com Docker
{
"mcpServers": {
"gradle-class-finder": {
"command": "docker",
"args": ["run", "-i", "gradle-class-finder-mcp"]
}
}
}
Exemplos de uso
Localizando uma classe
使用工具 find_class 查找类:
- workspace_dir: /path/to/gradle/project
- class_name: com.example.MyClass
Obtendo o código-fonte
使用工具 get_source_code 获取源代码:
- jar_path: /path/to/library.jar
- class_name: com.example.MyClass
Variáveis de ambiente
JAVA_OPTS: Configuração de parâmetros JVM (por exemplo:-Xmx512m -Xms256m)
Solução de problemas
Problemas comuns na execução nativa com Java
-
Classe principal não encontrada
- Certifique-se de compilar usando a tarefa
shadowJar, e não a tarefa comumjar - Verifique se o arquivo JAR existe no diretório
build/libs/
- Certifique-se de compilar usando a tarefa
-
Falha na resolução de dependências
- Certifique-se de que o projeto de destino tenha uma configuração Gradle válida
- Verifique a conexão de rede para garantir acesso ao repositório Maven
Problemas comuns na execução com Docker
-
Falha na compilação
- Certifique-se de que o daemon do Docker esteja em execução
- Verifique se há espaço em disco suficiente
-
O contêiner não consegue acessar arquivos locais
- Use o parâmetro
-vpara montar corretamente o diretório local - Verifique as permissões dos arquivos
- Use o parâmetro
Guia de desenvolvimento
Estrutura do projeto
gradle-class-finder-mcp/
├── src/
│ └── main/
│ └── java/
│ └── com/opencare/mcp/
│ ├── GradleClassFinderMcpServer.java
│ ├── service/
│ ├── decompiler/
│ └── util/
├── build.gradle
├── Dockerfile
└── README.md
Desenvolvimento local
# 运行测试
./gradlew test
# 清理构建
./gradlew clean
# 构建并运行
./gradlew clean shadowJar run
Licença
Licença MIT