Token导航 LogoToken导航TokenDH.com
Java Class View MCP logo
开发工具stdio官方级别未说明来源级核验

Java Class View MCP

MCP Server

一个基于MCP协议的Java类分析工具,提供类结构分析、依赖关系分析、源代码检索等功能,适用于Java代码审查和依赖管理。

工具数

10

提示词数

0

GitHub Stars

0

资源数

0
代码审查Python依赖管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

zksite

提供方

zksite

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

Java JAR 探索器 MCP

一个模型上下文协议(MCP)服务器,提供全面的Java类分析和探索功能。该工具使AI助手能够检查Java类、分析依赖关系、搜索类,并从JAR文件和类路径中检索源代码。其功能包括方法级别的源代码提取、智能反编译和精确的代码边界检测。

实施原则

架构概述

Java JAR Explorer MCP 基于以下核心原则构建:

  1. MCP协议集成实现了模型上下文协议,以将Java分析能力作为标准化工具暴露出来,供AI助手使用。
  1. 异步处理使用Python的 asyncio 对于非阻塞操作,尤其是当执行像(以下列举的)这样的外部Java工具时 javap
  1. 类路径感知分析自动检测并使用系统类路径,包括对自定义类路径的支持 JAVA_CLASSPATH 环境变量。
  1. 多源类别发现支持从多个来源进行班级分析:

- JAR 文件(包括嵌套的 JAR 文件) - 基于目录的类文件 - JRT 文件系统(Java 9+ 模块系统) - 系统类路径

  1. 强大的错误处理实现了全面的错误处理机制,当工具或类不可用时,能够优雅降级。

核心组件

JavaClassViewer 类

负责处理的主要引擎是:

  • 类路径解析与验证
  • 使用(某种方法或工具)进行的阶级结构分析 javap
  • 源代码提取和反编译
  • 方法级别的源代码提取,具备精确边界检测
  • 依赖分析
  • 跨多个来源进行班级搜索

数据模型

  • 班级信息表示完整的类结构,包括字段、方法和构造函数
  • 班级成员表示带有详细签名的类成员(字段、方法)

工具集成

  • javap类分析和字节码检查的主要工具
  • 罐子用于从JAR存档中提取源文件
  • Java用于类路径检测和验证

高级功能

  • 方法级分析提取并分析单个方法的源代码
  • 智能源检测自动检测原始代码与反编译后的源代码
  • 行级精确提取用于代码清理的精确方法边界检测
  • 签名分析可选的方法签名包含,以提供更好的上下文

快速入门

1. 克隆并设置

首先,克隆此仓库并安装所需的依赖项:

# Clone the repository
git clone https://github.com/zksite/java-class-view-mcp
cd java-class-view-mcp

# Install Python dependencies
pip install -r requirements.txt

2. MCP配置

要使用此MCP服务器,请在您的MCP客户端中添加以下配置:

{
  "java-jar-explorer": {
    "command": "python",
    "args": ["java-class-viewer.py"],
    "env": {
      "MAVEN_HOME": "",
      "JAVA_HOME": "",
      "JAVA_CLASSPATH": ""
    }
  }
}

环境变量配置

  • MAVEN_HOME(注:在中文语境中,我们通常不直接翻译变量名,而是保留其原样,但可以解释其含义为“Maven 安装目录”或“Maven 主目录”,不过在这里直接给出翻译形式,即“MAVEN_家目录”并不准确,因此保持原样更为合适。)Maven 安装路径(可选)
  • JAVA_HOMEJava 安装路径(必需)
  • JAVA_CLASSPATH(Java类路径)用于分析的自定义类路径(可选,如果未指定,将使用系统类路径)

示例配置

{
  "java-jar-explorer": {
    "command": "python",
    "args": ["java-class-viewer.py"],
    "env": {
      "MAVEN_HOME": "C:\\Program Files\\Apache\\maven",
      "JAVA_HOME": "C:\\Program Files\\Java\\jdk-17",
      "JAVA_CLASSPATH": "C:\\myproject\\target\\classes;C:\\myproject\\lib\\*.jar"
    }
  }
}

可用工具

MCP服务器为AI助手提供了以下工具:

1. 查看类结构

目的获取Java类的完整结构信息

参数:

  • class_name (字符串):完整限定类名(例如,'java.lang.String')

退货详细的班级结构,包括:

  • 类元数据(名称、包、修饰符、类型)
  • 带有类型和修饰符的字段
  • 带有签名和参数的方法
  • 构造函数
  • 继承关系
  • 内部类

