execute_jmeter_testLABSCO SUMMARY
The run and the reading of it, in one place.
A load test usually ends with a JTL file nobody wants to open. Here the same session that started the run parses the file, points at the slow endpoints and says what to try next.
What it is
An MCP server that executes JMeter tests and analyzes what came out of them. It launches JMeter, captures the output, and parses the resulting JTL file into metrics, bottlenecks and recommendations.
What you get
execute_jmeter_test_non_gui— runs a.jmxtest in non-GUI mode, the default for performance reasonsexecute_jmeter_test— launches JMeter in GUI mode, which by JMeter's own design opens the tool rather than running the testanalyze_jmeter_results— parses a JTL file, XML or CSV, and summarises the key metricsidentify_performance_bottlenecks— slow endpoints, error-prone endpoints, response-time outliers, and the effect of concurrencyget_performance_insights— recommendations ranked by likely impactgenerate_visualization— time series, response-time distributions and endpoint comparisons, exportable as an HTML report- Streaming parsers, so large result files do not have to be loaded whole
Requirements
JMeter installed and callable from the command line — make the launcher executable with chmod +x /path/to/jmeter/bin/jmeter. Install uv and clone the repository; uv installs the Python dependencies from pyproject.toml the first time your client starts the server. Configure .env with JMETER_HOME and JMETER_BIN, and optionally JMETER_JAVA_OPTS for heap settings.
Setup effort
Build from source — git clone https://github.com/QAInsights/jmeter-mcp-server.git
USE CASES
Running an existing test plan
Name the .jmx file and where results should land; the server checks the file exists and has the right extension before starting.
Understanding a results file someone handed you
Point at the JTL and get the overall and per-endpoint metrics summarised, without loading it into the GUI.
Finding what to fix first
Bottlenecks come back with severity, and the recommendations are ordered by the impact they would have.
Putting the result in front of people who were not in the run
Generate the time-series and comparison charts and bundle them into an HTML report to send on.
Comparing two runs
Analyze each JTL and put the metrics side by side, including how each behaved as concurrency climbed.
6 tools
Listed in project docs. Your client may show a different list.
execute_jmeter_test_non_guianalyze_jmeter_resultsidentify_performance_bottlenecksget_performance_insightsgenerate_visualizationBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
- uv
- Apache JMeter installed and callable from the command line
Where it runs
All 3 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/QAInsights/jmeter-mcp-server.git
cd jmeter-mcp-serverMake JMeter executable:
chmod +x <YOUR_PATH_TO_JMETER>/bin/jmeterCreate a .env file from .env.example and set JMETER_HOME (for example <YOUR_PATH_TO_APACHE_JMETER_5_6>) and JMETER_BIN (${JMETER_HOME}/bin/jmeter)
MCP Clients
Claude Desktop, Cursor, Windsurf
{
"mcpServers": {
"jmeter": {
"command": "<YOUR_PATH_TO_UV>",
"args": [
"--directory",
"<YOUR_PATH_TO_JMETER_MCP_SERVER>",
"run",
"jmeter_server.py"
]
}
}
}<YOUR_PATH_TO_UV> is the full path of the uv executable (run which uv, or where uv on Windows), and <YOUR_PATH_TO_JMETER_MCP_SERVER> is the full path of the jmeter-mcp-server folder the clone step creates.