io.github.crosstabs/crosstabs
PYPI · CROSSTABS · 2 COMPONENTS · SCANNED SEP 21
Free survey crosstabs with local analysis and temporary hosted MCP project workflows.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 2 of 51 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency6
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (MIT License) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 15 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability83
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 3495 tokens (~83/item across 42 items; 40 tools + 2 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management44
- Stability check failed: the tool surface changed between 1.1.6 and 1.4.0: 0 tool removals, 31 breaking changes, 1 additions. See how to fix → Fail
Tool Coverage67
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 40 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 41 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.crosstabs/crosstabs MCP server?
io.github.crosstabs/crosstabs runs locally as a PyPI package, launched with uvx crosstabs. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · crosstabs
claude mcp add crosstabs-crosstabs -- uvx crosstabs
{
"mcpServers": {
"crosstabs-crosstabs": {
"command": "uvx",
"args": [
"crosstabs"
]
}
}
} {
"servers": {
"crosstabs-crosstabs": {
"command": "uvx",
"args": [
"crosstabs"
]
}
}
} codex mcp add crosstabs-crosstabs -- uvx crosstabs
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"crosstabs-crosstabs": {
"type": "local",
"command": [
"uvx",
"crosstabs"
],
"enabled": true
}
}
} openclaw mcp add crosstabs-crosstabs --command uvx --arg crosstabs
mcp_servers:
crosstabs-crosstabs:
command: "uvx"
args: ["crosstabs"] {
"McpServers": {
"crosstabs-crosstabs": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"crosstabs"
]
}
}
} assistant mcp add crosstabs-crosstabs -t stdio -c uvx -a crosstabs
{
"mcpServers": {
"crosstabs-crosstabs": {
"command": "uvx",
"args": [
"crosstabs"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 −2
No change was recorded against any check on this day. Stability & Change Management went from 60 to 44.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60.
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 44.
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 34 to 37.
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30.
- 8 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 24.
- 6 Sept 26 +1
- Package version: 1.3.0 → 1.4.0 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed pypi/crosstabs@1.4.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 51 packages
| Packages resolved | 51 |
|---|---|
| Stale | 2 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
attributable_risk ~98
Attributable or prevented risk measures for epidemiological studies. Args: matrix: [[exposed outcome+, exposed outcome-], [unexposed outcome+, unexposed outcome-]] Returns: Direction-appropriate impact measures, risk-difference interval, relative-risk status, orientation, and causal caveat
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
bonferroni_correction ~74
Bonferroni correction for multiple testing. Args: p_values: List of p-values to correct alpha: Family-wise error rate (default 0.05) Returns: Adjusted p-values and significance
| Name | Type | Req | Description |
|---|---|---|---|
| alpha | number | – | – |
| p_values | array | yes | – |
No output schema declared.
No examples provided.
breslow_day_test ~84
Breslow-Day test for homogeneity of odds ratios across strata. Args: tables: List of 2×2 contingency tables (one per stratum) Returns: Test statistic, p-value, and whether ORs are homogeneous
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| tables | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
check_assumptions ~68
Check chi-square test assumptions. Verifies expected cell frequencies and provides recommendations. Args: matrix: Contingency table Returns: Assumption validity and recommendations
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
chi_square_test ~78
Perform Pearson's chi-square test of independence. Args: matrix: 2D contingency table as list of lists Returns: Test statistic, p-value, effect size (Cramér's V), and interpretation
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
chi_square_yates ~74
Chi-square with Yates continuity correction for 2×2 tables. Args: matrix: 2×2 contingency table Returns: Yates-corrected chi-square and p-value
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
cmh_test ~100
Cochran-Mantel-Haenszel test for stratified 2×2 tables. Tests association while controlling for a stratifying variable. Args: tables: List of 2×2 contingency tables (one per stratum) Returns: CMH chi-square, common odds ratio, RBG interval, and interpretation
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| tables | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
cohens_kappa ~68
Cohen's Kappa for inter-rater agreement (unweighted). Args: matrix: Square confusion matrix Returns: Kappa coefficient with CI and interpretation
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
correspondence_analysis ~97
Correspondence analysis for visualizing associations. Args: matrix: Contingency table row_labels: Optional row labels col_labels: Optional column labels Returns: 2D coordinates for biplot and explained variance
| Name | Type | Req | Description |
|---|---|---|---|
| col_labels | array | – | – |
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| row_labels | array | – | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
cramers_v ~76
Calculate Cramér's V effect size (standard and bias-corrected). Args: matrix: Contingency table Returns: Standard and bias-corrected Cramér's V with interpretation
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
crosstab_from_csv ~87
Parse CSV and create contingency table from two columns. Args: csv_text: CSV content as string row_var: Name of row variable column col_var: Name of column variable column Returns: Contingency table with labels
| Name | Type | Req | Description |
|---|---|---|---|
| col_var | string | yes | – |
| csv_text | string | yes | – |
| row_var | string | yes | – |
No output schema declared.
No examples provided.
crosstab_from_data ~85
Create contingency table from raw data. Args: data: List of data objects with row and column variables row_var: Name of row variable col_var: Name of column variable Returns: Contingency table with labels
| Name | Type | Req | Description |
|---|---|---|---|
| col_var | string | yes | – |
| data | array | yes | – |
| row_var | string | yes | – |
No output schema declared.
No examples provided.
detect_outliers ~96
Detect outliers in numeric data. Args: values: List of numeric values method: "zscore" or "iqr" threshold: Z-score cutoff (default 2.0) or IQR fence multiplier (default 1.5) Returns: Outlier statistics and identified outliers
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | – | – |
| threshold | – | – | – |
| values | array | yes | – |
No output schema declared.
No examples provided.
effect_size ~68
Calculate multiple effect sizes for contingency table. Args: matrix: Contingency table Returns: Cramér's V (corrected), phi, and contingency coefficient
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
fdr_correction ~74
Benjamini-Hochberg false discovery rate correction. Args: p_values: List of p-values to correct alpha: FDR level (default 0.05) Returns: Adjusted significance with FDR control
| Name | Type | Req | Description |
|---|---|---|---|
| alpha | number | – | – |
| p_values | array | yes | – |
No output schema declared.
No examples provided.
fishers_exact ~78
Fisher's exact test for 2×2 tables. Args: matrix: 2×2 contingency table Returns: Odds ratio, two-sided exact p-value, and large-sample 95% CI
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
g_test ~94
G-test (likelihood ratio test) for contingency tables. Uses the same asymptotic chi-square reference distribution as Pearson's test, so it is not a small-sample exact-test substitute. Args: matrix: Contingency table Returns: G statistic, p-value, effect size
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
get_runtime_status ~29
Report this executing statistical runtime; no plugin identity or local configuration.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedPackageVersion | – | – | – |
No output schema declared.
No examples provided.
goodman_kruskal_gamma ~71
Goodman-Kruskal's gamma for ordinal association. Args: matrix: Contingency table with ordinal rows and columns Returns: Gamma coefficient with CI
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
kendalls_tau ~64
Kendall's tau-b rank correlation. Args: ranks_x: First set of ranks ranks_y: Second set of ranks Returns: Tau coefficient and p-value
| Name | Type | Req | Description |
|---|---|---|---|
| ranks_x | array | yes | – |
| ranks_y | array | yes | – |
No output schema declared.
No examples provided.
lambda_coefficient ~68
Goodman-Kruskal Lambda (proportional reduction in error). Args: matrix: Contingency table Returns: Lambda values (asymmetric and symmetric)
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
linear_trend_test ~120
Linear-by-linear association test (Mantel-Haenszel trend test). Args: matrix: Contingency table row_scores: Optional numeric scores for rows (default: 0, 1, 2, ...) col_scores: Optional numeric scores for columns Returns: Z-statistic and p-value for linear trend
| Name | Type | Req | Description |
|---|---|---|---|
| col_scores | array | – | – |
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| row_scores | array | – | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
mcnemar_test ~79
McNemar's test for paired categorical data. Args: matrix: 2×2 table of paired, non-negative integer outcome counts Returns: Coherent primary result plus exact and asymptotic secondary details
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
monte_carlo_chi_square ~216
Monte Carlo estimate of a fixed-margin chi-square p-value. The workload envelope admits at most 100 rows, 100 columns, and 1,000 cells, with a total frequency of 9,007,199,254,740,991. It admits 100,000 simulations and 20,000,000 cell-simulations. Work runs in chunks of at most 512 simulations under a 32 MiB estimated numeric peak and a 30-second server deadline. MCP cancellation is observed between chunks. Args: matrix: Contingency table n_sim: Number of simulations from 1 through 100,000 (default 10000) seed: Random seed for reproducibility Returns: Simulated p-value, observed statistic, method, seed, and workload receipt
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| n_sim | integer | – | – |
| seed | integer | – | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
mosaic_plot_data ~94
Generate coordinates for mosaic plot visualization. Args: matrix: Contingency table row_labels: Optional labels for rows col_labels: Optional labels for columns Returns: Cell coordinates with residual-based coloring
| Name | Type | Req | Description |
|---|---|---|---|
| col_labels | array | – | – |
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| row_labels | array | – | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
odds_ratio ~89
Calculate the sample odds ratio with a 95% Woolf interval. Args: matrix: [[exposed outcome+, exposed outcome-], [unexposed outcome+, unexposed outcome-]] Returns: JSON-safe estimate, status, interval, and explicit table orientation
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
phi_coefficient ~63
Calculate phi coefficient for 2×2 table. Args: matrix: 2×2 contingency table Returns: Phi coefficient and interpretation
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
post_hoc_chi_square ~82
Full post-hoc analysis after chi-square test. Includes standardized residuals, adjusted residuals, and chi-square contributions by cell. Args: matrix: Contingency table Returns: Complete post-hoc analysis
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
power_analysis ~138
Power or sample size calculation for comparing two proportions. Args: p1: Proportion in group 1 p2: Proportion in group 2 n: Sample size per group (if provided, calculates power) alpha: Significance level (default 0.05) power: Target power if calculating sample size (default 0.80) Returns: Two-sided normal-approximation power or required sample size
| Name | Type | Req | Description |
|---|---|---|---|
| alpha | number | – | – |
| n | number | – | – |
| p1 | number | yes | – |
| p2 | number | yes | – |
| power | number | – | – |
No output schema declared.
No examples provided.
proportion_ci ~92
Calculate confidence interval for a proportion. Args: successes: Number of successes total: Total sample size method: "wilson" (recommended), "agresti", or "normal" Returns: Proportion with 95% CI
| Name | Type | Req | Description |
|---|---|---|---|
| countSemantics | string | yes | – |
| method | string | – | – |
| successes | number | yes | – |
| total | number | yes | – |
No output schema declared.
No examples provided.
recommend_test ~80
Recommend appropriate statistical tests for your data. Args: matrix: Contingency table data_type: "categorical" or "ordinal" Returns: Ranked test recommendations with rationales
| Name | Type | Req | Description |
|---|---|---|---|
| data_type | string | – | – |
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
relative_risk ~88
Calculate relative risk with 95% confidence interval for 2x2 table. Args: matrix: [[exposed outcome+, exposed outcome-], [unexposed outcome+, unexposed outcome-]] Returns: Relative risk, CI, and individual risks
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
risk_difference ~115
Calculate exposed-minus-unexposed risk difference for a 2×2 table. Labels the reciprocal absolute difference as NNT for lower exposed risk or NNH for higher exposed risk. Args: matrix: [[exposed outcome+, exposed outcome-], [unexposed outcome+, unexposed outcome-]] Returns: Risk difference, interval, direction, and NNT/NNH when applicable
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
somers_d ~75
Somers' D (asymmetric ordinal measure). Args: matrix: Contingency table with ordinal rows and columns Returns: d(Y|X), d(X|Y), and symmetric versions
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
spearmans_rho ~65
Spearman's rank correlation coefficient. Args: ranks_x: First set of ranks ranks_y: Second set of ranks Returns: Rho coefficient and p-value
| Name | Type | Req | Description |
|---|---|---|---|
| ranks_x | array | yes | – |
| ranks_y | array | yes | – |
No output schema declared.
No examples provided.
stacked_bar_data ~121
Generate data for stacked bar chart. Args: matrix: Contingency table by_rows: If True, groups are rows; if False, groups are columns row_labels: Optional labels for rows col_labels: Optional labels for columns Returns: Stacked bar chart data with proportions
| Name | Type | Req | Description |
|---|---|---|---|
| by_rows | boolean | – | – |
| col_labels | array | – | – |
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| row_labels | array | – | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
standardized_residuals ~93
Calculate adjusted standardized residuals from a contingency table. Values above |2| are nominal cell-level flags. When many cells are inspected, use a multiplicity correction or an adjusted alpha. Args: matrix: Contingency table Returns: Residuals matrix with interpretation
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
tau_c ~65
Stuart's tau-c for rectangular ordinal tables. Args: matrix: Contingency table Returns: Tau-c coefficient with standard error and p-value
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
uncertainty_coefficient ~63
Uncertainty Coefficient (entropy-based association measure). Args: matrix: Contingency table Returns: Uncertainty coefficients and mutual information
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
No output schema declared.
No examples provided.
weighted_kappa ~83
Weighted Cohen's Kappa for ordinal agreement. Args: matrix: Square confusion matrix weights: "linear" or "quadratic" (default) Returns: Weighted kappa with CI and interpretation
| Name | Type | Req | Description |
|---|---|---|---|
| inputSemantics | string | yes | – |
| matrix | array | yes | – |
| weighted | boolean | yes | – |
| weights | string | – | – |
No output schema declared.
No examples provided.
What is the io.github.crosstabs/crosstabs MCP server?
io.github.crosstabs/crosstabs is an MCP server listed in the public MCP registry as io.github.crosstabs/crosstabs. Free survey crosstabs with local analysis and temporary hosted MCP project workflows. This page covers its PyPI package (crosstabs).
Is the io.github.crosstabs/crosstabs MCP server safe to use?
io.github.crosstabs/crosstabs scores 68 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.crosstabs/crosstabs MCP server expose?
io.github.crosstabs/crosstabs exposes 40 tools: get_runtime_status, chi_square_test, fishers_exact, mcnemar_test, g_test, and 35 more. Their descriptions and schemas cost roughly 3,452 tokens of context every time the server is loaded.
Is the io.github.crosstabs/crosstabs MCP server still maintained?
io.github.crosstabs/crosstabs is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.