2. 搜索类别

目的搜索符合特定模式的Java类

参数

  • pattern (字符串):搜索模式(支持通配符和正则表达式)
  • search_type (字符串):搜索类型 - "名称", "包", "方法", "字段"
  • limit (整数):最大结果数量(默认:20)

回报包含位置信息的匹配班级列表

3. 分析类依赖关系

目的分析一个类的依赖关系

参数

  • class_name (字符串):完全限定类名
  • depth (整数):分析深度(1=直接依赖项,2=二级,依此类推)

退货显示类关系的依赖树

4. 查找类的使用情况

目的在代码库中查找某个类的使用位置

参数

  • class_name (字符串):完全限定类名
  • search_scope (字符串): 搜索范围 - "classpath"(类路径)、"jar"(JAR文件)、"directory"(目录)

退货类被引用的地点列表

5. 获取类层次结构

目的获取类的继承层次结构信息

参数

  • class_name (字符串):完整类名

退货继承树显示:

  • 父类
  • 实现了的接口
  • 类类型(类、接口、枚举、注解)

6. 查找类位置

目的确定类文件的物理位置

参数:

  • class_name (字符串):完全限定类名

回报包含类文件的JAR文件或目录的路径

7. 获取类源码

目的获取类的源代码

参数:

  • class_name (字符串):完全限定类名
  • decompile (boolean): 如果源代码不可用时是否进行反编译(默认:true)

退货带有元数据的源代码:

  • 原始来源(如果JAR文件中存在)
  • 反编译后的源代码(使用javap)
  • 来源类型和位置信息

8. 获取类的字节码

目的获取类的详细字节码信息

参数:

  • class_name (字符串):完整类名

回报\javap\ 产生的详细字节码输出,包括:

  • 常量池
  • 方法字节码
  • 现场信息
  • 类元数据

9. 获取方法源码

目的从Java类中提取特定方法的源代码

参数:

  • class_name (字符串):完全限定类名
  • method_name (字符串):提取方法的名称
  • include_signature (布尔值):是否包含方法签名(默认:false)

退货方法源代码信息包括:

  • 方法源代码
  • 方法签名(如需)
  • 行号和位置信息
  • 源类型(原始或反编译)

10. 获取类路径信息

目的获取当前的类路径配置和统计信息

参数

退货全面的类路径信息:

  • 环境变量(JAVA_CLASSPATH,JAVA_HOME)
  • 当前有效的类路径
  • 统计信息(JAR文件数量、目录数量、无效路径)
  • 详细路径分解

使用示例

基本阶级分析

# Get structure of a specific class
result = await view_class_structure("java.util.ArrayList")

# Search for classes by name pattern
results = await search_classes("*List*", "name", 10)

依赖分析

# Analyze direct dependencies
deps = await analyze_class_dependencies("com.example.MyClass", 1)

# Find where a class is used
usages = await find_class_usages("java.util.List", "classpath")

源代码检索

# Get complete class source code (with decompilation fallback)
source = await get_class_source("com.example.MyClass", True)

# Get specific method source code
method_source = await get_method_source("com.example.MyClass", "methodName", True)

# Get bytecode for detailed analysis
bytecode = await get_class_bytecode("com.example.MyClass")

配置

环境变量

  • JAVA_HOMEJava安装路径
  • JAVA_CLASSPATH自定义类路径(可选,覆盖系统类路径)

要求

  • Java 8或更高版本
  • Python 3.7及以上版本
  • javap 路径中可用的工具
  • 访问目标JAR文件和类路径

错误处理

该工具实现了强大的错误处理机制:

  • 当Java工具不可用时的优雅降级
  • 对于缺失的类或无效的类路径,提供清晰的错误信息
  • 源代码检索的备用机制
  • 输入参数和类路径条目的验证

性能考量

  • 异步操作可防止在长时间分析过程中发生阻塞
  • 类路径缓存减少了重复的文件系统操作
  • 可配置的搜索限制避免结果过多
  • 使用zipfile操作进行高效的JAR扫描

这款MCP服务器使AI助手能够执行复杂的Java代码库分析,从而更轻松地理解复杂的Java应用程序、分析依赖关系,并通过编程方式探索类之间的关系。

目录标签

目录标签

代码审查Python依赖管理Java分析本地部署MCP协议源代码检索

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP