JMeter Docs

io.github.QAInsightsPublished by GitHub account QAInsightsv1.4.0Updated Oct 24, 2026

Apache JMeter community documentation, conversion tools, linters, and calculators for AI agents.

VerifiedStreamable HTTPWeb executableKnowledge & MemoryDeveloper ToolsData & Analytics

Overview

AI-generated overview

JMeter community docs and tooling server that lets an assistant look up JMeter documentation, lint test plans, size workloads and convert inputs to JMX.

What you can do
Search and read JMeter documentation pages on docs.jmeter.ai, including component, function and property references. Lint JMX test plan snippets and Groovy JSR223 scripts for structural issues and performance anti-patterns. Calculate thread concurrency, pacing, ramp-up and JVM heap from target RPS/TPS and SLA response times. Convert cURL commands, HAR traces or OpenAPI/Swagger documents into JMeter .jmx test plans. Generate distributed testing port and property setups, Linux OS tuning configs, and sandbox practice plans for correlation. Map error signatures to documented error playbooks and return Groovy recipe scripts.
When to use it
Use it when writing, debugging or tuning JMeter performance test plans, or converting cURL, HAR or OpenAPI input into JMX. Also useful for looking up JMeter properties, functions, components and common error fixes.
Requirements
Remote endpoint; no package install or API key. Some tools send error text to an external classification service.
Before you install
triage_errors and error-playbook lookups send unmatched error text to a third-party classification service, stated to redact obvious secrets and not store calls. Generated configs and scripts should be reviewed before use in production. Independent community resource, not affiliated with the Apache Software Foundation. Some tool outputs include URLs and command examples.

Installation

In SourceWeft

  1. Open JMeter Docs in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.QAInsights%2Fjmeter-docs/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "jmeter-docs": {
      "type": "http",
      "url": "https://docs.jmeter.ai/api/mcp"
    }
  }
}

README

[JMeter Docs]

JMeter Docs

Community-maintained documentation for Apache JMeter built with Astro + Starlight

docs.jmeter.ai

[CI] [smithery badge] [License] [Astro]


Disclaimer: This is an independent community resource and is not affiliated with the Apache Software Foundation.

Features

  • Full-text search powered by Pagefind
  • Dark mode with system preference detection
  • Organized sidebar: User Manual, Reference, Extending, Legal
  • LLM-friendly text exports (llms.txt / llms-full.txt)
  • Custom landing page with terminal hero, metrics strip, and bento grid
  • SEO optimized with structured data (FAQ, HowTo schemas)

Getting Started

Prerequisites

  • Node.js 18+
  • npm

Installation

bash
npm install

Development

bash
npm run dev

Build

bash
npm run build

Preview Production Build

bash
npm run preview

Scripts

ScriptDescription
npm run devStart dev server
npm run buildGenerate llms-full.txt then build the site
npm run previewPreview the production build locally
npm testRun unit tests
npm run test:watchRun tests in watch mode
npm run test:coverageRun tests with coverage report
npm run convertConvert upstream JMeter docs to Starlight format
npm run generate-llms-fullGenerate LLM-friendly text export

Markdown for AI agents

