JMeter MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
npm install
npm run build
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "JMETER_HOME=${JMETER_HOME}" jmeter-mcp-server -- node "<FULL_PATH_TO_JMETER_MCP_SERVER_TS>/dist/index.js"

Replace <FULL_PATH_TO_JMETER_MCP_SERVER_TS>/dist/index.js with the actual folder you prepared in step 1.

Required:JMETER_HOME
README.md

Enables AI assistants to programmatically create, execute, and analyze JMeter tests

🚀 JMeter MCP Server (TypeScript Edition)

A powerful Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with Apache JMeter for performance testing. Built with TypeScript for enhanced type safety and reliability.

✨ Features

🎯 Core Features

  • Execute JMeter Tests: Run tests in non-GUI mode with comprehensive options
  • GUI Mode: Launch JMeter GUI for test development
  • Test Plan Creation: Programmatically create HTTP test plans
  • Results Analysis: Advanced parsing and analysis of JTL files
  • HTML Reports: Generate beautiful dashboard reports
  • Distributed Testing: Execute tests across multiple remote servers

📊 Advanced Analysis

  • Performance Metrics: Calculate comprehensive statistics (avg, median, percentiles)
  • Bottleneck Detection: Automatically identify slow endpoints and high error rates
  • Error Analysis: Group and analyze errors by type and endpoint
  • Time Series Data: Generate data for performance visualization
  • Recommendations: AI-powered suggestions for performance improvements

🛠️ Management Tools

  • Plugin Management: List installed JMeter plugins
  • Property Management: Get and set JMeter properties
  • Validation: Verify JMeter installation and version

📋 Prerequisites

  • Node.js: Version 18 or higher
  • JMeter: Apache JMeter 5.0 or higher
  • npm or yarn: For package management

🔧 Installation

1. Clone or Download

cd jmeter-mcp-server-ts

2. Install Dependencies

npm install

3. Configure Environment

Create a .env file:

cp .env.example .env

Edit .env and set your JMeter path:

JMETER_HOME=C:/apache-jmeter-5.6.3

4. Build

npm run build

🚀 Usage

With Claude Desktop

Add to your Claude Desktop configuration (claude_desktop_config.json):

{
  "mcpServers": {
    "jmeter": {
      "command": "node",
      "args": [
        "C:/Users/YourUser/Documents/jmeter-mcp-server-ts/dist/index.js"
      ],
      "env": {
        "JMETER_HOME": "C:/apache-jmeter-5.6.3"
      }
    }
  }
}

With Cursor / Windsurf

Add to your MCP settings:

{
  "jmeter": {
    "command": "node",
    "args": ["path/to/dist/index.js"],
    "env": {
      "JMETER_HOME": "/path/to/jmeter"
    }
  }
}

🔨 Available Tools

1. validate_jmeter

Validate JMeter installation and get version info.

Example:

Validate my JMeter installation

2. execute_jmeter_test

Execute a test plan in non-GUI mode.

Parameters:

  • testPlan: Path to .jmx file
  • resultsFile: Path for .jtl results
  • logFile: (Optional) Log file path
  • reportDir: (Optional) Generate HTML report
  • properties: (Optional) JMeter properties
  • systemProperties: (Optional) System properties
  • remoteHosts: (Optional) For distributed testing

Example:

Run JMeter test from C:/tests/my-test.jmx and save results to C:/results/output.jtl with HTML report in C:/reports

3. launch_jmeter_gui

Launch JMeter GUI for test development.

Example:

Open JMeter GUI with test plan C:/tests/my-test.jmx

4. generate_html_report

Generate HTML dashboard from existing results.

Parameters:

  • resultsFile: Path to .jtl file
  • outputDir: Directory for HTML report

Example:

Generate HTML report from C:/results/output.jtl to C:/reports/dashboard

5. analyze_test_results

Comprehensive analysis of test results.

Example:

Analyze JMeter results from C:/results/output.jtl

Provides:

  • Performance summary (avg, median, percentiles)
  • Per-endpoint metrics
  • Error analysis
  • Bottleneck identification
  • Performance recommendations

6. create_http_test_plan

Create a new HTTP test plan programmatically.

Parameters:

  • name: Test plan name
  • outputPath: Where to save .jmx
  • threads: Number of virtual users
  • rampUp: Ramp-up period (seconds)
  • duration: Test duration (seconds)
  • endpoint: URL to test
  • method: HTTP method (GET/POST/PUT/DELETE/PATCH)
  • headers: (Optional) HTTP headers
  • body: (Optional) Request body

Example:

Create a JMeter test plan named "API Load Test" to test https://api.example.com/users with 50 threads, 30 second ramp-up, and 120 second duration. Save it to C:/tests/api-test.jmx

7. execute_distributed_test

Run distributed test across multiple servers.

Parameters:

  • testPlan: Path to test plan
  • resultsFile: Path for results
  • remoteHosts: Array of remote server IPs
  • startRemoteServers: Auto-start servers
  • stopRemoteServers: Auto-s

Tools (7)

validate_jmeterValidate JMeter installation and get version info.
execute_jmeter_testExecute a test plan in non-GUI mode.
launch_jmeter_guiLaunch JMeter GUI for test development.
generate_html_reportGenerate HTML dashboard from existing results.
analyze_test_resultsComprehensive analysis of test results.
create_http_test_planCreate a new HTTP test plan programmatically.
execute_distributed_testRun distributed test across multiple servers.

Environment Variables

JMETER_HOMErequiredThe installation directory path of Apache JMeter

Configuration

claude_desktop_config.json
{"mcpServers": {"jmeter": {"command": "node", "args": ["/path/to/dist/index.js"], "env": {"JMETER_HOME": "/path/to/jmeter"}}}}

Try it

Create a JMeter test plan named 'API Load Test' to test https://api.example.com/users with 50 threads, 30 second ramp-up, and 120 second duration.
Run the JMeter test plan located at C:/tests/my-test.jmx and generate an HTML report in C:/reports.
Analyze the JMeter results from C:/results/output.jtl and identify any performance bottlenecks.
Open the JMeter GUI with the test plan C:/tests/my-test.jmx to make manual adjustments.

Frequently Asked Questions

What are the key features of JMeter MCP Server?

Programmatic creation of HTTP test plans. Automated execution of JMeter tests in non-GUI mode. Advanced parsing and analysis of JTL result files. Generation of HTML dashboard reports. Support for distributed testing across remote servers.

What can I use JMeter MCP Server for?

Automating performance regression testing in CI/CD pipelines. Rapidly generating load test plans via natural language prompts. Identifying performance bottlenecks and high error rates in APIs. Managing and executing distributed load tests across multiple server nodes.

How do I install JMeter MCP Server?

Install JMeter MCP Server by running: npm install && npm run build

What MCP clients work with JMeter MCP Server?

JMeter MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep JMeter MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare