JMX

Provides JMX monitoring and management via MCP with 12 tools, real-time metrics, and JSON-RPC 2.0 compatibility.
  • other

5

GitHub Stars

other

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "itz4blitz-jmx-mcp": {
      "command": "java",
      "args": [
        "-Xmx512m",
        "-Xms256m",
        "-Dspring.profiles.active=stdio",
        "-Dspring.main.banner-mode=off",
        "-Dlogging.level.root=OFF",
        "-Dspring.main.log-startup-info=false",
        "-jar",
        "target/jmx-mcp-server-1.0.0.jar"
      ],
      "env": {
        "JAVA_OPTS": "-Djava.awt.headless=true"
      }
    }
  }
}

You have a powerful MCP server that provides comprehensive JMX monitoring and management for Java applications. It lets you discover MBeans, read and write attributes, run operations, and query runtime metrics through an MCP client, enabling AI-assisted insights and control over your Java processes.

How to use

Begin by launching the JMX MCP Server locally or remotely, then connect your MCP client to the server to start querying JMX data. Use natural language to explore MBeans, read attributes like HeapMemoryUsage and Uptime, or execute operations such as triggering garbage collection. You can discover all available MBeans, list domains, and monitor memory, GC, threads, and runtime metrics. The server exposes a wide set of resources that map to JMX attributes, so you can ask for up-to-date statistics, performance indicators, and domain-specific information. When you ask questions, the AI layer analyzes the data, correlates metrics, and can provide actionable recommendations based on observed patterns.

How to install

# prerequisites
java --version
mvn --version

# 1. Clone the project and build
git clone https://github.com/itz4blitz/JMX-MCP.git
cd JMX-MCP
mvn clean package

# 2. Test the server (optional but recommended)
python3 comprehensive-test.py

# 3. Start the server (stdio/local mode)
java -Xmx512m -Xms256m -Dspring.profiles.active=stdio -Dspring.main.banner-mode=off -Dlogging.level.root=OFF -Dspring.main.log-startup-info=false -jar target/jmx-mcp-server-1.0.0.jar

Configuration exposure and usage notes

The server configures a local stdio MCP endpoint for Claude Desktop integration. Ensure you provide the correct path to the built jar when starting the server in stdio mode and, if needed, adjust memory settings and logging as shown in the example.

Security, deployment, and testing notes

Security features are built in to validate access and restrict dangerous operations. You can configure security policies to control which domains and operations are allowed. For production deployment, consider increasing heap size and enabling production-grade logging. Run the comprehensive test suite to verify protocol compliance, tool registrations, and resource discovery before going live.

Troubleshooting

If the server won’t start with your MCP client, verify Java 17+ is installed, confirm the path to the JAR is correct, and ensure the STDIO profile is active. If tools or resources don’t appear in your client, restart the client after configuration changes and check server logs for errors. Validate MCP protocol compliance and connectivity for remote setups.

Available tools

listMBeans

List all discovered MBeans with optional domain filtering and return summary information about each MBean.

getMBeanInfo

Retrieve detailed information about a specific MBean, including attributes and operations.

getAttribute

Read the value of a specific MBean attribute with type safety.

setAttribute

Set the value of a writable MBean attribute after type validation.

listDomains

List all available MBean domains to help you navigate the namespace.

listJmxConnections

List all configured JMX connections (local and remote) for quick switching.

addJmxConnection

Add a new JMX connection to monitor another Java application.

removeJmxConnection

Remove an existing JMX connection from the configured list.

switchJmxConnection

Switch the active JMX connection to a different target.

getConnectionInfo

Get current status and statistics for the active JMX connection.

discoverJmxServices

Discover JMX-enabled Java applications on the system for potential connections.

autoRegisterDiscoveredConnections

Automatically register discovered JMX services for quick startup.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational