Skip to main content
Glama
perfsage

perfsage-jmeter-mcp

by perfsage

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
diagnose_environmentA

Read-only environment diagnosis for Java, JMeter, plugins, and Docker.

Use before planning work when you only need readiness details. Returns an EnvironmentReport with ready/java/jmeter/plugins fields.

ensure_environmentA

Diagnose and heal the local JMeter runtime (JDK, JMeter, plugins, Docker).

Call when the host may lack a usable runtime. Returns a ProvisionResult describing actions taken and the resulting execution_mode. Set force_docker=true to prefer Docker when docker_available (even if native is ready).

import_trafficA

Import HAR, OpenAPI, or Postman traffic into a normalised Flow.

Use at the start of scripting. kind=auto detects by extension/content. Returns flow JSON plus request_count. Response headers/bodies are omitted unless include_response_detail=true.

correlate_flowA

Detect dynamic values and rewrite the flow with JMeter variables.

Use after import_traffic. Accepts a flow object or a persisted flow_path. Returns the correlation report, rewritten flow, and a new flow_path.

generate_jmxA

Build an Apache JMeter 5.6.3 plan from a correlated flow and workload.

Use after correlate_flow. Accepts a flow object or a persisted flow_path. Returns the written path and inline jmx (or jmx_truncated when the XML exceeds 200_000 characters).

edit_jmxA

Apply structured edits to an existing JMX plan and write a new file.

Use after generate_jmx (or with a hand-written single-ThreadGroup plan). The LLM translates natural-language asks into operations such as set_workload (fixed/ramp/stress/burst), change_method, wrap_loop, wrap_while, and add_jsr223. Writes a new plan by default; set overwrite=true only to replace plan_path. Returns path, summary, ops_applied, and next_action.

run_testA

Execute a JMX plan with always-on guardrails and streamable JTL output.

Calls ensure_environment first. Returns RunResult fields, run_id, and the provisioning block. Loose guardrails require acknowledged_risk (alias i_understand_the_risk). Optional run_id must match [A-Za-z0-9._-]{1,64}; collisions require overwrite=true. force_docker prefers Docker when available.

discover_workloadA

Find a capacity knee by stepping concurrency via -Jperfsage.threads.

Calls ensure_environment first. Each step reuses the same plan and overrides thread count/duration through JMeter properties. Returns DiscoveryOutcome plus provisioning and a recorded run_id. Optional run_id must match [A-Za-z0-9._-]{1,64}; collisions require overwrite=true.

analyze_resultsA

Summarise a JTL and rank bottleneck findings at p95/p99.

Use after a completed run. Returns summary metrics and findings.

evaluate_sloA

Gate JTL results against an slo.properties file.

Use for CI pass/fail decisions. Returns an SLOVerdict with compliance_pct.

correlate_with_signalpilotA

Merge Kubernetes RCA from SignalPilot for a recorded run window.

Use when client-side latency needs server-side explanation. Returns a SignalPilotReport (available=False when the CLI is missing).

compile_reportA

Compile Markdown/HTML/JSON artifacts with a verdict-led summary.

Use after analyze/evaluate. Optionally evaluates SLOs, SignalPilot, and Reveal. For discovery runs, set use_knee_results=true to analyze/SLO the knee step JTL when a knee exists (default remains the last step for compatibility). Returns verdict, written paths, and the report dict.

Prompts

Interactive templates invoked by user choice

NameDescription
setup-perf-environmentGuide the agent through diagnosing and healing the JMeter runtime.
record-and-scriptGuide import → correlate → generate_jmx for a recorded flow.
find-capacityGuide adaptive workload discovery to a recommended sustained profile.
explain-the-regressionGuide results analysis, SLO gating, SignalPilot, and report compilation.

Resources

Contextual data attached and managed by the client

NameDescription
env_statusCurrent environment readiness report as JSON.
runs_resourceNewest-first list of recorded runs as JSON.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/perfsage/perfsage-jmeter-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server