Verified statistical inference for AI agents -- classical hypothesis testing, effect sizes, power, corrections, as a CLI and an MCP server
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
claude mcp add rigor -- uvx rigor-mcp{
"mcpServers": {
"rigor": {
"command": "uvx",
"args": ["rigor-mcp"]
}
}
}MCP Servers overview
# rigor
<!-- mcp-name: io.github.mrnh/rigor-mcp -->
Verified statistical inference for AI agents.
LLMs are decent at reciting statistics but bad at *doing* it reliably —
a t-statistic or a required sample size is a number recalled from
training data, not computed and checked. `rigor` is the alternative:
classical hypothesis testing, effect sizes, power/sample-size
calculation, and multiple-comparisons correction, computed from scratch
and returned as a cited, assumption-checked answer.
Built as an MCP server: a scan of the current MCP ecosystem (Context7
for coding docs, several physics/engineering/chemistry/geo servers,
even Bentley's STAAD integration) found statistics/experimental design
as one of the few common agent needs nobody had covered yet.
The statistics themselves (`rigor/distributions.py`, `inference.py`,
`effect_size.py`, `power.py`, `corrections.py`) are pure standard
library, no dependencies. The package as a whole does depend on the
official `mcp` SDK, since the MCP server is a first-class part of what
it ships, not an add-on -- see [Install](#install).
## Install
```sh
pip install rigor-mcp
```
(the PyPI distribution is `rigor-mcp` since plain `rigor` was already
taken by an unrelated package; the importable package and the CLI
command are both still just `rigor`.) This gets you both console
commands, `rigor` (CLI) and `rigor-mcp` (MCP server) -- deliberately
one install, no extras to get right, since `uvx rigor-mcp` (how most
MCP clients would actually invoke this) has no way to request an
extra.
## What's in it
- **`rigor/distributions.py`** — t, chi-squared, and F distributions
built from scratch on stdlib (regularized incomplete gamma/beta),
verified against exact closed-form identities (t(1) = Cauchy,
chi2(2) = scaled exponential, t² = F(1, df)) rather than trusted
transcription.
- **`rigor/inference.py`** — one-/two-sample and paired t-tests,
one-/two-proportion z-tests, chi-squared goodness-of-fit and
independence, one-way ANOVA. Each returns a `TestResult`:
statistic, degrees of freedom, two-tailed p-value, a confidence
interval, a citation, and assumption warnings (e.g. small-n normality
reliance, low expected cell counts).
- **`rigor/effect_size.py`** — Cohen's d, Hedges' g, Cohen's h, Cramér's V.
- **`rigor/power.py`** — power and required sample size for the
two-sample t-test and two-proportion z-test. The two directions
(given n, find power; given power, find n) are exact numerical
inverses of each other by construction (bisection on the same
underlying power function), and sanity-checked against the Cohen
(1988) d=0.5/α=.05/power=.80 textbook reference case (n≈64).
- **`rigor/corrections.py`** — Bonferroni and Benjamini-Hochberg (FDR)
multiple-comparisons correction.
- **`rigor/cli.py`** — a CLI over all of the above (`rigor.py` at the
repo root is a thin shim so `python3 rigor.py ...` also works from a
plain checkout, without installing anything).
- **`rigor/mcp_server.py`** — an MCP tool wrapper exposing all 17
operations to any MCP client (Claude Code, Claude Desktop, etc.).
Smoke-tested end-to-end over stdio against a real client — tool
discovery plus representative calls checked against known reference
values, including the full round-trip still landing the Cohen (1988)
case at n=63.
## Usage
CLI, once installed:
```sh
rigor ttest one-sample --data 5.1,4.9,5.3,5.0,4.8,5.2 --mu0 5.0
rigor power ttest-2samp --effect-size 0.5 --power 0.8
rigor --help # full list of subcommands (ttest, ztest, chi2, anova, effect-size, power, correct)
```
or straight from a checkout without installing anything:
```sh
python3 rigor.py ttest one-sample --data 5.1,4.9,5.3,5.0,4.8,5.2 --mu0 5.0
```
MCP server, over stdio (the transport local clients like Claude Code
expect):
```sh
pip install rigor-mcp
rigor-mcp
```
or from a checkout: `pip install mcp && python3 -m rigor.mcp_server`.
Register it with Claude Code:
```sh
claude mcp add rigor -- rigor-mcp
```
(or, from a checkout: `claude mcp add rigor -- python3 -m rigor.mcp_server`,
run from this repo's root or with an absolute module path). For
interactive poking with the MCP Inspector, run it as a script rather
than the installed command — which means the package root has to be
put on the path by hand, since the Inspector imports the file directly:
```sh
pip install "mcp[cli]"
PYTHONPATH=. mcp dev rigor/mcp_server.py
```
## A transport-level edge case, handled
`cohens_d` correctly returns `+inf`/`-inf` for zero-variance samples
(per its own documented contract), but non-finite floats serialize to
JSON `null` over MCP's structured content — which used to fail the
tool's own number-typed output schema and crash the call. The MCP
`cohens_d` tool now returns `{"value": float | null, "warnings": [...]}`
instead of a bare float, so that case is reported explicitly (null
value, a warning naming the direction) rather than blowing up. Every
other numeric tool here is bounded and always finite for valid input,
so this treatment is specific to `cohens_d`.
## Tests
```sh
python3 -m unittest discover -s tests -v
```
70 tests: 65 exercise the statistics directly; 5 spawn `mcp_server.py`
as a real MCP client would and check results over the wire (skipped
automatically if `mcp` isn't installed).
## License
MIT — see [LICENSE](LICENSE).
[](https://glama.ai/mcp/servers/mrnh/rigor)
What people ask about rigor
What is mrnh/rigor?
+
mrnh/rigor is mcp servers for the Claude AI ecosystem. Verified statistical inference for AI agents -- classical hypothesis testing, effect sizes, power, corrections, as a CLI and an MCP server It has 0 GitHub stars and its last recorded update is dated 2026-08-18.
How do I install rigor?
+
You can install rigor by cloning the repository (https://github.com/mrnh/rigor) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is mrnh/rigor safe to use?
+
Our security agent has analyzed mrnh/rigor and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains mrnh/rigor?
+
mrnh/rigor is maintained by mrnh. The last recorded GitHub activity is dated 2026-08-18, with 0 open issues.
Are there alternatives to rigor?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy rigor to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!