JMeter Docs
Measured conclusion: Alive, not deep-tested. L2 outcome: not_attempted.
Apache JMeter community documentation, conversion tools, linters, and calculators for AI agents.
| Author | io.github.QAInsights |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Alive, not deep-tested |
| L1 liveness | alive |
| L1 latency | 2880 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"JMeter Docs": {
"url": "https://docs.jmeter.ai/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (16)
search_jmeter_docsSearch the Apache JMeter documentation on docs.jmeter.ai. Returns the most relevant pages with titles, URLs, and snippets. Use for any question about JMeter test plans, components, functions, properties, distributed testing, reports, or troubleshooting.
Parameters:
query(required) — string — Search query, e.g. "how to correlate dynamic values" or "thread group ramp up"
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_jmeter_pageFetch the full markdown text of one docs.jmeter.ai page. Accepts the page URL (e.g. https://docs.jmeter.ai/topics/api-load-testing/) or a bare path (e.g. topics/api-load-testing).
Parameters:
url(required) — string — Page URL or path, e.g. https://docs.jmeter.ai/user-manual/functions/ or user-manual/functions
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
lint_jmx_snippetValidate a JMeter test plan XML string or snippet against best practices and performance anti-patterns, and return a structural inventory with thread groups, sampler/listener/assertion counts, HTTP Defaults/Header/Cookie/CSV presence, plugin classes, and JMeter version.
Parameters:
jmxContent(required) — string — JMX XML string or test plan snippet to analyze (max 1MB).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
calculate_workload_modelCompute required thread concurrency, pacing delays, ramp-up schedules, and JVM heap recommendations based on target RPS/TPS and SLA response times using Little's Law.
Parameters:
targetRps(required) — number — Target throughput in requests / transactions per second (RPS/TPS).avgResponseTimeMs(required) — number — Expected average response time in milliseconds.thinkTimeMs— number — Think time / user pause between requests in milliseconds (default: 0).safetyFactor— number — Headroom safety buffer multiplier (default: 1.25 = 25% buffer).testDurationMinutes— number — Steady-state test duration in minutes (default: 10).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
lookup_jmeter_propertySearch or lookup curated JMeter properties (e.g. "httpclient4.idletimeout", "jmeter.save.saveservice.*", "remote_hosts", "summariser"). Returns category, defaults, and recommendations.
Parameters:
query(required) — string — Property name or keyword to search (e.g. "ssl", "timeout", "jtl", "influxdb").
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_jsr223_recipeFetch production-ready, performant Groovy scripts for JMeter JSR223 samplers, preprocessors, and postprocessors (e.g., JWT parsing & expiration, HMAC-SHA256 signing, dynamic header injection, nested JSON array extraction, custom CSV failure logging).
Parameters:
query— string — Filter by keyword or topic (e.g. "jwt", "hmac", "header", "json", "csv", "logging"). If omitted, returns all recipes.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
lint_groovy_scriptStatically analyze a Groovy script for a JMeter JSR223 element. Flags Thread.sleep, ${var} interpolation, System.out, BeanShell APIs, per-call Random or Pattern.compile, and bindings such as prev, SampleResult, or sampler that the selected element type does not expose; optionally returns ready-to-paste JMX element XML.
Parameters:
code(required) — string — Groovy script source.name— string — testname for the generated JMX element (default: element label).parameters— string — Space-separated parameters available through Parameters and args.elementType— string — (default: JSR223PostProcessor)includeJmxElement— boolean — Also return the JSR223 element XML with compilation caching enabled (default: true).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
lookup_error_playbookGet immediate root causes, OS/JVM config fixes, and remediation steps for common JMeter exceptions (e.g. "BindException", "SocketTimeoutException", "OutOfMemoryError", "NoHttpResponseException", "SSLHandshakeException", "401/403 after recording"). When keywords miss, unmatched text is sent to classifier.dev for zero-shot semantic matching (public keyless calls are not stored).
Parameters:
query(required) — string — Error message, exception name, or status (e.g. "bindexception", "heap", "timeout", "401").classifierApiKey— string — Your own classifier.dev API key for the semantic fallback (anonymous quota is shared); never logged.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
triage_errorsMap a run's distinct failure signatures to docs.jmeter.ai error playbooks. Error text is sent to classifier.dev for zero-shot classification (public keyless calls are not stored; obvious secrets are redacted first). Prefer signatures shaped as "sampler | response code | response message".
Parameters:
errors(required) — array — Distinct error signatures to triage.tier— string — Classifier tier (default: "fast"). "smart" re-asks only signatures below minConfidence (slower).minConfidence— number — Confidence threshold for auto-bucketing a signature to a playbook (default: 0.7).classifierApiKey— string — Your own classifier.dev API key (anonymous quota is shared); never logged.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
lookup_componentFind the dedicated reference page for a JMeter test plan component (e.g. "HTTP Request", "JSON Extractor", "Thread Group") and return its full markdown content with properties, defaults, and related guides.
Parameters:
name(required) — string — Component name, exact or partial (e.g. "HTTP Request", "JSON Extractor", "CSV Data Set").
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
lookup_functionFind the dedicated reference page for a built-in JMeter function (e.g. "__time", "__Random", "__P") and return its full markdown content with syntax, parameters, and examples.
Parameters:
name(required) — string — Function name, with or without leading underscores (e.g. "__time", "time", "__RandomString").
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
plan_distributed_testingGenerate Master-Worker RMI port assignments, user.properties, CLI commands, firewall/security group rules, and Docker Compose manifests for distributed load testing.
Parameters:
workerIps(required) — string — Comma or space-separated list of worker / injector IP addresses (e.g. "10.0.1.10, 10.0.1.11, 10.0.1.12").mode— string — Sample transmission mode (default: "StrippedBatch").disableSsl— boolean — Disable RMI SSL (default: false). Only for isolated labs.serverPort— integer — RMI registry port on workers (default: 1099).environment— string — Target infrastructure environment for firewall/CLI rules (default: "aws").controllerIp— string — Controller / Master node IP or hostname (default: "10.0.0.5").clientRmiLocalPort— integer — Pinned controller callback port (default: 60000).serverRmiLocalPort— integer — Pinned worker engine port (default: 50000).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tune_linux_osGenerate production sysctl.conf, limits.conf, systemd overrides, and Docker/K8s configs tuned for high-concurrency JMeter load testing (fixing ulimit nofile, BindException port exhaustion, somaxconn backlog, and JVM swappiness).
Parameters:
role— string — Machine role: "injector" (JMeter client) or "target_sut" (default: "injector").ramGb— integer — Host machine RAM in GB for TCP buffer sizing (default: 16).concurrency— integer — Target concurrent connections/threads (default: 10000).trafficType— string — Traffic profile (default: "http_churn").targetDistro— string — Linux distro or container target (default: "ubuntu_debian").
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
convert_curl_or_har_to_jmxConvert one or more cURL commands or HAR (HTTP Archive 1.2) JSON traces into a valid, production-ready Apache JMeter .jmx test plan XML with HTTP Request Defaults, Header Managers, Cookie Managers, timeouts, and assertions. Supports GET, POST, PUT, DELETE, PATCH, and RFC 9838 QUERY methods.
Parameters:
input(required) — string — cURL command string (single, multiline, or batch) or HAR 1.2 JSON text (max 1MB).threads— integer — Thread concurrency / virtual users (default: 1).loopCount— integer — Loop count (-1 for infinite, default: 1).testPlanName— string — Name of the JMeter Test Plan (default: "cURL Converted Plan").rampUpSeconds— integer — Ramp-up time in seconds (default: 1).durationSeconds— integer — Test duration in seconds (0 = disabled, default: 0).parameterizeAuth— boolean — Extract Bearer token into ${AUTH_TOKEN} variable (default: true).parameterizeHost— boolean — Extract common host into HTTP Request Defaults and ${BASE_URL} (default: true).includeAssertions— boolean — Add HTTP 200/201/204 Response Code assertions (default: true).filterStaticAssets— boolean — Filter out images/css/fonts when parsing HAR (default: true).includeCookieManager— boolean — Include HTTP Cookie Manager (default: true).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
convert_openapi_to_jmxConvert an OpenAPI 3.0/3.1 or Swagger 2.0 document (JSON or YAML) into a JMeter 5.6.3 .jmx test plan: servers become HTTP Request Defaults/${BASE_URL}, path parameters become User Defined Variables, request bodies are sampled from schemas, bearer/basic/apiKey security becomes ${AUTH_TOKEN}/${BASIC_AUTH}/${API_KEY}, with optional method, tag, and deprecated-operation filters.
Parameters:
input(required) — string — OpenAPI 3.x or Swagger 2.0 document as JSON or YAML text (max 1MB).tags— array — Only include operations with one of these tags ("default" = untagged). Empty = all.methods— array — HTTP methods to include (default: GET, POST, PUT, PATCH, DELETE).threads— integer — Thread concurrency / virtual users (default: 10).loopCount— integer — Loop count (-1 for infinite, default: 1).serverIndex— integer — Zero-based index of the OpenAPI server to use (default: 0).testPlanName— string — Name of the JMeter Test Plan.maxOperations— integer — Maximum number of operations to convert (default: 500).rampUpSeconds— integer — Ramp-up time in seconds (default: 5).durationSeconds— integer — Test duration in seconds (0 = disabled, default: 0).parameterizeHost— boolean — Extract the common host into HTTP Request Defaults and ${BASE_URL} (default: true).useExampleValues— boolean — Substitute example/sample values into path params instead of ${var} variables (default: false).includeAssertions— boolean — Add HTTP 200/201/204 Response Code assertions (default: true).includeDeprecated— boolean — Include deprecated operations (default: false).includeCookieManager— boolean — Include HTTP Cookie Manager (default: true).includeOptionalQueryParams— boolean — Include optional query parameters (default: false).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_correlation_sandboxGenerate a ready-to-run Apache JMeter 5.6.3 .jmx practice test plan (either "solved" with Boundary/JSON/Header extractors or "challenge" with broken hardcoded tokens) targeting the live docs.jmeter.ai/api/sandbox endpoints or local localhost:8787 server.
Parameters:
mode— string — "solved" returns a working correlated .jmx plan; "challenge" returns a broken plan with hardcoded recorded tokens for debugging practice. Default: "solved".flowId— string — Practice flow: "flow1" (CSRF + Cookie), "flow2" (JWT Bearer + Order chain), "flow3" (ASP.NET __VIEWSTATE + Header ticket), or "flow4" (HTTP 429 & JSON Assertion chaos). Default: "flow1".target— string — "edge" targets https://docs.jmeter.ai/api/sandbox (1-thread debug); "local" targets http://localhost:8787/api/sandbox (high-RPS). Default: "edge".
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.