About JMeter Docs
JMeter Docs is a community-maintained Apache JMeter documentation site for users and contributors. It adds searchable documentation, conversion tools, and Markdown and text exports for LLM use.
Key features
- 01Full-text documentation search
- 02Dark mode with system preference
- 03Organized manuals and references
- 04Markdown page versions
- 05LLM-friendly text exports
- 06Documentation conversion tools
Use cases
- 01Look up JMeter usage and reference material
- 02Provide documentation in Markdown to agents
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://docs.jmeter.ai/api/mcpclaude mcp add --transport http qainsights-jmeter-docs https://docs.jmeter.ai/api/mcp{"mcpServers":{"qainsights-jmeter-docs":{"type":"http","url":"https://docs.jmeter.ai/api/mcp"}}}Open in Cursor{"servers":{"qainsights-jmeter-docs":{"type":"http","url":"https://docs.jmeter.ai/api/mcp"}}}Open in VS Code{"mcpServers":{"qainsights-jmeter-docs":{"type":"http","url":"https://docs.jmeter.ai/api/mcp"}}}{"mcpServers":{"qainsights-jmeter-docs":{"serverUrl":"https://docs.jmeter.ai/api/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
15| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Search query, e.g. "how to correlate dynamic values" or "thread group ramp up" |
Details
From the project README
JMeter Docs
Community-maintained documentation for Apache JMeter built with Astro + Starlight
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
npm install
Development
npm run dev
Build
npm run build
Preview Production Build
npm run preview
Scripts
| Script | Description |
|---|---|
npm run dev | Start dev server |
npm run build | Generate llms-full.txt then build the site |
npm run preview | Preview the production build locally |
npm test | Run unit tests |
npm run test:watch | Run tests in watch mode |
npm run test:coverage | Run tests with coverage report |
npm run convert | Convert upstream JMeter docs to Starlight format |
npm run generate-llms-full | Generate 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:
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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes using Conventional Commits
- Push to the branch (
git push origin feature/amazing-feature) - 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.mjsso the change applies to all generated pages and survives syncs. - Or upstream the change to
apache/jmeterxdocs/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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.