Jmeter MCP Server by juliodelimas

by juliodelimas• 94•• Scanned•Claim this listing•Request removal

Stdio MCP server to build, run and read reports for JMeter test plans

Jmeter MCP Server is an open-source mcp server by juliodelimas, written mainly in TypeScript, with 94 GitHub stars and the MIT license. Its code was last updated Sep 22, 2026. The latest npm release is jmeter-mcp-server 0.4.5, published Sep 21, 2026, with 64 downloads last week.

Scan summary: scanned Nov 5, 2026 at commit 6a9192b. Seen able to run shell commands. Scan policy

How to install Jmeter MCP Server

Built from the start command in the project's README: npx -y jmeter-mcp-server. Check the README for required keys or settings.

Claude Code · Terminal
claude mcp add jmeter-mcp-server -- npx -y jmeter-mcp-server
Claude Desktop · claude_desktop_config.json
{
  "mcpServers": {
    "jmeter-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "jmeter-mcp-server"
      ]
    }
  }
}
Cursor · .cursor/mcp.json
{
  "mcpServers": {
    "jmeter-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "jmeter-mcp-server"
      ]
    }
  }
}
VS Code · Terminal
code --add-mcp '{"name":"jmeter-mcp-server","command":"npx","args":["-y","jmeter-mcp-server"]}'

What Jmeter MCP Server can touch

  • Run shell commandsListed as a tool: execute_test_plan
  • Run dynamic codeNot seen in this scan
  • Read or write filesNot seen in this scan
  • Read environment and secretsNot seen in this scan
  • Control a web browserNot seen in this scan
  • Connect to databasesNot seen in this scan
  • Read or send messagesNot seen in this scan
  • Touch money or tradingNot seen in this scan
  • Connect to the internetNo connections seen while running

"Not seen" means our checks did not find it, and the tool may still do it. Covers commit 6a9192b, Nov 5, 2026. See the scan policy.

Before you install Jmeter MCP Server

AgenticMart scanned Jmeter MCP Server on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What it can access

  • An MCP server is a program your AI app starts and talks to. A local one runs with your user's permissions: it can see the files, environment variables and network your account can.

Before you install

  1. Pin the version you reviewed instead of always installing the latest release.
  2. Read the tool list or scripts before the first run, and keep approval prompts on for actions that write, send or delete.
  • Maintained by juliodelimas on GitHub, 94 stars and 17 forks. Popularity is not proof of safety.
  • Last code change: Sep 22, 2026.
  • Open-source license: MIT.

Tools Jmeter MCP Server exposes (56)

