MCP ExplorerExplorer

Jolokia Mcp

@tadayosion 9 months ago
6 Apache-2.0
FreeCommunity
AI Systems
#jmx#jolokia#mcp#mcp-server#ai#java
Jolokia MCP Server enables LLM to manage Java apps via JMX API.

Overview

What is Jolokia Mcp

Jolokia MCP is a server that acts as a bridge between Java applications and the JMX API using Jolokia. It allows for the management of Java applications through an HTTP interface.

Use cases

Use cases for Jolokia MCP include monitoring application performance, managing application configurations, and automating administrative tasks in Java applications.

How to use

To use Jolokia MCP, build the project using Maven with ‘mvn clean install’. Then, run the server by executing ‘java -jar target/jolokia-mcp-server-0.3.0-SNAPSHOT.jar [Jolokia URL]’. Alternatively, you can use JBang with ‘jbang run --repos=jitpack com.github.tadayosi:jolokia-mcp:main-SNAPSHOT:runner’.

Key features

Key features of Jolokia MCP include its ability to manage Java applications via JMX API, support for HTTP protocol, and ease of integration with existing Java applications.

Where to use

Jolokia MCP can be used in environments where Java applications need to be monitored and managed remotely, such as cloud services, enterprise applications, and microservices architectures.

Content

Jolokia MCP Server

Test

MCP server for Jolokia, a JMX-HTTP bridge for Java applications. This MCP server enables an LLM to manage a Java application using JMX API via Jolokia.

https://github.com/user-attachments/assets/624ec93b-da69-49b5-be8f-02f2ff14bd2e

Attach Jolokia agent to your Java application

To use this MCP server to operate your Java application with JMX, you need to attach a Jolokia agent to your Java application.

Read the Jolokia manual for how to attach a Jolokia agent to a Java application:
https://jolokia.org/reference/html/manual/agents.html

Features

This MCP server connects to a single JVM at startup and provides the following features on the connected JVM:

  • List MBeans from the connected JVM
  • List operations for a MBean
  • List attributes for a MBean
  • Read/write attributes of a MBean
  • Execute operations on a MBean

Tools

This MCP server provides 6 tools.

  • listMBeans
    • List available MBeans from the JVM
    • Output (List<String>): List of all MBean object names in the JVM
  • listMBeanOperations
    • List available operations for a given MBean
    • Inputs:
      • mbean (String): MBean name
    • Output (String): JSON-formatted definitions of all available operations for the given MBean
  • listMBeanAttributes
    • List available attributes for a given MBean
    • Inputs:
      • mbean (String): MBean name
    • Output (String): JSON-formatted definitions of all available attributes for the given MBean
  • readMBeanAttribute
    • Read an attribute from a given MBean
    • Inputs:
      • mbean (String): MBean name
      • attribute (String): Attribute name
    • Output (String): String representation of the given attribute’s value or “null”
  • writeMBeanAttribute
    • Set the value to an attribute of a given MBean
    • Inputs:
      • mbean (String): MBean name
      • attribute (String): Attribute name
      • value (Object): Attribute value
    • Output (String): String representation of the given attribute’s previous value or “null”
  • executeMBeanOperation
    • Execute an operation on a given MBean
    • Inputs:
      • mbean (String): MBean name
      • operation (String): Operation name
      • args (Object[]): Arguments
    • Output (String): String representation of the return value of the operation or “null”

Install

Download the MCP server runner jar:

To install the Jolokia MCP server to a MCP host, add the following entry to the MCP settings:

{
  "mcpServers": {
    "jolokia": {
      "command": "java",
      "args": [
        "-jar",
        "<path-to-the-runner-jar>/jolokia-mcp-0.3.5-runner.jar"
      ]
    }
  }
}

Or if you prefer using JBang (no need for downloading the jar with this method):

{
  "mcpServers": {
    "jolokia": {
      "command": "jbang",
      "args": [
        "org.jolokia.mcp:jolokia-mcp-server:0.3.5:runner"
      ]
    }
  }
}

Run

Run it with java -jar:

java -jar jolokia-mcp-server-0.3.5-runner.jar [Jolokia URL]

Using JBang, you can directly run it with the Maven GAV (org.jolokia.mcp:jolokia-mcp-server:0.3.5:runner):

jbang org.jolokia.mcp:jolokia-mcp-server:0.3.5:runner

HTTP/SSE Transport

By default, this MCP server runs with stdio transport. To switch it to HTTP/SSE transport, use the --sse option:

java -jar jolokia-mcp-server-0.3.5-runner.jar --sse

The HTTP/SSE transport endpoint by default launches at http://localhost:8080/mcp/sse.

Config Options

Parameter/Option Default Description
Positional parameter http://localhost:8778/jolokia The Jolokia endpoint URL the MCP server connects to
--sse false (stdio) Enable HTTP/SSE transport
-D*=* System properties

The system properties that are relevant to the MCP server:

System property Default Description
quarkus.http.port 8080 (SSE) The port for the SSE endpoint
quarkus.mcp.server.sse.root-path mcp (SSE) The root path for the SSE endpoint (http://localhost:8080/mcp/sse)
jolokia.mcp.url http://localhost:8778/jolokia Equivalent to the positional parameter

Build

mvn clean install

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers