Home / MCP / Jmeter MCP Server
Executes JMeter tests, analyzes JTL results, and generates dashboards and HTML reports through MCP-compatible clients.
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.
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.
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 snippetConfigure environment variables as needed for your setup by creating a .env file and adjusting the values to match your system paths and options.
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"
]
}
}
}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.
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.
# 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
This section provides the explicit MCP command-and-argument pattern to run the server locally via a stdio-based MCP launcher.
Launches JMeter in GUI mode for development and test setup (not suitable for large-scale runs)
Runs JMeter in non-GUI mode for production-grade, high-performance test execution
Analyzes JMeter results (JTL files) to produce metrics and insights
Detects slow endpoints and high-error-rate paths from test results
Provides recommendations and insights for improving performance
Creates visualizations of test results, including time-series and distribution charts