Home / MCP / Jmeter MCP Server

Jmeter MCP Server

Executes JMeter tests, analyzes JTL results, and generates dashboards and HTML reports through MCP-compatible clients.

python
Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
    "mcpServers": {
        "jmeter": {
            "command": "/path/to/uv",
            "args": [
                "--directory",
                "/path/to/jmeter-mcp-server",
                "run",
                "jmeter_server.py"
            ],
            "env": {
                "JMETER_HOME": "/path/to/apache-jmeter-5.6.3",
                "JMETER_BIN": "/path/to/apache-jmeter-5.6.3/bin/jmeter"
            }
        }
    }
}

You can run and analyze JMeter tests through an MCP-compatible server, enabling non-GUI execution, GUI development workflows, and rich results analysis. This server executes JMeter tests, parses JTL results, generates dashboards and HTML reports, and surfaces actionable performance insights for you to act on.

How to use

Connect to the MCP server with a compatible client and issue a request to run a JMeter test. You can start tests in non-GUI mode for performance, or launch JMeter in GUI mode during test development. After execution, leverage the built-in analysis features to understand results and uncover bottlenecks. Use the available tools to generate visualizations and HTML reports that you can share with stakeholders.

How to install

Prerequisites you need before installing the MCP server are Python and JMeter, plus a compatible MCP runner (uv) to execute the server.

# Install uv (MCP runner)
# Note: replace with the actual installation command if you have a project-specific installer
# Example placeholder in case you are following a typical setup path

# Ensure Python is installed
python3 --version

# Install required Python dependencies for JMeter results analysis
pip install numpy matplotlib

# Make JMeter executable if needed
chmod +x /path/to/jmeter/bin/jmeter

# Ensure JMETER_HOME and JMETER_BIN are set
export JMETER_HOME=/path/to/apache-jmeter-5.6.3
export JMETER_BIN=${JMETER_HOME}/bin/jmeter

# Run the MCP server using the provided configuration
# The MCP launcher is uv; the exact command is shown in the MCP configuration snippet

Configure environment variables as needed for your setup by creating a .env file and adjusting the values to match your system paths and options.

Additional configuration and usage notes

The MCP configuration snippet shows how to connect the client to run the server locally through a stdio-based MCP runner. This configuration points the runner to the directory containing the JMeter MCP server and specifies the script to execute.

{
  "mcpServers": {
    "jmeter": {
      "command": "/path/to/uv",
      "args": [
        "--directory",
        "/path/to/jmeter-mcp-server",
        "run",
        "jmeter_server.py"
      ]
    }
  }
}

Troubleshooting and notes

The server validates that the test file exists and has a .jmx extension, validates JTL files, and captures any execution or analysis errors so you can diagnose issues quickly.

Tools and capabilities

This MCP server exposes a set of tools to run tests and analyze results. You can execute tests, analyze results, identify bottlenecks, obtain performance insights, and generate visualizations.

Usage examples

# Run a JMeter test and generate a results file Run JMeter test sample_test.jmx in non-GUI mode and save results to results.jtl # Analyze the results Analyze the JMeter test results in results.jtl and provide detailed insights # Identify bottlenecks What are the performance bottlenecks in the results.jtl file? # Get recommendations What recommendations do you have for improving performance based on results.jtl? # Generate visualizations Create a time series graph of response times from results.jtl

MCP configuration overview

This section provides the explicit MCP command-and-argument pattern to run the server locally via a stdio-based MCP launcher.

Available tools

execute_jmeter_test

Launches JMeter in GUI mode for development and test setup (not suitable for large-scale runs)

execute_jmeter_test_non_gui

Runs JMeter in non-GUI mode for production-grade, high-performance test execution

analyze_jmeter_results

Analyzes JMeter results (JTL files) to produce metrics and insights

identify_performance_bottlenecks

Detects slow endpoints and high-error-rate paths from test results

get_performance_insights

Provides recommendations and insights for improving performance

generate_visualization

Creates visualizations of test results, including time-series and distribution charts