JMeter Docs

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
98%
Calidad de los nombres
90%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,112Tokens (definiciones de herramientas)
~1.7 KBTamaño de respuesta típico
Impacto moderado en la atención (1.65% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

https://docs.jmeter.ai/api/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (10)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_jmeter_docs(query)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Search query, e.g. \"how to correlate dynamic values\" or \"thread group ramp up\""
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_jmeter_page(url)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 1,
      "description": "Page URL or path, e.g. https://docs.jmeter.ai/user-manual/functions/ or user-manual/functions"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪lint_jmx_snippet(jmxContent)

Validate a JMeter test plan XML string or snippet against best practices and performance anti-patterns (e.g., active GUI listeners, legacy BeanShell, uncompiled JSR223, missing timeouts, zero ramp-up, Thread.sleep in scripts).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "jmxContent": {
      "type": "string",
      "minLength": 1,
      "description": "JMX XML string or test plan snippet to analyze."
    }
  },
  "required": [
    "jmxContent"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calculate_workload_model(targetRps, avgResponseTimeMs, thinkTimeMs, testDurationMinutes, safetyFactor)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetRps": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Target throughput in requests / transactions per second (RPS/TPS)."
    },
    "avgResponseTimeMs": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Expected average response time in milliseconds."
    },
    "thinkTimeMs": {
      "description": "Think time / user pause between requests in milliseconds (default: 0).",
      "type": "number",
      "minimum": 0
    },
    "testDurationMinutes": {
      "description": "Steady-state test duration in minutes (default: 10).",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "safetyFactor": {
      "description": "Headroom safety buffer multiplier (default: 1.25 = 25% buffer).",
      "type": "number",
      "minimum": 1
    }
  },
  "required": [
    "targetRps",
    "avgResponseTimeMs"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢lookup_jmeter_property(query)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Property name or keyword to search (e.g. \"ssl\", \"timeout\", \"jtl\", \"influxdb\")."
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_jsr223_recipe(query)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Filter by keyword or topic (e.g. \"jwt\", \"hmac\", \"header\", \"json\", \"csv\", \"logging\"). If omitted, returns all recipes.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢lookup_error_playbook(query)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Error message, exception name, or status (e.g. \"bindexception\", \"heap\", \"timeout\", \"401\")."
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪plan_distributed_testing(controllerIp, workerIps, serverPort, serverRmiLocalPort, clientRmiLocalPort, ...)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "controllerIp": {
      "description": "Controller / Master node IP or hostname (default: \"10.0.0.5\").",
      "type": "string"
    },
    "workerIps": {
      "type": "string",
      "description": "Comma or space-separated list of worker / injector IP addresses (e.g. \"10.0.1.10, 10.0.1.11, 10.0.1.12\")."
    },
    "serverPort": {
      "description": "RMI registry port on workers (default: 1099).",
      "type": "integer",
      "minimum": 1024,
      "maximum": 65535
    },
    "serverRmiLocalPort": {
      "description": "Pinned worker engine port (default: 50000).",
      "type": "integer",
      "minimum": 1024,
      "maximum": 65535
    },
    "clientRmiLocalPort": {
      "description": "Pinned controller callback port (default: 60000).",
      "type": "integer",
      "minimum": 1024,
      "maximum": 65535
    },
    "disableSsl": {
      "description": "Disable RMI SSL (default: false). Only for isolated labs.",
      "type": "boolean"
    },
    "mode": {
      "description": "Sample transmission mode (default: \"StrippedBatch\").",
      "type": "string",
      "enum": [
        "StrippedBatch",
        "Statistical",
        "Batch",
        "Standard"
      ]
    },
    "environment": {
      "description": "Target infrastructure environment for firewall/CLI rules (default: \"aws\").",
      "type": "string",
      "enum": [
        "aws",
        "azure",
        "gcp",
        "linux",
        "docker",
        "k8s"
      ]
    }
  },
  "required": [
    "workerIps"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪tune_linux_os(concurrency, ramGb, trafficType, targetDistro, role)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "concurrency": {
      "description": "Target concurrent connections/threads (default: 10000).",
      "type": "integer",
      "minimum": 100,
      "maximum": 500000
    },
    "ramGb": {
      "description": "Host machine RAM in GB for TCP buffer sizing (default: 16).",
      "type": "integer",
      "minimum": 2,
      "maximum": 512
    },
    "trafficType": {
      "description": "Traffic profile (default: \"http_churn\").",
      "type": "string",
      "enum": [
        "http_churn",
        "http_keepalive",
        "streaming_ws_grpc"
      ]
    },
    "targetDistro": {
      "description": "Linux distro or container target (default: \"ubuntu_debian\").",
      "type": "string",
      "enum": [
        "ubuntu_debian",
        "rhel_rocky",
        "amazon_linux",
        "docker_k8s"
      ]
    },
    "role": {
      "description": "Machine role: \"injector\" (JMeter client) or \"target_sut\" (default: \"injector\").",
      "type": "string",
      "enum": [
        "injector",
        "target_sut"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢convert_curl_or_har_to_jmx(input, testPlanName, threads, rampUpSeconds, durationSeconds, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000000,
      "description": "cURL command string (single, multiline, or batch) or HAR 1.2 JSON text (max 1MB)."
    },
    "testPlanName": {
      "description": "Name of the JMeter Test Plan (default: \"cURL Converted Plan\").",
      "type": "string",
      "maxLength": 200
    },
    "threads": {
      "description": "Thread concurrency / virtual users (default: 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50000
    },
    "rampUpSeconds": {
      "description": "Ramp-up time in seconds (default: 1).",
      "type": "integer",
      "minimum": 0,
      "maximum": 3600
    },
    "durationSeconds": {
      "description": "Test duration in seconds (0 = disabled, default: 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 86400
    },
    "loopCount": {
      "description": "Loop count (-1 for infinite, default: 1).",
      "type": "integer",
      "minimum": -1,
      "maximum": 1000000
    },
    "parameterizeHost": {
      "description": "Extract common host into HTTP Request Defaults and ${BASE_URL} (default: true).",
      "type": "boolean"
    },
    "parameterizeAuth": {
      "description": "Extract Bearer token into ${AUTH_TOKEN} variable (default: true).",
      "type": "boolean"
    },
    "includeAssertions": {
      "description": "Add HTTP 200/201/204 Response Code assertions (default: true).",
      "type": "boolean"
    },
    "includeCookieManager": {
      "description": "Include HTTP Cookie Manager (default: true).",
      "type": "boolean"
    },
    "filterStaticAssets": {
      "description": "Filter out images/css/fonts when parsing HAR (default: true).",
      "type": "boolean"
    }
  },
  "required": [
    "input"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada10 herramientas
verificadoversión no registrada10 herramientas