by QAInsights
JMeter MCP Server is a Model Context Protocol (MCP) server that enables the execution of JMeter tests and provides comprehensive analysis of test results. It bridges the gap between JMeter's powerful load testing capabilities and AI workflows, allowing for automated test execution, detailed performance analysis, and actionable insights.
JMeter MCP Server is a Model Context Protocol (MCP) server that enables the execution of JMeter tests through MCP-compatible clients and provides comprehensive analysis of test results. It bridges the gap between JMeter's powerful load testing capabilities and AI workflows, allowing for automated test execution, detailed performance analysis, and actionable insights.
To use JMeter MCP Server, you first need to install it locally. This involves installing uv
, ensuring JMeter is installed and executable, and then installing the required Python dependencies (numpy
, matplotlib
). Configuration is done via a .env
file, specifying the JMeter home directory and binary path. Once set up, you connect to the server using an MCP-compatible client (e.g., Claude Desktop, Cursor, Windsurf) and send prompts to execute JMeter tests or analyze results. The server provides various tools for execution and analysis, which are invoked by the MCP client based on your prompts.
.jmx
extension.Q: Can I use JMeter MCP Server with any MCP-compatible client? A: Yes, it is designed to work with various MCP-compatible clients such as Claude Desktop, Cursor, and Windsurf.
Q: What kind of JMeter test results can the server analyze? A: The server can analyze JMeter test results in both XML and CSV JTL formats.
Q: Does the server provide recommendations for performance improvement? A: Yes, the Insights Generator component provides specific recommendations for addressing bottlenecks and improving performance.
Q: How do I configure JMeter MCP Server?
A: Configuration is primarily done through a .env
file where you specify JMeter home and binary paths, along with optional Java options for JMeter.
Q: What kind of visualizations can be generated? A: The Visualization Engine can create time series graphs, distribution graphs, endpoint comparison charts, and comprehensive HTML reports.
This is a Model Context Protocol (MCP) server that allows executing JMeter tests through MCP-compatible clients and analyzing test results.
[!IMPORTANT] 📢 Looking for an AI Assistant inside JMeter? 🚀 Check out Feather Wand
Install uv
:
Ensure JMeter is installed on your system and accessible via the command line.
⚠️ Important: Make sure JMeter is executable. You can do this by running:
chmod +x /path/to/jmeter/bin/jmeter
pip install numpy matplotlib
.env
file, refer to the .env.example
file for details.# JMeter Configuration
JMETER_HOME=/path/to/apache-jmeter-5.6.3
JMETER_BIN=${JMETER_HOME}/bin/jmeter
# Optional: JMeter Java options
JMETER_JAVA_OPTS="-Xms1g -Xmx2g"
Connect to the server using an MCP-compatible client (e.g., Claude Desktop, Cursor, Windsurf)
Send a prompt to the server:
Run JMeter test /path/to/test.jmx
execute_jmeter_test
: Launches JMeter in GUI mode, but doesn't execute test as per the JMeter designexecute_jmeter_test_non_gui
: Execute a JMeter test in non-GUI mode (default mode for better performance)analyze_jmeter_results
: Analyze JMeter test results and provide a summary of key metrics and insightsidentify_performance_bottlenecks
: Identify performance bottlenecks in JMeter test resultsget_performance_insights
: Get insights and recommendations for improving performancegenerate_visualization
: Generate visualizations of JMeter test resultsAdd the following configuration to your MCP client config:
{
"mcpServers": {
"jmeter": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/jmeter-mcp-server",
"run",
"jmeter_server.py"
]
}
}
}
The server will:
The Test Results Analyzer is a powerful feature that helps you understand your JMeter test results better. It consists of several components:
# 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
Reviews feature coming soon
Stay tuned for community discussions and feedback