Benchmarkr brings MCP-native HTTP benchmarking to AI coding agents
Kenneth Mckrola released Benchmarkr, a single Go binary that runs concurrent HTTP benchmarks with live terminal metrics, persists results to JSON/Postgres/MySQL, and ships an MCP server so agents like Claude Code and Cursor can benchmark endpoints directly.
Score breakdown
Developers using MCP-compatible agents like Claude Code or Cursor can now trigger structured HTTP load tests and read results programmatically — without shelling out or parsing free-form text — by wiring in the `benchmarkr-mcp` server.
- 01Benchmarkr is a single Go binary for concurrent HTTP benchmarking with live P50/P95 terminal metrics.
- 02Existing tools cited as lacking agent integration: `hey`, `ab`, `wrk`, `bombardier`, and `k6`.
- 03Results can be persisted to JSON files, Postgres, or MySQL.
Kenneth Mckrola released Benchmarkr, a single Go binary that aims to modernize HTTP load testing for the agentic development era. The author argues that existing tools — `hey`, `ab`, `wrk`, `bombardier`, and `k6` — were built before AI coding agents existed and share three core limitations: no live feedback during a run, no structured persistence of results, and no native integration path for agents that would otherwise need to shell out and parse free-form text output.
Second, results are persisted to JSON files, Postgres, or MySQL — configured once and reused across runs.
Benchmarkr addresses these gaps with three core capabilities. First, it runs concurrent HTTP benchmarks with live terminal metrics including requests, errors, and P50/P95 latency, followed by a final summary covering throughput, latency percentiles, status-code breakdown, response sizes, and cache hit/miss counts. The default invocation fires a single worker for 10 seconds, while flags like `--concurrency`, `--duration`, `--rate-limit`, and `--cache-mode bypass` enable more advanced scenarios including POST requests with custom headers and bodies. Second, results are persisted to JSON files, Postgres, or MySQL — configured once and reused across runs. Third, a companion `benchmarkr-mcp` binary exposes four MCP tools (`run_benchmark`, `get_benchmark_status`, `stop_benchmark`, `list_endpoints`) that Claude Code, Cursor, and other MCP-compatible agents can call directly, with configuration via `CLAUDE.md` or `.cursorrules` to steer agents toward the tool.
The roadmap includes three planned features the author is seeking feedback on: a `compare_endpoints` tool for side-by-side URL metric diffing, a `regression_test` tool that asserts against a previous run's P95/P99 and returns a pass/fail result the agent can reason about, and YAML-defined scenario files for multi-step flows such as login → fetch → post sequences.
Key facts
- 01Benchmarkr is a single Go binary for concurrent HTTP benchmarking with live P50/P95 terminal metrics.
- 02Existing tools cited as lacking agent integration: `hey`, `ab`, `wrk`, `bombardier`, and `k6`.
- 03Results can be persisted to JSON files, Postgres, or MySQL.
- 04A companion `benchmarkr-mcp` binary exposes four MCP tools: `run_benchmark`, `get_benchmark_status`, `stop_benchmark`, and `list_endpoints`.
- 05Compatible MCP clients named in the article: Claude Code and Cursor.
- 06Installation is available via Homebrew, apt (Debian/Ubuntu), and yum (RHEL/Fedora).