Repository navigation
Releases: juliodelimas/jmeter-mcp-server
Release list
v0.4.5
Warns about Java/Groovy mismatches, fixes cross-platform detection, and lets thread groups stagger their start. Supersedes 0.4.4, which was never published to npm.
- Warn clients about the Java/Groovy mismatch before JSR223 is used: the Groovy bundled with JMeter 5.6.x fails on very new Java, and each failing script silently kills that virtual user's iteration.
add_jsr223_*results,execute_test_plan, andfind_breaking_pointnow return a warning when the detected Java is newer than the bundled Groovy supports;add_jsr223_*descriptions steer toward${__UUID}/__RandomString/__Randomand state the Java requirement; Groovy is detected underlib/and Homebrew'slibexec/lib. - Make Java/Groovy detection platform-aware for Windows and macOS: build paths with win32/posix rules per target platform, strip quotes/whitespace from
JAVA_HOME/JMETER_HOME, hide the console window when probingjava -versionon Windows, and unit test both platforms from any host. - Add
delaySecondsstart delay to thread groups:ThreadGroup.delaywas hardcoded to empty, so clients couldn't stage thread groups. Now serialized and parsed, exposed on theadd_*thread_grouptools, and cleared duringfind_breaking_pointrounds.
v0.4.3
Adds live progress to get_execution_status.
- While a run is going,
get_execution_statusnow returns samples, error rate, avg/p95 latency, and overall and per-label throughput, computed from the results file so far. Polling clients no longer need to tailstdout.log, whose summary line only refreshes every ~30s.
v0.4.2
Fixes a request mix skew bug and improves breaking point reporting.
- Fix: Nested Loop Controllers were serialized with
continue_forever=false, so they marked themselves done after one pass and were skipped on later iterations of a looping/scheduler thread group, skewing request mix (e.g. 604 logins vs 40 signups instead of the intended ratio). Now emitscontinue_forever=true, matching the JMeter GUI. - Fix: avoid a stack overflow in aggregate metrics on large sample sets.
find_breaking_point: per-label metrics per round,breakingPointRangewith an explicitexactflag, progress and file paths in status.get_execution_status: filter JVM startup noise, addelapsedSeconds.- New
add_once_only_controllertool. - Clarify
add_http_samplerdescription; document workspace and mix behavior.
v0.4.0
Adds capacity search for finding a test plan's breaking point.
find_breaking_point,get_breaking_point_status,stop_breaking_point_search: three async tools that find the concurrency level where a plan stops meeting its SLA.
v0.3.1
Fix: .jmx import was silently resetting a Thread Group's loop count to 1. Docs: clarified that CSV path validation only runs at add_csv_data_set time.
v0.3.0
New (minor): test plan editing tools — remove_element, update_element, rename_element, move_element, reorder_children, set_element_enabled — and .jmx import via import_test_plan. Also fixes a Windows-only spawn EINVAL crash in execute_test_plan.
v0.2.2
Fix: JTL parser was corrupting rows containing multi-line quoted fields.
v0.1.2
Fix: invalid guiclass on the Aggregate Report listener that could produce a .jmx JMeter wouldn't load correctly.
v0.1.1
Docs: expanded the README with the rationale behind the project, and translated the docs to English.
v0.1.0
Initial release: stdio MCP server for building Apache JMeter test plans, running load tests, and reading back execution reports.