使用说明(简明步骤,便于快速上手)
-
项目简介
- 这是一个 MCP 服务器实现,致力于为大型语言模型(LLM)提供对 JVM 相关资源的上下文服务。核心功能包括:列出 JAR 条目、读取/查看 JAR 中的资源与类、描述类成员、在依赖树中定位类位置,以及解析 Maven/Gradle 项目的绝对依赖路径等。通过 MCP 客户端可以以统一的 JSON-RPC 方式调用这些工具。
-
主要功能点
- list_jar_entries: 列出 JAR 内部的条目(按目录层级折叠,最多返回 100 项)。
- read_jar_entry: 读取指定的 JAR 条目;对 .class 文件会优先尝试读取附带的 -sources.jar 中的源码,如无则使用 CFR 进行反编译。
- describe_class: 使用 javap 获取类的公有方法签名(可选显示全部成员),可按方法查询进行过滤。
- resolve_class: 在项目依赖的 JAR 中定位指定类的位置,必要时返回方法签名(若开启 includeMembers)。
- scan_project_dependencies: 检测并解析 Maven/Gradle 项目的依赖,返回依赖的绝对路径,并支持按配置筛选和去除传递依赖等选项。
- 支持多种工作流:对 Maven 使用 mvn dependency:list、对 Gradle 使用初始化脚本来收集依赖信息,并对结果进行缓存。
-
安装步骤
- 运行环境:Node.js 18 及以上;Java 8+(用于 CFR/describe_class 中的 javap 等工具)。
- 安装与运行(简要流程):
- 下载源码后执行 npm install
- 运行构建(若有构建步骤):npm run build
- 启动服务器:node dist/index.js
- 运行时依赖:CFR 替代品 CFR 0.152(内置在 dist/lib 下),要求 CFR、javap、mvn、gradle 等工具在系统 PATH 中可用(部分操作如 Maven/Gradle 解析会调用外部工具)。
-
服务器配置(MCP 客户端所需的配置信息,供客户端建立连接时使用) 说明:下面的配置用于 MCP 客户端注册该服务器,并指向用于启动服务器的命令与参数。服务器名称与启动命令来自于该仓库实现的实际设置。
- 服务器名称:java-jar-viewer-mcp
- 启动命令与参数示例(用于 MCP 客户端读取并启动服务器): { "name": "java-jar-viewer-mcp", "command": "npx", "args": ["-y", "jar-viewer-mcp@latest"] // 说明:通过 npx 启动最新版的 jar-viewer-mcp 服务,这与仓库中的快速开始示例一致。 // MCP 客户端不需要知道更多实现细节,只需能够启动并与服务器建立连接。 }
-
基本使用方法
-
启动后,LLM 客户端可以通过一系列 JSON-RPC 风格的工具调用来获取数据:
- 列出 JAR 条目、读取资源、描述类、定位类、扫描依赖等工具。
-
常用流程示例(不涉及具体实现代码,供理解用):
- 先用 list_jar_entries 查看 JAR 的顶级结构,确认需要读取的实际路径。
- 再使用 read_jar_entry 查看具体条目内容,若是 .class 文件可选择附带源码或 CFR 反编译结果。
- 如需类签名信息,使用 describe_class 获取方法签名。
- 若要在项目中定位某个类,使用 resolve_class,并可选择是否需要成员信息。
- 若需要了解项目依赖的真实路径,使用 scan_project_dependencies。
-
重要注意事项
- CFR、Maven/Gradle 等外部工具在运行时需要正确的环境依赖(如 Java、Maven、Gradle、Gradle Wrapper 等),请确保它们在 PATH 中可用并且正确配置。
- 对应的配置和参数均由 MCP 客户端以 JSON-RPC 形式传递,服务器端进行解析并返回结构化结果。
-
信息
分类
开发者工具