Goku CLI
A Rust HTTP load-testing tool with an MCP server: an agent runs a benchmark and gets latency percentiles and status breakdowns.
- 148 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The tool generates network load against a given address, and an agent can start it without your oversight.
- The `--insecure` flag disables TLS checks and portal tokens are stored in `~/.config/goku/credentials.json`.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/gokuDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The tool generates network load against a given address, and an agent can start it without your oversight.
- The `--insecure` flag disables TLS checks and portal tokens are stored in `~/.config/goku/credentials.json`.
This is third-party code. Review the repository files before installing.
What it does
Goku is a Rust HTTP load-testing tool inspired by Drill and Vegeta. It sets client count, duration or request count, a requests-per-second cap, multi-step scenarios, templated variables in URLs and bodies, and Bearer or Basic authentication. Output is text, JSON or CSV, text mode includes a latency histogram, and `compare` diffs two runs. A separate MCP server, `goku-mcp`, gives an agent one tool, `run_benchmark`: target, client count, requests or duration, headers, body, HTTP/2, ramp-up, timeout, rate limit. A full report comes back with percentiles, throughput and a status code breakdown. Results can be sent to the Observability Insight portal.
Who it is for. Developers and testers who check API performance and want to run benchmarks from a conversation with an agent.
Good fit when
- Before release, p95 and p99 latency of an endpoint are measured under load.
- An agent runs a multi-request scenario with `{{uuid}}` and `{{seq}}` substitution.
- Two runs before and after a change are compared with `compare`.
- In CI, run results go to the portal with branch and commit labels.
Not a fit when
- Load is planned against someone else's service without the owner's permission.
- The test targets a protocol other than HTTP: the docs list HTTP/1.1 and HTTP/2.
- You need browser-level interface metrics.
Example request
Run a load test against the staging host: 50 clients, 30 seconds, HTTP/2, and report p95 and p99 latency.Limitations
The `install.sh` installer is downloaded from the repository and run through `sh`: if you are cautious, install via Cargo or read the script first. Aim load only at services you are allowed to test, and do not let an agent pick the target without your confirmation. The MCP server is installed separately as `goku-mcp` and exposes one tool. The `insecure` parameter disables TLS certificate checks. Sending results to Observability Insight requires `goku login` or a `GOKU_OI_TOKEN` token in CI; query strings and credentials are stripped from URLs before sending.
How to disable. Remove the MCP server from the client settings and run `cargo uninstall goku-mcp goku-bench`. Clear the saved login with `goku logout` and revoke the token in the portal settings.
FAQ
What does the MCP server expose?
One tool, `run_benchmark`, with `target`, `clients`, `requests` or `duration_secs`, plus optional headers, body, `http2` and `rps`.
How do I compare two runs?
Use `goku compare <BASELINE> <CANDIDATE>` on two JSON result files.
How do I cap request rate?
Use the `--rps` flag in the CLI or the `rps` parameter of the MCP tool.
How do I report results from CI?
Set the `GOKU_OI_TOKEN` token and the `--report` flag; the README has a sample GitHub Actions step.
Can I accept a self-signed certificate?
Yes, the `--insecure` flag or the `insecure` MCP parameter. TLS verification is disabled, so avoid it on production addresses.
Discussion
No questions or reviews yet.
Related
CLI toolsAn MCP server from the AWS load testing solution: an agent reads scenarios and runs and starts JMeter, K6 and Locust tests
MCP server: an agent sends GET, POST, PUT, DELETE and PATCH to your REST API and gets back status, headers and body
kogiQA MCP gives an agent a browser that finds page elements without selectors, for debugging web apps and writing e2e tests
An MCP server that spins up several browser agents to test a site for broken links, UI bugs and accessibility issues
MCP server, agent and skills for end-to-end UI tests where the agent drives the computer through vision on cloud machines
The CLI sends bounded HTTP load to your service and gives agents response-time and request-success measurements.
README in short
The README gathers features, three ways to install the CLI, the Observability Insight portal integration, login and CI use. A separate section describes the MCP server and the `run_benchmark` parameters. A flag and subcommand reference closes the file.