Statistical regression testing for LLM agents: p-value, effect size, and CI on behavior change.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Statistical regression testing for LLM agents: run version A and version B 50x each and get a p-value, an effect size, and a 95% confidence interval on whether behavior actually shifted.

(uv add and the npm/npx wrapper are covered in Install below.)
You changed a prompt. Your evals still pass. But your agent's tool accuracy dropped from 84% to 70%.
Is that a real regression? Or is it LLM run-to-run noise?
Threshold testing cannot answer that question. agent-eval can.
Run your agent 50x on version A, 50x on version B. Get a p-value, an effect size, and a 95% confidence interval on whether behavior actually shifted.
[!NOTE] Promptfoo, one of the most widely used open-source LLM eval frameworks, was acquired by OpenAI in March 2026, staying open source but folding its team into OpenAI's Frontier platform. agent-eval is Apache 2.0-licensed, self-hostable, and has no commercial dependency. The statistical core (Mann-Whitney U, bootstrap CI, Cohen's d) will never be paywalled.
Already have per-run scores from your own harness? Point the CLI at two JSON arrays of scores, one per version:
Add --json --fail-on-regression to get clean, parseable output and a non-zero exit code on REGRESSED, for wiring straight into CI.

All agent-regress compare flags:
| Flag | Default | Description |
|---|---|---|
--version-a-results PATH | (required) | Path to a JSON array of per-run scores for version A (baseline). |
--version-b-results PATH | (required) | Path to a JSON array of per-run scores for version B (candidate). |
--metric NAME | accuracy | Name of the metric being compared, shown in the report. |
--p-threshold P | 0.05 | Significance threshold for the Mann-Whitney U p-value. |
--min-effect D | 0.2 | Minimum |Cohen's d| to call a statistically significant difference REGRESSED/IMPROVED rather than STABLE. |
--n-resamples N | 1000 | Number of bootstrap resamples used for the confidence interval (minimum: 100). |
--json | off | Print the report as a single JSON object to stdout instead of the human-readable format. Warnings still go to stderr, so stdout stays clean, parseable JSON. |
--fail-on-regression | off | Exit with status 1 if the verdict is REGRESSED (useful for CI). Without this flag, the command exits 0 regardless of verdict. |
The top-level agent-regress --version flag prints the installed version and exits.
Exit codes:
| Code | Meaning |
|---|---|
0 | Ran successfully. Verdict may be REGRESSED, STABLE, IMPROVED, or INSUFFICIENT_DATA β without --fail-on-regression, the exit code doesn't reflect the verdict. |
1 | --fail-on-regression was passed and the verdict is REGRESSED. |
2 | Usage or data error: invalid/missing arguments, no subcommand given, a --version-*-results file that doesn't exist or isn't valid JSON, an empty/non-numeric scores array, or an out-of-range value for --p-threshold (must be in (0, 1)), --min-effect (must be >= 0), or --n-resamples (must be >= 100). |
Driving the agent yourself instead of pre-computing scores? Use the Python API:
Agent returns text? Pass a scorer or use the built-ins:
Or write your own:
agent-eval ships a Model Context Protocol server so an AI agent (Claude, Cursor, or any MCP-compatible client) can run statistical regression tests directly, without a human invoking the CLI by hand.
Install the extra:
Add it to your MCP client's config (for Claude Desktop, claude_desktop_config.json):
The server exposes one tool, run, that shells out to the agent-regress CLI with the given
subcommand and arguments plus --json, and returns the parsed JSON result:
Transport is stdio, so there is nothing to host: the MCP client spawns the server as a local
subprocess. Source: src/agent_regress/mcp_server.py.
| Capability | Agent Evaluation | DeepEval | Braintrust | Promptfoo |
|---|---|---|---|---|
| Statistical version comparison (p-values) | Yes | No | No | No |
| Effect size reporting (Cohen's d) | Yes | No | No | No |
| Bootstrap 95% confidence intervals | Yes | No | No | No |
| Distributional shift detection | Yes | No | No | No |
| Tau-bench pass^k harness (k=1,4,8) | Yes | No | No | No |
| GAIA Level 1-3 split harness | Yes | No | No | No |
| SWE-bench scaffold score harness | Yes | No | No | No |
| Self-hostable, zero SaaS required | Yes | Partial | No | Yes |
| Sample size warnings | Yes | No | No | No |
| Core license | Apache 2.0 | MIT | Proprietary | MITβ |
| Requires cloud account | No | Optional | Yes | No |
| Test type | Distributional | Threshold | Threshold | Threshold |
β Promptfoo acquired by OpenAI, March 2026; remains open source under its current license.
DeepEval tests whether an individual agent response clears a quality bar. Agent Evaluation tests whether behavior changed significantly between two agent versions, a different statistical question that threshold testing cannot answer. The scipy Mann-Whitney U call at the core is one line, so any SaaS eval platform can add it. What accumulates over time through production use is version-specific regression history and a community-maintained benchmark leaderboard with independent result verification.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/agent-eval)<a href="https://allmcps.com/mcp/agent-eval"><img src="https://allmcps.com/api/badge/agent-eval?style=directory" alt="Agent Eval on AllMCPs" /></a>