使用说明

项目简介

Jolokia MCP Server是一个基于Model Context Protocol (MCP) 构建的服务器应用。它的主要作用是作为大型语言模型 (LLM) 客户端与Java应用程序的Java Management Extensions (JMX) 接口之间的桥梁。通过集成Jolokia HTTP/JSON桥接器,该服务器使得LLM能够通过标准化的MCP协议远程访问、监控和管理运行中的Java应用。

主要功能点

  • 集成Jolokia: 利用Jolokia客户端库与目标Java应用中运行的Jolokia代理通信。
  • 暴露JMX功能: 将JMX核心功能(如列出MBeans、读取/写入属性、执行操作)封装成LLM可理解和调用的Tools。
  • 支持LLM调用: 遵守MCP协议,允许LLM客户端通过Tool调用机制与服务器交互,实现对Java应用的远程控制和信息获取。
  • 多种传输协议: 支持MCP定义的Stdio(标准输入输出)和Server-Sent Events (SSE) 等传输协议,方便与不同的MCP客户端集成。

安装步骤

  1. 环境准备: 确保您的系统已安装Java开发工具包 (JDK 11或更高版本) 和Apache Maven。
  2. 克隆仓库: 使用Git命令克隆项目源代码:
    git clone https://github.com/jolokia/jolokia-mcp-server.git
    cd jolokia-mcp-server
  3. 构建项目: 在项目根目录执行Maven命令进行构建:
    mvn clean install
    构建成功后,生成的可执行JAR文件位于 'target' 目录下,名称格式为 'jolokia-mcp-server-X.Y.Z-SNAPSHOT.jar' (X.Y.Z是版本号)。

服务器配置

MCP客户端需要配置如何启动此MCP服务器进程并与之通信。以下是用于MCP客户端配置的示例信息:

  • 服务器名称: 'Jolokia MCP Server'
  • 启动命令 (command): 'java'
  • 启动参数 (args):
[
  "-jar", "path/to/your/jolokia-mcp-server-X.Y.Z-SNAPSHOT.jar",
  "http://localhost:8778/jolokia",
  "--sse" // 可选参数:如果需要使用SSE,请保留此行;否则使用默认的stdio
]

参数说明:

  1. '"path/to/your/jolokia-mcp-server-X.Y.Z-SNAPSHOT.jar"': 替换为您实际构建出的MCP服务器JAR文件的完整路径。
  2. '"http://localhost:8778/jolokia"': 必须替换为目标Java应用中运行的Jolokia代理的实际访问URL。这是服务器连接Jolokia的关键。
  3. '"--sse"': 这是一个可选参数。如果存在,服务器将使用SSE作为MCP传输协议,并通过HTTP端口通信;如果省略,服务器将默认使用Stdio协议进行通信。

请将上述信息填入您的MCP客户端的服务器配置中。

基本使用方法

  1. 确保目标Java应用已启动,并且Jolokia代理正在运行并可通过配置的URL访问。
  2. 启动您的MCP客户端,并加载使用上述配置信息的Jolokia MCP Server。
  3. 一旦客户端与服务器成功建立连接,LLM即可通过客户端发现Jolokia MCP Server提供的Tools(如 'listMBeans', 'readMBeanAttribute', 'executeMBeanOperation' 等)。
  4. LLM可以通过自然语言或其他方式请求客户端调用这些Tools,例如询问“列出所有可用的MBeans”或“获取名为 java.lang:type=Memory 的MBeans的 HeapMemoryUsage 属性值”,客户端会将请求转发给Jolokia MCP Server,服务器则通过Jolokia代理与目标Java应用交互,并将结果返回给客户端和LLM。

信息

分类

开发者工具