Listed by the server itself during our scan of commit 6a9192b.

  • create_test_plan

    Create a new JMeter test plan. Returns the planId and the id of its root TestPlan node, which you'll use as parentId for the first thread group.

  • list_test_plans

    List all test plans in the workspace.

  • get_test_plan

    Get the full element tree of a test plan, including every node's id (needed as parentId for add_* tools) and type.

  • add_thread_group

    Add a Thread Group (virtual users) under the given parent node (usually the TestPlan root).

  • add_http_sampler

    Add an HTTP Request sampler under the given parent node (usually a Thread Group). To inherit protocol, domain or port from an HTTP Request Defaults config element in scope (add_http_request_defaults), leave that argument out of the call - do not pass an empty string or a placeholder, because those f

  • add_json_extractor

    Add a JSON Extractor post-processor under an HTTP sampler, to save a value from the JSON response into a variable.

  • add_header_manager

    Add an HTTP Header Manager under an HTTP sampler (or a Thread Group, to apply to every sampler in it).

  • add_response_assertion

    Add a Response Assertion under an HTTP sampler, to fail the sample if the response doesn't match.

  • add_aggregate_report_listener

    Add an Aggregate Report listener under the given parent (Thread Group or TestPlan). Its output is what get_execution_report reads after a run.

  • add_summary_report_listener

    Add a Summary Report listener under the given parent (Thread Group or TestPlan). Its output is what get_execution_report reads after a run.

  • add_csv_data_set

    Add a CSV Data Set Config under the given parent (a Thread Group to feed every sampler in it, or a single sampler to scope it there). Each thread reads one row per iteration, exposing each column as a JMeter variable. The filename must be an absolute path readable on the machine that will run the te

  • add_user_defined_variables

    Add a User Defined Variables config element under the given parent (TestPlan root for global variables, or a Thread Group to scope them there). Values are set once, before the test starts.

  • add_constant_timer

    Add a Constant Timer under the given parent to pace requests. Under a Thread Group it delays every sampler in it; under a single sampler it delays only that one, before it fires.

  • add_regex_extractor

    Add a Regular Expression Extractor under an HTTP sampler, to save a value from its response (body, headers, etc.) into a variable using a regex capture group. Use this instead of add_json_extractor for non-JSON (HTML/XML/plain-text) responses.

  • add_transaction_controller

    Add a Transaction Controller under the given parent (usually a Thread Group). Samplers added under it (as its children) are timed and reported as a single named transaction instead of separately.

  • add_loop_controller

    Add a Loop Controller under the given parent (usually a Thread Group). Samplers added under it (as its children) repeat for the given number of loops each time the controller is reached.

  • add_if_controller

    Add an If Controller under the given parent (usually a Thread Group). Samplers added under it (as its children) only run when the condition evaluates truthy. condition is evaluated as a real JavaScript (Rhino) expression after JMeter substitutes any ${var} references, so comparisons work directly, e

  • add_jdbc_connection_configuration

    Add a JDBC Connection Configuration (pooled datasource) under the given parent, usually the Thread Group or TestPlan root. A JDBC Request references this element's dataSource name.

  • add_jdbc_request

    Add a JDBC Request sampler under the given parent (usually a Thread Group). dataSource must match a JDBC Connection Configuration's dataSource name added elsewhere in the same plan.

  • add_jsr223_sampler

    Add a JSR223 Sampler under the given parent (usually a Thread Group), running a script as the sample itself. Scripts default to Groovy, which only works when JMeter runs on a compatible Java (17 is the safe choice; the Groovy bundled with JMeter 5.6.x fails on very new Java such as 25+, killing each

  • add_ftp_request

    Add an FTP Request sampler under the given parent (usually a Thread Group).

  • add_tcp_sampler

    Add a TCP Sampler under the given parent (usually a Thread Group), opening a raw TCP connection and sending request data.

  • add_http_request_defaults

    Add HTTP Request Defaults under the given parent (usually a Thread Group or TestPlan root). Any field left blank on a later add_http_sampler call under the same scope falls back to these values.

  • add_cookie_manager

    Add an HTTP Cookie Manager under the given parent (usually a Thread Group), so samplers in scope share cookies automatically.

  • add_while_controller

    Add a While Controller under the given parent (usually a Thread Group). Samplers added under it (as its children) repeat while condition holds. Leave condition blank (or 'LAST') to loop while the last sampler in the loop succeeded; otherwise it's a JMeter expression re-evaluated each pass, looping u

  • add_random_controller

    Add a Random Controller under the given parent (usually a Thread Group). On each pass it runs exactly one randomly chosen child (added under it) instead of all of them.

  • add_interleave_controller

    Add an Interleave Controller under the given parent (usually a Thread Group). Runs one child (added under it) per pass, alternating through them in order instead of running them all.

  • add_once_only_controller

    Add a Once Only Controller under the given parent (usually a Thread Group). Its children run only on each thread's first iteration and are skipped on every later one - use it for a login before a looping scenario (or in a Thread Group that loops forever / runs on a scheduler, as find_breaking_point

  • add_setup_thread_group

    Add a setUp Thread Group under the TestPlan root. Runs once, before all normal Thread Groups start, regardless of where it sits in the tree - typically used for one-time setup (e.g. login, seeding data).

  • add_teardown_thread_group

    Add a tearDown Thread Group under the TestPlan root. Runs once, after all normal Thread Groups finish, regardless of where it sits in the tree - typically used for one-time cleanup.

  • add_xpath_extractor

    Add an XPath Extractor under an HTTP sampler, to save a value from an XML/HTML response into a variable using an XPath expression. Set tolerant=true for real-world (non-strict) HTML.

  • add_jsr223_preprocessor

    Add a JSR223 PreProcessor under an HTTP sampler (or a Thread Group, to apply to every sampler in it), running a script before the sample. Scripts default to Groovy, which only works when JMeter runs on a compatible Java (17 is the safe choice; the Groovy bundled with JMeter 5.6.x fails on very new J

  • add_jsr223_postprocessor

    Add a JSR223 PostProcessor under an HTTP sampler (or a Thread Group, to apply to every sampler in it), running a script after the sample. Scripts default to Groovy, which only works when JMeter runs on a compatible Java (17 is the safe choice; the Groovy bundled with JMeter 5.6.x fails on very new J

  • add_user_parameters

    Add a User Parameters pre-processor under a Thread Group, assigning each thread a different set of variable values (cycled by thread number), set once at thread start unless perIteration is true. Different from add_user_defined_variables, which sets the same values for every thread.

  • add_json_assertion

    Add a JSON Assertion under an HTTP sampler, to validate a JSONPath expression exists (and optionally matches a value) in the response.

  • add_duration_assertion

    Add a Duration Assertion under an HTTP sampler, failing the sample if it takes longer than maxDurationMs.

  • add_size_assertion

    Add a Size Assertion under an HTTP sampler, comparing a response field's byte size against a threshold.

  • add_uniform_random_timer

    Add a Uniform Random Timer under the given parent to pace requests with a randomized delay: delayMs +/- a random amount up to rangeMs, picked fresh before each sample.

  • add_constant_throughput_timer

    Add a Constant Throughput Timer under the given parent, pacing requests to hit a target rate rather than a fixed per-sample delay.

  • add_view_results_tree_listener

    Add a View Results Tree listener under the given parent (Thread Group or TestPlan). Its output is readable via get_execution_report when there's no Aggregate/Summary Report listener present. NOTE: captureFullData currently has no effect - execute_test_plan always runs JMeter with CSV output, and JMe

Jmeter MCP Server is an open-source mcp server by juliodelimas, written mainly in TypeScript. Stdio MCP server to build, run and read reports for JMeter test plans

At a glance

Stars
94
Forks
17
Language
TypeScript
License
MIT
Created
Aug 2026
Last update
Sep 22, 2026
Type
MCP Server
Price
Free

Questions about Jmeter MCP Server

What is Jmeter MCP Server?

Stdio MCP server to build, run and read reports for JMeter test plans

Who maintains Jmeter MCP Server?

Jmeter MCP Server is maintained by juliodelimas on GitHub (juliodelimas/jmeter-mcp-server). AgenticMart lists it from public repository data.

Is Jmeter MCP Server safe to use?

AgenticMart scanned Jmeter MCP Server on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What license does Jmeter MCP Server use?

It is published under the MIT license.

Jmeter MCP Server alternatives

View more →

Similar mcp servers in Security & Testing, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Jmeter MCP Server (this page)
juliodelimas
94MITSep 22, 2026Scanned, no flagged issues
Hexstrike AI
0x4m4
13kMITAug 3, 2026Scanned, no flagged issues
Viper
FunnyWolf
5.3kNone foundMay 31, 2026Not scanned yet
Open Ontologies
fabio-rovai
2.7kMITOct 30, 2026Scanned, no flagged issues
Qu1cksc0pe
CYB3RMX
2.1kGPL-3.0Sep 18, 2026Scanned, no flagged issues
Cve MCP Server
mukul975
1.7kApache-2.0Oct 1, 2026Scanned, no flagged issues