JM

JMeter

Created 6 months ago

A Model Context Protocol (MCP) server for executing JMeter tests and analyzing results.

development documentation public MCP JMeter

What is JMeter?

Run load testing using Apache JMeter via MCP-compliant tools.

Documentation

JMeter MCP Server

This is a Model Context Protocol (MCP) server that allows executing JMeter tests through MCP-compatible clients and analyzing test results.

Features# JMeter Execution

  • Execute JMeter tests in non-GUI mode
  • Launch JMeter in GUI mode
  • Capture and return execution output
  • Generate JMeter report dashboard

Test Results Analysis

  • Parse and analyze JMeter test results (JTL files)
  • Calculate comprehensive performance metrics
  • Identify performance bottlenecks automatically
  • Generate actionable insights and recommendations
  • Create visualizations of test results
  • Generate HTML reports with analysis results

Installation# Local Installation

  1. Install uv:
  2. Ensure JMeter is installed on your system and accessible via the command line.
  3. Install required Python dependencies:
  4. Configure the .env file, refer to the .env.example file for details.

MCP Usage

  1. Connect to the server using an MCP-compatible client (e.g., Claude Desktop, Cursor, Windsurf)
  2. Send a prompt to the server:

MCP Configuration

Add 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"]
    }
  }
}

Use Cases# Test Execution

  • Run JMeter tests in non-GUI mode for better performance
  • Launch JMeter in GUI mode for test development

Test Results Analysis

  • Analyze JTL files to understand performance characteristics
  • Identify performance bottlenecks and their severity
  • Get actionable recommendations for performance improvements
  • Generate visualizations for better understanding of results
  • Create comprehensive HTML reports for sharing with stakeholders

Error Handling

The server will:

  • Validate that the test file exists
  • Check that the file has a .jmx extension
  • Validate that JTL files exist and have valid formats
  • Capture and return any execution or analysis errors

Test Results Analyzer

The Test Results Analyzer is a powerful feature that helps you understand your JMeter test results better. It consists of several components:

Parser Module

  • Supports both XML and CSV JTL formats
  • Efficiently processes large files with streaming parsers
  • Validates file formats and handles errors gracefully

Metrics Calculator

  • Calculates overall performance metrics (average, median, percentiles)
  • Provides endpoint-specific metrics for detailed analysis
  • Generates time series metrics to track performance over time
  • Compares metrics with benchmarks for context

Bottleneck Analyzer

  • Identifies slow endpoints based on response times
  • Detects error-prone endpoints with high error rates
  • Finds response time anomalies and outliers
  • Analyzes the impact of concurrency on performance

Insights Generator

  • Provides specific recommendations for addressing bottlenecks
  • Analyzes error patterns and suggests solutions
  • Generates insights on scaling behavior and capacity limits
  • Prioritizes recommendations based on potential impact

Visualization Engine

  • Creates time series graphs showing performance over time
  • Generates distribution graphs for response time analysis
  • Produces endpoint comparison charts for identifying issues
  • Creates comprehensive HTML reports with all analysis results

Example Usage

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

Server Config

{
  "mcpServers": {
    "jmeter-server": {
      "command": "npx",
      "args": [
        "jmeter"
      ]
    }
  }
}

Links & Status

Repository: github.com
Hosted: No
Global: No
Official: Yes

Project Info

Hosted Featured
Created At: May 23, 2025
Updated At: Aug 07, 2025
Author: QAInsights
Category: community
License: MIT
Tags:
development documentation public