Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Statistical regression testing for LLM agents: p-value, effect size, and CI on behavior change.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Python (uv)
SettingsDeveloperEdit Config
{
"mcpServers": {
"agent-eval": {
"command": "uvx",
"args": [
"agent-regress-cli",
"agent-regress-mcp"
]
}
}
}Use Agent Eval and tell me what you can do for me, then show me one thing✓ If Claude says it is using Agent Eval or shows a Agent Eval tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Agent Eval yet
Agent Eval runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Agent Eval
B · Others in Search & AI memory that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user agent-eval -- uvx agent-regress-cli agent-regress-mcpYou should see Agent Eval listed as connected
Use Agent Eval and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Agent Eval or shows a Agent Eval tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Use Agent Eval and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Agent Eval or shows a Agent Eval tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Use Agent Eval and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Agent Eval or shows a Agent Eval tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Claude Code
claude mcp add --scope user agent-eval -- uvx agent-regress-cli agent-regress-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"agent-eval": {
"command": "uvx",
"args": [
"agent-regress-cli",
"agent-regress-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"agent-eval": {
"command": "uvx",
"args": [
"agent-regress-cli",
"agent-regress-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"agent-eval": {
"type": "stdio",
"command": "uvx",
"args": [
"agent-regress-cli",
"agent-regress-mcp"
]
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 12, 2026
The registry name was verified with the GitHub account RudrenduPaul, which owns the repo
Code last changed 6 days ago
Uses Apache-2.0
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 6 days ago, and the latest version (0.1.8) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Context7, Codebase Memory, Ruflo
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
pip install agent-regress-cli
(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.
p=0.003, Cohen's d=-0.61 -> REGRESSED (deploy blocked)
p=0.410, Cohen's d=0.021 -> STABLE (safe to ship)
[!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.
pip install agent-regress-cli
uv add agent-regress-cli
npx agent-regress-cli
Already have per-run scores from your own harness? Point the CLI at two JSON arrays of scores, one per version:
pip install agent-regress-cli
agent-regress compare \ --version-a-results v1_scores.json \ --version-b-results v2_scores.json \ --metric tool_accuracy
#
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:
from agent_regress import compare
def agent_v1(test_case: dict) -> float: ... # your existing agent
def agent_v2(test_case: dict) -> float: ... # your updated agent
test_suite = [ {"query": "find SKU for order 8823", "expected": "SKU-4492"},
]
report = compare( version_a=agent_v1, version_b=agent_v2, test_suite=test_suite, n_runs=50, metric="tool_accuracy", # use any name except "accuracy" when agents return floats )
print(report) # structured output with p-value, CI, effect size report.assert_stable() # raises AssertionError if behavior regressed
Agent returns text? Pass a scorer or use the built-ins:
from agent_regress import compare, exact_match_scorer, f1_scorer
report = compare( version_a=agent_v1, version_b=agent_v2, test_suite=test_suite, n_runs=50, scorer=exact_match_scorer, # test_case must have an "expected" key )
Or write your own:
def my_scorer(output: str, test_case: dict) -> float:
return 1.0 if output.strip() == test_case["expected"] else 0.0
report = compare(..., scorer=my_scorer)
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:
pip install "agent-regress-cli[mcp]"
Add it to your MCP client's config (for Claude Desktop, claude_desktop_config.json):
{
"mcpServers": { "agent-eval": { "command": "uvx", "args": ["--from", "agent-regress-cli", "agent-regress-mcp"] } } }
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:
run(["compare", "--version-a-results", "a.json", "--version-b-results", "b.json", "--metric", "accuracy"])
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.
LangGraph
context= API replaced untyped config['configurable']. A single run on either invocation style still clears a threshold check; only a version-A-vs-B comparison shows whether the switch changed measured behavior.agent-eval added cache-busting to protect that assumption.OpenAI Agents SDK
RunConfig. The nested call still returns a normal-looking response, so a single-response check clears; only inspecting config propagation across runs reveals the regression.CrewAI
output_schema, moving from unstructured str() output to structured JSON. Both the old and new format can look "reasonable" to a threshold scorer even though the schema changed underneath.These are the regressions that motivated this project. Full detail on all 14 individually-documented PRs (drawn from a 29-PR, 239-row validation campaign across LangGraph, CrewAI, and the OpenAI Agents SDK) is in docs/pr-analysis.md.