Easy Jar MCP 服务器
基于Model Context Protocol (MCP)的JAR/ZIP/WAR/EAR归档分析工具,支持Java反编译、前端项目源码分析及SSH远程服务器检查。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"jar": {
"args": [
"-y",
"@hyqf98/easy_jar_mcp_server"
],
"command": "npx"
}
}
}
服务介绍
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_server
Codex CLI
codex mcp add jar -- npx -y @hyqf98/easy_jar_mcp_server
OpenCode
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