Java Jar查看器MCP
MCP服务器,允许LLM浏览JAR内容,附加 *-sources.jar 源代码和反编译 .class CFR文件。它还运行Maven/Gradle依赖解析,以显示本地工件的绝对路径。
中文文档: README.zh-CN.md.
先决条件
- Node.js 18+
- Java 8+(JDK
javap)关于PATH(用于CFR和describe_class) - 使用PATH时使用Maven
scan_project_dependenciesMaven项目 - Gradle包装(
./gradlew)或使用PATH时使用Gradlescan_project_dependenciesGradle项目
快速启动(npx)
npx -y jar-viewer-mcp@latestMCP配置代码段
在MCP客户端/注册表中使用此选项(示例格式):
{
"mcpServers": {
"jar-viewer": {
"command": "npx",
"args": ["-y", "jar-viewer-mcp@latest"]
}
}
}安装选项
全局安装
npm install -g jar-viewer-mcp
jar-viewer-mcp地方发展
npm install
npm run build
node dist/index.js工具
list_jar_entries(jarPath, innerPath?):列出JAR中最多100个项目,按目录级别折叠以快速导航。read_jar_entry(jarPath, entryPath):读取请求的条目。对于.class,它首先寻找一个兄弟姐妹*-sources.jar以及以其他方式与CFR反编译;回落到javap如有需要,请签名。describe_class(jarPath, className?, entryPath?, memberVisibility?, methodQuery?, limit?):使用以下函数返回类的方法签名javap(无反编译)。使用memberVisibility="public"(默认)或"all"对于所有成员。resolve_class(projectPath, className, dependencyQuery?, includeMembers?, memberVisibility?, methodQuery?, limit?):在项目依赖关系jar中查找类。如果includeMembers=true,还返回方法签名(与describe_class).scan_project_dependencies(projectPath, excludeTransitive?, configurations?, includeLogTail?, query?):检测Maven/Gradle项目(由pom.xml或build.gradle(.kts)/settings.gradle(.kts)),然后解析绝对伪影路径。用途mvn dependency:list对于Maven,以及注入的Gradle init脚本(mcpListDeps)对于Gradle来说。结果按项目根进行缓存。query不区分大小写的子字符串是否匹配groupId:artifactId以及伪影路径。
- excludeTransitive:设置为 true 仅返回一级依赖关系。 - configurations:仅包含Gradle配置名称列表(例如。 ["runtimeClasspath"]). - includeLogTail:设置为 true 包含用于调试的构建输出的最后一行。
lib/cfr-0.152.jar 被捆绑并复制到 dist/lib 在...期间 npm run build;路径在运行时通过解析 import.meta.url 以避免硬编码。
