Connect AI agents to Apache JMeter docs over MCP: search guides, lint JMX test plans, calculate workload sizing, and plan distributed clusters.
Point Claude Code, Qwen Code, Cursor, or any MCP client at https://docs.jmeter.ai/api/mcp and your agent answers JMeter questions grounded in this documentation, with a source link for every answer. Free, no API key, no signup.
Endpoint: https://docs.jmeter.ai/api/mcp (Streamable HTTP, stateless)
Fair use: 120 requests/min per IP. Exceeding it returns HTTP 429 with a Retry-After header — well-behaved clients back off automatically.
Available tools
Section titled “Available tools”| Tool | Category | Description |
|---|---|---|
search_jmeter_docs | Knowledge | BM25 semantic search across documentation, user manual, and guides |
get_jmeter_page | Knowledge | Fetch full markdown text of any documentation page |
convert_curl_or_har_to_jmx | Generator | Convert cURL commands and HAR files to valid JMX XML (GET, POST, QUERY, etc.) |
lint_jmx_snippet | Diagnostics | Scan JMX XML for anti-patterns (GUI listeners, BeanShell, missing timeouts) |
calculate_workload_model | Calculator | Little’s Law concurrency, pacing, ramp-up schedules, and JVM heap sizing |
plan_distributed_testing | Topology | Pinned RMI ports, user.properties, firewall rules, and Docker manifests |
tune_linux_os | System | Linux sysctl.conf, limits.conf, systemd, and Docker tuning parameters |
lookup_jmeter_property | Reference | Search curated tuning properties with defaults and config locations |
get_jsr223_recipe | Code | Production Groovy recipes (JWT decoding, HMAC signing, dynamic headers) |
lookup_error_playbook | Diagnostics | Instant remediation and OS/JVM fixes for common runtime exceptions |
search_jmeter_docs
Section titled “search_jmeter_docs”Search the full documentation: user manual, topic guides, error playbooks, release notes, and interactive tool pages. Returns ranked pages with URLs and snippets.
{ "query": "correlation dynamic values" }get_jmeter_page
Section titled “get_jmeter_page”Read one page in full markdown. Accepts the complete URL or a bare path like topics/api-load-testing.
{ "url": "topics/api-load-testing" }convert_curl_or_har_to_jmx
Section titled “convert_curl_or_har_to_jmx”Convert one or more cURL commands or HAR (HTTP Archive 1.2) JSON files into a schema-valid, ready-to-run Apache JMeter 5.6.3 .jmx XML test plan. Supports all standard HTTP verbs plus RFC 9838 QUERY method with body payloads, Bearer token extraction, and timeouts.
{ "input": "curl -X QUERY https://api.example.com/v1/search -H 'Content-Type: application/json' -H 'Authorization: Bearer my-jwt' -d '{\"query\":\"loadtest\"}'", "threads": 50, "rampUpSeconds": 10, "parameterizeHost": true, "parameterizeAuth": true}lint_jmx_snippet
Section titled “lint_jmx_snippet”Validate a JMX XML snippet or test plan configuration against performance best practices and anti-patterns (active GUI listeners, legacy BeanShell, uncompiled JSR223, missing timeouts, zero ramp-up).
{ "jmxContent": "<HTTPSamplerProxy testclass=\"HTTPSamplerProxy\" ...>" }calculate_workload_model
Section titled “calculate_workload_model”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.
{ "targetRps": 500, "avgResponseTimeMs": 250, "safetyFactor": 1.25 }plan_distributed_testing
Section titled “plan_distributed_testing”Generate Master-Worker RMI port assignments, user.properties, CLI commands, firewall/security group rules, and Docker Compose manifests for distributed load testing.
{ "controllerIp": "10.0.0.5", "workerIps": "10.0.1.10, 10.0.1.11, 10.0.1.12", "serverPort": 1099, "serverRmiLocalPort": 50000, "clientRmiLocalPort": 60000}tune_linux_os
Section titled “tune_linux_os”Generate Linux kernel (sysctl.conf), file descriptor (limits.conf), systemd, and Docker/K8s configurations tuned for high-concurrency JMeter load testing.
{ "concurrency": 25000, "ramGb": 32, "trafficType": "http_churn", "targetDistro": "ubuntu_debian", "role": "injector"}lookup_jmeter_property
Section titled “lookup_jmeter_property”Search or inspect curated JMeter tuning properties (HTTP client pool, distributed testing RMI ports, InfluxDB backend listener, result formatting, engine settings).
{ "query": "httpclient4.idletimeout" }get_jsr223_recipe
Section titled “get_jsr223_recipe”Fetch production-ready, performant Groovy scripts for JMeter JSR223 elements (JWT decoding & expiry, HMAC-SHA256 signing, dynamic header injection, nested JSON parsing, thread-safe CSV logging).
{ "query": "jwt" }lookup_error_playbook
Section titled “lookup_error_playbook”Get instant root cause analysis, OS/JVM tuning parameters, and step-by-step remediation for common JMeter and JVM exceptions (BindException, SocketTimeoutException, OutOfMemoryError, NoHttpResponseException, etc.).
{ "query": "bindexception" }Connect your agent
Section titled “Connect your agent”Claude Code
Section titled “Claude Code”claude mcp add jmeter-docs https://docs.jmeter.ai/api/mcp --transport http --scope user--scope user registers the server for all your projects, no matter which folder you run the command from. Restart Claude Code after adding it, then verify with /mcp.
Qwen Code, Cursor, and other MCP clients
Section titled “Qwen Code, Cursor, and other MCP clients”Add this to your MCP configuration file:
{ "mcpServers": { "jmeter-docs": { "url": "https://docs.jmeter.ai/api/mcp" } }}Verify with curl
Section titled “Verify with curl”curl -X POST https://docs.jmeter.ai/api/mcp \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2025-06-18", "capabilities": {}, "clientInfo": { "name": "curl", "version": "1.0.0" } } }'Why connect the docs?
Section titled “Why connect the docs?”- Grounded answers. Responses come from the actual JMeter documentation, not from stale model memory.
- Verifiable sources. Every result carries the docs.jmeter.ai URL so you can check the advice.
- Always current. The index rebuilds when the docs sync from apache/jmeter, so agents see new releases automatically.
- Zero cost. Hosted on the community docs site with no rate-limited API key to manage.
Prefer a chat interface? Use the Ask AI button on any page, or start with the JMeter for Beginners guide.