k6-loadtest-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| K6_BIN | No | Full path to the k6 executable. If not set, 'k6' is used from PATH. | k6 |
| PERF_AGENT_HOME | No | Override the directory where config and run artifacts are stored. Defaults to ~/.perf-agent. | ~/.perf-agent |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_k6_scriptA | Turns a structured test plan (base URL, weighted request mix, load profile, thresholds) into a runnable k6 JavaScript script. Deterministic templating, not an LLM call -- reviewable before running. Returns a runDir that all later steps (smoke_test_script, run_load_test, get_test_metrics) take as input. |
| smoke_test_scriptA | Runs the script for 1 VU / 1 iteration to catch syntax or runtime errors fast, before committing to a full load test. Always call this before run_load_test. |
| run_load_testA | Executes the load test at the VUs/duration/stages baked into the generated script by generate_k6_script. Only runs against hosts listed in perf-agent.config.json's allowedHosts -- add a host there yourself (the tools won't do it for you) once you've confirmed you're authorized to load-test it. Can take as long as the test's own duration/stages; call smoke_test_script first. |
| get_test_metricsA | Parses the k6 summary JSON into deterministic structured metrics: overall + per-endpoint p50/p90/p95/p99 latency, error rate, RPS, and threshold pass/fail. Use this data (not raw k6 console output) to write the human-readable performance summary -- the numbers here are computed in code, not guessed. |
| run_full_testA | Convenience tool that chains generate_k6_script -> smoke_test_script -> run_load_test -> get_test_metrics. Use the granular tools instead when you want to inspect/adjust the script between steps, or re-run the same script with different load without regenerating it. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a clearly distinct role in the k6 testing pipeline: generate script, smoke test, full load test, parse metrics, and a convenience orchestrator. No two tools overlap in purpose, and the descriptions emphasize their unique inputs and outputs.
All tool names follow a consistent snake_case verb_noun pattern: generate_k6_script, smoke_test_script, run_load_test, get_test_metrics, run_full_test. The verbs clearly indicate actions, and nouns identify the target, making the set predictable.
Five tools is a well-scoped size for a load-testing server. Each tool maps to a necessary step in the workflow, and the convenience wrapper avoids redundancy without bloating the surface.
The core load-testing lifecycle is covered: script generation, smoke testing, full execution, metrics retrieval, and an all-in-one runner. Minor gaps exist around script editing or cleanup, but the provided workflow is complete enough for typical use.