Every prerendered docs page (everything except the site homepage) has a Markdown twin: append index.md to a page URL (e.g. https://docs.jmeter.ai/user-manual/best-practices/index.md), or request the page URL with an Accept: text/markdown header and the CDN rewrites the request to the .md file. Browsers are unaffected — the rule only fires when Accept lacks text/html.

The index.md files are generated at build time by scripts/generate-page-markdown.mjs (part of pnpm build), served with Content-Type: text/markdown via public/_headers, and the Accept: text/markdown mapping is a Cloudflare zone URL Rewrite Rule provisioned once with:

bash
pnpm setup-markdown-rule   # needs CLOUDFLARE_API_TOKEN + CLOUDFLARE_ZONE_ID

The index.md files are produced by the build script — the production build command must run pnpm run build (not a bare astro build), otherwise the Markdown links 404; the generator exits non-zero if it writes nothing.

See scripts/setup-markdown-rule.mjs and public/llms.txt for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes using Conventional Commits
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Important: MDX files are generated

The src/content/docs/**/*.mdx files are generated artifacts produced by tools/convert.mjs from the upstream Apache JMeter xdocs/ XML. A nightly workflow (.github/workflows/sync-upstream.yml) regenerates them and opens a sync PR.

Direct edits to MDX files will be overwritten by the next sync run. To make a lasting change to documentation content:

  • Prefer fixing the converter in tools/convert.mjs so the change applies to all generated pages and survives syncs.
  • Or upstream the change to apache/jmeter xdocs/ so it flows down naturally.
  • Or open an issue describing the desired change so maintainers can decide the best path.

Changes to non-generated files (components, styles, tools, tests, config) are not affected by the sync and can be edited directly.

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Apache JMeter is a trademark of The Apache Software Foundation. This project is not endorsed by or affiliated with the ASF.

Source: README.md at commit 647d76a

Tools

16

search_jmeter_docs

Search JMeter documentation

Search 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.

Parametersqueryrequired

get_jmeter_page

Read a JMeter documentation page

Fetch 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).

Parametersurlrequired

lint_jmx_snippet

Lint JMX Test Plan Snippet

Validate 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.

ParametersjmxContentrequired

calculate_workload_model

Calculate Workload Model & Little's Law Sizing

Compute 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.

ParameterstargetRpsrequiredthinkTimeMssafetyFactoravgResponseTimeMsrequiredtestDurationMinutes

lookup_jmeter_property

Lookup JMeter Tuning Property

Search or lookup curated JMeter properties (e.g. "httpclient4.idletimeout", "jmeter.save.saveservice.*", "remote_hosts", "summariser"). Returns category, defaults, and recommendations.

Parametersqueryrequired

get_jsr223_recipe

Get Verified JSR223 Groovy Recipe

Fetch 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).

Parametersquery

lint_groovy_script

Lint JMeter Groovy (JSR223) Script

Statically 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.

ParameterscoderequirednameparameterselementTypeincludeJmxElement

lookup_error_playbook

Lookup Error & Exception Diagnostic Playbook

Get 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).

ParametersqueryrequiredclassifierApiKey

triage_errors

Triage a Batch of JMeter Error Signatures

Map 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".

ParameterstiererrorsrequiredminConfidenceclassifierApiKey

lookup_component

Lookup JMeter Component Reference Page

Find 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.

Parametersnamerequired

lookup_function

Lookup JMeter Function Reference Page

Find 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.

Parametersnamerequired

plan_distributed_testing

Plan Distributed Testing Ports & Firewall Rules

Generate Master-Worker RMI port assignments, user.properties, CLI commands, firewall/security group rules, and Docker Compose manifests for distributed load testing.

ParametersmodeworkerIpsrequireddisableSslserverPortenvironmentcontrollerIpclientRmiLocalPortserverRmiLocalPort

tune_linux_os

Linux Kernel & OS Tuning for Load Injectors

Generate 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).

ParametersroleramGbconcurrencytrafficTypetargetDistro

convert_curl_or_har_to_jmx

Convert cURL or HAR to JMeter JMX Test Plan

Convert 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.

ParametersinputrequiredthreadsloopCounttestPlanNamerampUpSecondsdurationSecondsparameterizeAuthparameterizeHostincludeAssertionsfilterStaticAssetsincludeCookieManager

convert_openapi_to_jmx

Convert OpenAPI / Swagger to JMeter JMX Test Plan

Convert 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.

ParameterstagsinputrequiredmethodsthreadsloopCountserverIndextestPlanNamemaxOperationsrampUpSecondsdurationSecondsparameterizeHostuseExampleValues+4 more

get_correlation_sandbox

Get Correlation & Practice Sandbox Test Plan

Generate 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.

ParametersmodeflowIdtarget

Version history

1
  1. v1.4.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts