Skip to main content

Advanced MCP server for JMeter performance test analysis with 14 comprehensive tools

Project description

JMeter MCP - Complete Guide

Package: jmeter-mcp v1.0.0 | Status: โœ… Ready for Publication | Date: January 27, 2026


๐Ÿš€ Quick Start

What is This?

A stdio-based MCP server for analyzing JMeter performance test logs. Works with Autogen and any LLM via MCP protocol.

Installation & Usage

# No installation needed - run directly
pipx run jmeter-mcp

# Or install once
pip install jmeter-mcp
jmeter-mcp

# Use with Autogen (zero-install)
from autogen.agentchat.contrib.mcp.agent import MCPAgent
agent = MCPAgent(
    name="analyst",
    mcp_server_config={
        "type": "stdio",
        "command": "pipx",
        "args": ["run", "jmeter-mcp"],
    },
)

๐Ÿ“ฆ Package Contents

Source Code

jmeter_mcp/
โ”œโ”€โ”€ __init__.py           Package metadata
โ””โ”€โ”€ cli.py               MCP server (231 lines, 3 tools)

Build Artifacts

dist/
โ”œโ”€โ”€ jmeter_mcp-1.0.0-py3-none-any.whl    Ready to install
โ””โ”€โ”€ jmeter_mcp-1.0.0.tar.gz              Ready to upload

Configuration

pyproject.toml           Package config (modern PEP 517/518)
LICENSE                  MIT License
verify.py                Verification script (8/8 checks)

๐Ÿ”ง Available Tools

1. analyze_jmeter_logs

Analyzes JMeter performance test logs and returns key metrics.

Input: log_data (CSV format)
Output: Metrics (total requests, failures, error rate, response times)

2. detect_log_format

Auto-detects log format with confidence score.

Input: log_data (first few lines)
Output: Format type and confidence (jmeter_jtl, performance_csv, etc.)

3. get_supported_formats

Lists all supported format types.

Input: None
Output: Array of supported formats with descriptions


๐Ÿ“ Publishing to PyPI (4 Steps)

Step 1: Update Metadata (2 min)

Edit pyproject.toml and replace:

authors = [
    {name = "YOUR NAME", email = "your@email.com"}
]

[project.urls]
Homepage = "https://github.com/YOUR_USERNAME/jmeter-mcp"
Repository = "https://github.com/YOUR_USERNAME/jmeter-mcp.git"

Step 2: Create PyPI Account (5 min)

  1. Visit: https://pypi.org/account/register/
  2. Create account (free)
  3. Verify email
  4. Generate API token
  5. Save token

Step 3: Publish (1 min)

python -m twine upload dist/*

# When prompted:
# Username: __token__
# Password: [paste your token]

Step 4: Verify (5-10 min)

# Wait for PyPI to index
pipx install jmeter-mcp
pipx run jmeter-mcp 2>&1

# Output: "Starting JMeter MCP Server (stdio transport)"

๐Ÿค– Autogen Integration

Basic Setup (Zero Installation)

from autogen import UserProxyAgent
from autogen.agentchat.contrib.mcp.agent import MCPAgent

mcp_config = {
    "type": "stdio",
    "command": "pipx",
    "args": ["run", "jmeter-mcp"],
}

analyst = MCPAgent(
    name="performance_analyst",
    system_message="Analyze JMeter logs using available tools",
    mcp_server_config=mcp_config,
    llm_config={"config_list": [{"model": "gpt-4"}]},
)

user = UserProxyAgent(name="user", human_input_mode="TERMINATE")
user.initiate_chat(analyst, message="Analyze this JMeter test...")

Multi-Agent Collaboration

# Create team of agents
analyst = MCPAgent(name="analyst", ...)
reporter = AssistantAgent(name="reporter", ...)
manager = UserProxyAgent(name="manager")

# Group chat
group_chat = GroupChat(agents=[analyst, reporter, manager])
chat_manager = GroupChatManager(group_chat=group_chat)

manager.initiate_chat(chat_manager, message="Analyze and report...")

โœ… Verification & Testing

Run Verification

python verify.py

# Output: 8/8 checks passed โœ…

Checks Include:

  • Package structure correct
  • pyproject.toml valid
  • Documentation complete
  • CLI imports working
  • MCP tools defined
  • Stateless design verified
  • Logging to stderr
  • Build artifacts present

Test Locally

# With pip
pip install -e .
jmeter-mcp 2>&1

# With pipx
pipx install dist/jmeter_mcp-1.0.0-py3-none-any.whl --force
pipx run jmeter-mcp 2>&1

๐ŸŽฏ Key Features

โœ… Stdio-only - Pure JSON-RPC 2.0, no HTTP
โœ… Stateless - No file I/O, parameter-driven
โœ… Zero-install - Works via pipx run jmeter-mcp
โœ… Production-grade - Error handling, input validation
โœ… Autogen-ready - Direct integration support
โœ… Well-documented - Complete guides
โœ… Free - MIT license, PyPI hosting


๐Ÿ”ง Commands Reference

# Verify everything is ready
python verify.py

# Test locally with pip
pip install -e .

# Test locally with pipx
pipx install dist/jmeter_mcp-1.0.0-py3-none-any.whl --force
pipx run jmeter-mcp 2>&1

# Publish to PyPI
python -m twine upload dist/*

# Install from PyPI (after publishing)
pip install jmeter-mcp

๐Ÿ†˜ Troubleshooting

Issue Solution
"Module not found: twine" pip install twine build
"401 Unauthorized" Generate new token at https://pypi.org/account/
Server doesn't start Run jmeter-mcp 2>&1 to see stderr errors
"Package already exists" Update version to 1.0.1 in pyproject.toml
"No such command: jmeter-mcp" Reinstall: pip install --force-reinstall jmeter-mcp

๐Ÿ“Š Project Stats

Metric Value
Package Size (wheel) 7.7 KB
Package Size (source) 452 KB
Python Support 3.9, 3.10, 3.11, 3.12, 3.13
Core Dependencies 2 (mcp, fastmcp)
MCP Tools 3
Verification 8/8 โœ…
Time to Publish ~20 minutes

๐Ÿ” Constraints & Features

Constraint Status Details
Stdio-only MCP โœ… JSON-RPC 2.0 over stdin/stdout
No HTTP/FastAPI โœ… Pure stdio, no web framework
Stateless operation โœ… Parameter-driven, no session state
No file I/O โœ… All data via JSON parameters
Logs to stderr โœ… stream=sys.stderr configured
Works with pipx run โœ… Entry point registered & tested
Free publication โœ… PyPI hosts packages free

๐Ÿ“ Folder Structure

jmeter-mcp-package/
โ”œโ”€โ”€ jmeter_mcp/                      Python package
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ””โ”€โ”€ cli.py
โ”œโ”€โ”€ dist/                            Build artifacts
โ”‚   โ”œโ”€โ”€ jmeter_mcp-1.0.0-py3-none-any.whl
โ”‚   โ””โ”€โ”€ jmeter_mcp-1.0.0.tar.gz
โ”œโ”€โ”€ pyproject.toml                   Modern package config
โ”œโ”€โ”€ LICENSE                          MIT License
โ”œโ”€โ”€ verify.py                        Verification script
โ””โ”€โ”€ README.md                        This complete guide

๐ŸŽฌ Publishing Workflow

1. Update pyproject.toml metadata (2 min)
   โ†“
2. Create PyPI account (5 min)
   โ†“
3. Generate & save API token (2 min)
   โ†“
4. Run: python -m twine upload dist/* (1 min)
   โ†“
5. Wait 5-10 minutes for PyPI indexing
   โ†“
6. Test: pipx install jmeter-mcp
   โ†“
โœ… PUBLISHED!

๐ŸŽ Use Cases

Performance Analysis

# Analyze JMeter test results
pipx run jmeter-mcp

With Claude/Autogen

# Analyze logs with AI assistance
agent.chat("Analyze this JMeter result and find issues")

CI/CD Integration

# In GitHub Actions or Jenkins
pipx run jmeter-mcp < test_results.csv

๐Ÿ“ž Quick Links

Link Purpose
https://pypi.org Python Package Index
https://pypi.org/account/register/ Create PyPI account
https://modelcontextprotocol.io MCP specification
https://microsoft.github.io/autogen/ Autogen documentation

โœจ Next Steps

  1. Review this guide
  2. Update pyproject.toml with your name/email
  3. Verify everything: python verify.py
  4. Create free PyPI account
  5. Publish: python -m twine upload dist/*
  6. Test: pipx install jmeter-mcp

๐Ÿ“œ License

MIT License - Free to use, modify, and distribute


Status: โœ… Production Ready | Created: January 27, 2026

Ready to publish? Update pyproject.toml and run: python -m twine upload dist/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jmeter_mcp_server-2.0.0.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jmeter_mcp_server-2.0.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file jmeter_mcp_server-2.0.0.tar.gz.

File metadata

  • Download URL: jmeter_mcp_server-2.0.0.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for jmeter_mcp_server-2.0.0.tar.gz
Algorithm Hash digest
SHA256 354007098e66a4086ed4c456df72818c9d8e15fd2b1490d13874b6e27165994c
MD5 37f8ed6b33526d6bc52c692f16938613
BLAKE2b-256 2d73787beeed25d564162c6b24e04aa9461c43fef40a1bc5d2a7197c983747f6

See more details on using hashes here.

File details

Details for the file jmeter_mcp_server-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jmeter_mcp_server-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bdf20efbc682a150fc7fdde05e83ae833e0a0c2eba9f55bd28a28a8358f2ff16
MD5 362769e883ceeecdbe4aaecf1a43f153
BLAKE2b-256 1e05515441b06bbd58671f4ae4605ecfd7935fce6b18b42dc007099194f9a606

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page