@hyqf98/easy_jar_mcp_server
v1.0.0
Published
MCP Server for analyzing JAR/ZIP/WAR/EAR archives, decompiling Java class files, and remote SSH inspection
Maintainers
Readme
Easy Jar MCP Server
基于 Model Context Protocol (MCP) 的 JAR/ZIP/WAR/EAR 归档分析工具,支持 Java 反编译、前端项目源码分析、SSH 远程服务器检查。
功能特性
- 归档分析:读取 JAR/ZIP/WAR/EAR 文件结构、清单、依赖
- Java 反编译:支持 CFR/javap 双引擎,可反编译 JAR 内类、JDK 内置类、Maven 项目类
- 前端源码分析:分析前端项目依赖结构,读取 node_modules 模块源码(支持 sourcemap 还原、Vue SFC 解析)
- SSH 远程:通过 SSH 在远程服务器上查找、读取、反编译 JAR 文件
MCP 工具列表
环境检查
| 工具 | 说明 | 关键参数 |
|------|------|---------|
| check_environment | 检查 Java/CFR/javap 环境是否可用 | 无 |
归档文件操作
| 工具 | 说明 | 关键参数 |
|------|------|---------|
| list_entries | 列出归档文件中的所有条目 | filePath, filter, type |
| read_entry | 读取归档文件中指定条目的内容 | filePath, entryPath, encoding |
| read_manifest | 读取 MANIFEST.MF 和 pom.properties | filePath |
| search_entries | 搜索归档文件中的条目 | filePath, pattern, includePackages |
| analyze_jar | 分析归档文件结构、依赖和元数据 | filePath |
| extract_entry | 从归档文件中提取指定条目到本地 | filePath, entryPath, outputPath |
Java 反编译
| 工具 | 说明 | 关键参数 |
|------|------|---------|
| decompile_class | 反编译 Java class 文件 | className, jarPath, projectPath, decompiler |
| decompile_jar | 批量反编译整个 JAR 文件 | filePath, filter, decompiler |
反编译器选择:
cfr(默认,生成 Java 源码)或javap(字节码查看,JDK 内置类自动回退)
前端源码分析
| 工具 | 说明 | 关键参数 |
|------|------|---------|
| analyze_frontend_project | 分析前端项目结构,列出依赖及安装状态 | projectPath |
| read_module_source | 读取 node_modules 中模块源码(支持 sourcemap/Vue SFC) | projectPath, moduleName, filePath |
SSH 远程操作
| 工具 | 说明 | 关键参数 |
|------|------|---------|
| set_ssh_config | 配置 SSH 服务器连接 | name, host, port, username, password/privateKey |
| list_ssh_servers | 列出已配置的 SSH 服务器 | 无 |
| ssh_find_jars | 在远程服务器上查找 JAR 文件 | serverName, searchPath, maxDepth |
| ssh_list_entries | 列出远程 JAR 文件条目 | serverName, archivePath |
| ssh_read_entry | 读取远程 JAR 文件中条目内容 | serverName, archivePath, entryPath |
| ssh_decompile_class | 反编译远程 JAR 中的 Java 类 | serverName, archivePath, className |
快速添加 MCP 配置
Claude Desktop
编辑配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"jar": {
"command": "npx",
"args": ["-y", "@hyqf98/easy_jar_mcp_server"]
}
}
}Claude Code
claude mcp add jar -- npx -y @hyqf98/easy_jar_mcp_serverCodex CLI
codex mcp add jar -- npx -y @hyqf98/easy_jar_mcp_serverOpenCode
opencode mcp add jar -- npx -y @hyqf98/easy_jar_mcp_server本地开发:将命令替换为
node /path/to/easy_jar_mcp_server/dist/index.js
使用示例
分析 JAR 文件
分析一下 /path/to/app.jar 的结构反编译 Java 类
反编译 java.util.concurrent.ForkJoinPool从 /path/to/app.jar 中反编译 com.example.MyService 类前端项目分析
分析一下 /path/to/frontend-project 的依赖结构读取 /path/to/frontend-project 中 axios 模块的源码SSH 远程操作
配置 SSH 服务器 dev,地址 192.168.1.100,用户 root,密码 xxxxxx在 dev 服务器上查找 /opt 目录下的 JAR 文件前置要求
- Node.js >= 18.0.0
- Java >= 8(反编译功能需要,需设置 JAVA_HOME)
- CFR 0.152(构建时自动下载到
lib/目录) - SSH(仅远程功能需要,需服务器支持 SSH2 协议)
开发
npm install
npm run build # 构建(含自动下载 CFR)
npm run dev # 开发模式(tsx 直接运行)
npm run start # 运行构建产物许可证
MIT License
