
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
crosstabs
Advanced tools
A Python MCP (Model Context Protocol) server providing 40+ statistical tools for contingency table analysis. Designed for AI assistants like Claude to perform rigorous statistical analysis.
| Test | Description |
|---|---|
| Chi-square | Pearson's chi-square test of independence |
| G-test | Likelihood ratio test (more accurate for small samples) |
| Fisher's exact | Exact test for 2×2 tables |
| McNemar's | Test for paired categorical data |
| Measure | Use Case |
|---|---|
| Cramér's V | Effect size for any table size (with bias correction) |
| Phi coefficient | Effect size for 2×2 tables |
| Odds ratio | Association strength with confidence intervals |
| Relative risk | Risk comparison between groups |
| Risk difference | Absolute risk reduction |
| Attributable risk | Population-level impact |
| Measure | Description |
|---|---|
| Spearman's rho | Rank correlation |
| Kendall's tau | Concordance measure |
| Goodman-Kruskal gamma | Ordinal association |
| Somers' D | Asymmetric ordinal measure |
| Stuart's tau-c | Rectangular table measure |
| Measure | Description |
|---|---|
| Cohen's kappa | Inter-rater agreement |
| Weighted kappa | Agreement with ordinal weights |
| Tool | Description |
|---|---|
| CMH test | Stratified analysis controlling confounders |
| Breslow-Day | Test homogeneity of odds ratios |
| Correspondence analysis | Dimensionality reduction for tables |
| Monte Carlo chi-square | Exact p-values via simulation |
| Power analysis | Sample size and power calculations |
| Multiple comparisons | Bonferroni and FDR corrections |
pip install crosstabs
git clone https://github.com/barangaroo/crosstabs-lite.git
cd crosstabs-lite/mcp-server-python
pip install -e .
crosstabs
Or directly:
python -m crosstabs_mcp.server
Add to your ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"crosstabs": {
"command": "crosstabs"
}
}
}
Or with Python path:
{
"mcpServers": {
"crosstabs": {
"command": "python",
"args": ["-m", "crosstabs_mcp.server"]
}
}
}
Once configured, Claude can perform statistical analysis:
User: Test if there's an association between treatment and outcome:
Treatment A: 50 success, 30 failure
Treatment B: 20 success, 40 failure
Claude: [Uses chi_square_test with matrix [[50,30],[20,40]]]
χ² = 11.67, p = 0.0006
Cramér's V = 0.29 (small-medium effect)
There is a significant association between treatment and outcome.
User: Calculate the odds ratio for this case-control study:
Cases: 30 exposed, 70 unexposed
Controls: 15 exposed, 85 unexposed
Claude: [Uses odds_ratio with matrix [[30,70],[15,85]]]
OR = 2.43 (95% CI: 1.21-4.87)
Exposure is associated with 143% higher odds of the outcome.
User: I have a small sample: [[3,1],[1,5]]. Is it significant?
Claude: [Uses fishers_exact with the matrix]
p = 0.103 (two-tailed)
Not statistically significant at α=0.05.
| Tool Name | Description |
|---|---|
chi_square_test | Chi-square test of independence |
g_test | G-test (likelihood ratio) |
fishers_exact | Fisher's exact test (2×2) |
mcnemar_test | McNemar's test for paired data |
odds_ratio | Odds ratio with CI |
relative_risk | Relative risk with CI |
risk_difference | Risk difference with CI |
cramers_v | Cramér's V effect size |
cramers_v_corrected | Bias-corrected Cramér's V |
phi_coefficient | Phi for 2×2 tables |
cohens_kappa | Cohen's kappa |
weighted_kappa | Weighted kappa |
spearmans_rho | Spearman's rank correlation |
kendalls_tau | Kendall's tau-b |
goodman_kruskal_gamma | Gamma coefficient |
somers_d | Somers' D |
tau_c | Stuart's tau-c |
cmh_test | Cochran-Mantel-Haenszel |
breslow_day | Breslow-Day test |
linear_trend_test | Linear-by-linear association |
correspondence_analysis | Correspondence analysis |
monte_carlo_chi_square | Monte Carlo exact test |
power_analysis | Power/sample size |
bonferroni_correction | Bonferroni p-value adjustment |
fdr_correction | Benjamini-Hochberg FDR |
standardized_residuals | Cell residuals |
post_hoc_analysis | Post-hoc chi-square decomposition |
proportion_ci | Confidence interval for proportion |
check_assumptions | Validate chi-square assumptions |
mosaic_plot_data | Data for mosaic visualization |
stacked_bar_data | Data for stacked bar chart |
attributable_risk | Attributable risk measures |
chi_square_yates | Yates' continuity correction |
detect_outliers | Outlier detection |
crosstab_from_data | Build table from raw data |
crosstab_from_csv | Build table from CSV |
pip install -e ".[dev]"
pytest tests/ -v
mcp-server-python/
├── crosstabs_mcp/
│ ├── __init__.py
│ ├── server.py # Main MCP server
│ └── advanced_stats.py # Additional functions
├── tests/
│ └── test_statistics.py # Test suite (52 tests)
├── pyproject.toml
├── requirements.txt
└── README.md
MIT License - see LICENSE for details.
Contributions welcome! Please read CONTRIBUTING.md first.
FAQs
MCP server for statistical crosstabulation analysis with 40+ tools
We found that crosstabs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.