About Jfr Analyzer MCP
Jfr Analyzer MCP is an MCP server in the Files category: a Model Context Protocol (MCP) server for analyzing Java Flight Recorder (JFR) files.
Install
git clone https://github.com/mahaat/jfr-analyzer-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Jfr Analyzer MCP
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
jfr-analyzer-mcp
A Model Context Protocol (MCP) server for analyzing Java Flight Recorder (JFR) files. This server provides tools to analyze JFR recordings and generate comprehensive performance reports using Java Mission Control's rule-based analysis.
Features
- JFR File Analysis: Load and analyze Java Flight Recorder files
- Rule-Based Reports: Generate reports using JMC's built-in analysis rules
- MCP Integration: Exposes analysis capabilities as MCP tools for AI assistants
- Performance Insights: Provides summaries, explanations, and solutions for performance issues
Usage
This MCP server exposes a single tool:
- getReport: Get a full analysis report of a JFR file
- Parameter:
jfrFilePath(absolute path to the JFR file) - Returns: Comprehensive analysis including rule IDs, summaries, explanations, and solutions
- Parameter:
Running the MCP Server
Development Mode
Run the server in dev mode with live coding:
./mvnw quarkus:dev
NOTE: Quarkus ships with a Dev UI, available in dev mode at http://localhost:8080/q/dev/.
As MCP Server
To use this MCP server with an MCP client (like Claude Desktop), configure it in your MCP client settings:
{
"mcpServers": {
"jfr-analyzer": {
"command": "java",
"args": [
"-jar",
"/path/to/jfr-analyzer-mcp-1.0.0-SNAPSHOT-runner.jar"
]
}
}
}
For development, you can also run:
./mvnw quarkus:dev
Then configure your MCP client to connect to stdio.
Packaging and Running
Build the application:
./mvnw package
This produces the quarkus-run.jar file in target/quarkus-app/.
To build an über-jar (recommended for MCP server deployment):
./mvnw package -Dquarkus.package.jar.type=uber-jar
The über-jar can be run with:
java -jar target/*-runner.jar
Using with Claude Desktop
- Build the über-jar
- Update Claude Desktop's
claude_desktop_config.json:
{
"mcpServers": {
"jfr-analyzer": {
"command": "java",
"args": [
"-jar",
"/Users/adit/development/projects/jfr-analyzer-mcp/target/jfr-analyzer-mcp-1.0.0-SNAPSHOT-runner.jar"
]
}
}
}
- Restart Claude Desktop
Native Executable
Create a native executable for faster startup and lower memory footprint:
./mvnw package -Dnative
Or build in a container:
./mvnw package -Dnative -Dquarkus.native.container-build=true
Run the native executable:
./target/jfr-analyzer-mcp-1.0.0-SNAPSHOT-runner
Learn more: https://quarkus.io/guides/maven-tooling
Testing
Run all tests:
./mvnw test
Run specific test class:
./mvnw test -Dtest=JfrAnalysisServiceTest
Run specific test method:
./mvnw test -Dtest=JfrAnalysisServiceTest#loadRecording
Technical Details
- Java Version: 21
- Framework: Quarkus 3.26.3
- JMC Version: 9.1.1
- MCP Protocol: stdio transport via quarkus-mcp-server-stdio
Key Dependencies
quarkus-mcp-server-stdio: MCP server integrationorg.openjdk.jmc.*: JMC libraries for JFR analysisquarkus-cache: Caching supportquarkus-arc: CDI container
Related Guides
- Quarkus MCP Server: MCP server stdio integration
- Quarkus Cache: Application data caching
- Java Flight Recorder: JFR documentation
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.