Stats Explorer
NPM · STATS-EXPLORER-MCP
Verified statistics for AI agents: guided tests, A/B tests, Tukey HSD, reports, optional Jev checks.
Available components
Last scanned (27 minutes ago)
Scores higher than 31% of npm servers
Category Data and Analytics
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 Security80
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 40 of 106 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 11 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability71
- 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
- Context-footprint check failed: tool/resource definitions use about 4669 tokens (~203/item across 23 items; 23 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage78
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 34% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 23 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 24 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
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
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.
- 25 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 24 Oct 26 47
First indexed and scored.
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 5 Nov 2026 · Analysed npm/stats-explorer-mcp@1.5.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 3 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-4r6h-8v6p-xvw6 | CVE-2023-30533 | high | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H | no |
| GHSA-5pgg-2g8v-p4x9 | CVE-2024-22363 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | no |
| GHSA-mrhx-c7xc-m3w5 | CVE-2023-54404 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 106 packages
| Packages resolved | 106 |
|---|---|
| Stale | 40 |
| 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 →
ab_test_plan A/B test sample size ~282
Plan an A/B test: visitors needed per variant to detect the smallest lift that matters (mde) at a given power, and/or the smallest lift detectable with a given n_per_variant; days needed from daily_traffic. Conversion: baseline_rate. Continuous: baseline_sd (and baseline_mean for a relative mde). Use in an exploration (planning a future test); a running hypothesis test sizes itself in step 4.
| Name | Type | Req | Description |
|---|---|---|---|
| adjust_for_variants | boolean | – | Split α across the comparisons with the control (Bonferroni) when there are 3+ variants. |
| alpha | number | – | Significance level. Default 0.05. |
| alternative | string | – | two-sided (default), greater (first > second / sample > value), or less. |
| baseline_mean | number | – | – |
| baseline_rate | number | – | – |
| baseline_sd | number | – | – |
| daily_traffic | number | – | – |
| mde | number | – | Smallest lift that matters: absolute (0.005 = +0.5 percentage points) or relative with mde_type "relative" (0.1 = +10%). |
| mde_type | string | – | – |
| metric | string | yes | – |
| n_per_variant | integer | – | – |
| power | number | – | – |
| variants | integer | – | – |
No output schema declared.
No examples provided.
base_rate_check Step 6: sanity-check rare events against base rates ~154
Step 6 (or standalone in an exploration). For rare-event questions (fraud, defects, diagnoses, churn): what share of positive flags is real (PPV). Give prevalence, sensitivity, specificity (0–1), or file + condition_column + test_column (0/1 columns). If the question is not about rare events, use skip_step 6 instead.
| Name | Type | Req | Description |
|---|---|---|---|
| condition_column | string | – | – |
| confirmation_token | string | – | Only after the user has confirmed the proposed choices: the confirmation_token from the previous response. |
| file | string | – | – |
| prevalence | number | – | – |
| sensitivity | number | – | – |
| specificity | number | – | – |
| test_column | string | – | – |
No output schema declared.
No examples provided.
build_report Build a report ~161
Builds a report from results created in this session, only when the user asks for one. include = the result ids the user wants (default: the current analysis). The user confirms the sections. A hypothesis-test write-up (question, hypotheses, how it was tested, findings, verdict, base rates) appears only for completed hypothesis tests; explorations get no hypothesis section. format html (default) or markdown; save_to writes a file in the workspace.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmation_token | string | – | Only after the user has confirmed the proposed choices: the confirmation_token from the previous response. |
| format | string | – | – |
| include | array | – | – |
| overwrite | boolean | – | – |
| save_to | string | – | – |
| title | string | – | – |
No output schema declared.
No examples provided.
cancel_job Cancel a large-file job ~30
Stops a background job started by a tool that answered STILL RUNNING.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | – |
No output schema declared.
No examples provided.
check_assumptions Step 2: validate the data against the test's assumptions ~73
Step 2. Checks shape (skew, kurtosis, small samples), group sizes, outliers, expected counts, ANCOVA slope equality and missing values for the test fixed in step 1. If an assumption fails, revising the test now (state_hypotheses again) is principled.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
check_spread Step 3: check spread ~35
Step 3. Standard deviation, IQR, coefficient of variation, outliers and variance ratio for the data in the plan.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
choose_test Choose a statistical test ~171
Recommends which test tool to run for a research question, with the assumptions to check. Call this first when unsure.
| Name | Type | Req | Description |
|---|---|---|---|
| goal | string | yes | ab_test: compare variants of an experiment (A/B/n) against a control; plan_ab_test: sample size for one. |
| has_covariate | boolean | – | A numeric variable to adjust for. |
| known_population_sd | boolean | – | – |
| multiple_outcomes | boolean | – | Several numeric outcomes analysed together. |
| outcome_is_numeric | boolean | – | A/B tests: the metric is a number per visitor (revenue, time) rather than converted yes/no. |
| outliers_or_ranks | boolean | – | Data are ranks, ordinal, or have strong outliers. |
| paired | boolean | – | Same subjects measured twice / matched pairs. |
No output schema declared.
No examples provided.
confidence_interval Confidence interval ~204
CI for a mean (column the user asked about) or a proportion. The user confirms the column first.
| Name | Type | Req | Description |
|---|---|---|---|
| column | string | – | – |
| confidence | number | – | Confidence level for intervals. Default 0.95. |
| confirmation_token | string | – | Only after the user has confirmed the proposed choices: the confirmation_token from the previous response. |
| file | string | – | Path to the data file: CSV, TSV, Excel (.xlsx/.xls) or Parquet. If the user attached the file to the chat, pass its path or name here (a file:// link, @name or #file:name also works); do not paste it… |
| n | integer | – | – |
| successes | integer | – | – |
| type | string | yes | – |
| values | array | – | – |
No output schema declared.
No examples provided.
correlation Correlation (descriptive) ~251
Strength and direction of the relationship between two numeric columns (r or ρ, CI, least-squares line), WITHOUT a p-value. To test whether a relationship is significant, use a hypothesis_test analysis with test "correlation". The user confirms the columns first.
| Name | Type | Req | Description |
|---|---|---|---|
| confidence | number | – | Confidence level for intervals. Default 0.95. |
| confirmation_token | string | – | Only after the user has confirmed the proposed choices: the confirmation_token from the previous response. |
| file | string | – | Path to the data file: CSV, TSV, Excel (.xlsx/.xls) or Parquet. If the user attached the file to the chat, pass its path or name here (a file:// link, @name or #file:name also works); do not paste it… |
| method | string | – | – |
| x | array | – | – |
| x_column | string | – | – |
| x_name | string | – | – |
| y | – | – | – |
| y_column | string | – | – |
| y_name | string | – | – |
No output schema declared.
No examples provided.
create_visualization Create a chart ~194
Creates a chart for the columns the user asked to see: histogram (column), box_plot (column, optional group_column), scatter (x_column, y_column), bar (x_column categories, optional y_column mean), line (x_column, y_column), pie (x_column categories, optional y_column sum). The user confirms the chart type and columns first. Optional save_to (.svg). Charts are kept for build_report.
| Name | Type | Req | Description |
|---|---|---|---|
| bins | integer | – | – |
| chart | string | yes | – |
| column | string | – | – |
| confirmation_token | string | – | Only after the user has confirmed the proposed choices: the confirmation_token from the previous response. |
| file | string | yes | – |
| group_column | string | – | – |
| overwrite | boolean | – | – |
| save_to | string | – | – |
| title | string | – | – |
| x_column | string | – | – |
| y_column | string | – | – |
No output schema declared.
No examples provided.
describe Descriptive statistics ~221
n, mean, SD, median, quartiles, range, skewness, kurtosis, shape and CI for the mean, for a column the user asked about (optionally by group). The user confirms the columns first.
| Name | Type | Req | Description |
|---|---|---|---|
| column | string | – | – |
| confidence | number | – | Confidence level for intervals. Default 0.95. |
| confirmation_token | string | – | Only after the user has confirmed the proposed choices: the confirmation_token from the previous response. |
| file | string | – | Path to the data file: CSV, TSV, Excel (.xlsx/.xls) or Parquet. If the user attached the file to the chat, pass its path or name here (a file:// link, @name or #file:name also works); do not paste it… |
| group_column | string | – | – |
| name | string | – | – |
| values | array | – | – |
No output schema declared.
No examples provided.
find_relationships What relates to a column ~210
For open analytics questions such as "what drives revenue?", "what is related to churn time?" or "which factors matter for score?": ranks every other column (or the ones given) by how strongly it relates to a numeric target column. Pearson r for numeric columns, correlation ratio η plus the highest/lowest group for categorical ones. Descriptive (no p-values); follow up on the top findings with group_summary, correlation, charts or a hypothesis test. Works on files of any size. Use it in an explore analysis. The user confirms the target and the columns first.
| Name | Type | Req | Description |
|---|---|---|---|
| columns | array | – | Columns to consider (default: all others). |
| confirmation_token | string | – | Only after the user has confirmed: the confirmation_token from the previous response. |
| file | string | yes | The data file the user named or attached (path or name; never its contents). |
| target | string | yes | The numeric outcome to explain, e.g. Revenue. |
| top | integer | – | – |
No output schema declared.
No examples provided.
group_summary Summary by group ~276
Analytics-style breakdown: count, sum, mean, median, min, max or SD of a numeric column for each category of another column (e.g. total revenue by region, average order value by segment, top 10 products by profit, rows per status), sorted, top N. Without value_column it counts rows per category. Descriptive only, no p-values. The user confirms the columns first.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmation_token | string | – | Only after the user has confirmed the proposed choices: the confirmation_token from the previous response. |
| descending | boolean | – | – |
| file | string | – | Path to the data file: CSV, TSV, Excel (.xlsx/.xls) or Parquet. If the user attached the file to the chat, pass its path or name here (a file:// link, @name or #file:name also works); do not paste it… |
| group_column | string | yes | – |
| sort_by | string | – | – |
| stats | array | – | Which numbers to show (default count, sum, mean, median; just count without value_column). |
| top | integer | – | – |
| value_column | string | – | – |
No output schema declared.
No examples provided.
inspect_data_file Inspect a data file ~154
Lists the columns of a local CSV/TSV/JSON file with their types, missing values, ranges and category values, plus a 5-row preview. Use before running tests on a file so you pass correct column and group names.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Path to the data file: CSV, TSV, Excel (.xlsx/.xls) or Parquet. If the user attached the file to the chat, pass its path or name here (a file:// link, @name or #file:name also works); do not paste it… |
No output schema declared.
No examples provided.
job_status Wait for a large-file job ~63
For a tool that answered STILL RUNNING: waits up to wait_seconds for the background job, then returns its result (the same result the tool would have returned) or its progress so far.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | – |
| wait_seconds | number | – | – |
No output schema declared.
No examples provided.
large_file_plan Choose how to read a large file ~122
Only when a tool answered LARGE FILE, and only after asking the user: record their choice for that file. choice "full" reads every row (exact results, can take a long time, runs in the background); "sample" reads about 1% of the rows in blocks spread across the file (quick, approximate). save_columns keeps the columns that are read on disk so later questions on them are fast. Then call the original tool again.
| Name | Type | Req | Description |
|---|---|---|---|
| choice | string | yes | – |
| file | string | yes | – |
| save_columns | boolean | – | – |
No output schema declared.
No examples provided.
manage_cache Saved large-file columns ~56
Lists or deletes the columns kept on disk from large files (see large_file_plan save_columns). action "list" or "clear" (all, or one file).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| file | string | – | – |
No output schema declared.
No examples provided.
power_analysis Step 4: calculate power / plan sample size ~169
In a hypothesis test (step 4): power of the planned test for the smallest effect the user cares about, using the data's sample size. smallest_effect is Cohen's d for means, r for correlations, or the true proportion p₁ for proportion tests. Ask the user for it; if they don't know, pass use_conventional: true. In an exploration: give two of effect_size, n_per_group, power to plan a two-group study.
| Name | Type | Req | Description |
|---|---|---|---|
| alpha | number | – | – |
| alternative | string | – | – |
| effect_size | number | – | – |
| n_per_group | integer | – | – |
| power | number | – | Target power (default 0.8 in a hypothesis test). |
| smallest_effect | number | – | – |
| use_conventional | boolean | – | – |
No output schema declared.
No examples provided.
run_test Step 5: run the test ~49
Step 5. Runs exactly the test, columns and hypotheses the user confirmed in step 1 and returns the statistic, p-value, effect size, CI and verdict. Requires steps 1–4.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
skip_step Skip step 4 or 6 with a reason ~51
Only steps 4 (power) and 6 (base rates) can be skipped, with a short reason that will appear in the report.
| Name | Type | Req | Description |
|---|---|---|---|
| reason | string | yes | – |
| step | number | yes | – |
No output schema declared.
No examples provided.
start_analysis Start an analysis ~204
Call this first for every new question. Read the user's request and choose mode: "hypothesis_test" when they want to know whether a difference, effect or relationship is real / significant / caused by something, or want to test a claim; "explore" when they want to describe, summarise, visualise, estimate or plan, without testing a claim. If the request is ambiguous, ask the user before calling. Returns the steps to follow.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | – | The data file the user named or attached to the chat (CSV, TSV, Excel or Parquet): pass its path or name, never its contents. Large files are fine. |
| mode | string | yes | "explore" for describing, comparing, ranking, summarising, charting or finding patterns (most analytics questions); "hypothesis_test" when asked whether a difference or relationship is significant /… |
| question | string | yes | The user's request, in their own words. |
No output schema declared.
No examples provided.
state_hypotheses Step 1: state the question, hypotheses and test ~299
Step 1 of a hypothesis test. Fix the test, the data selection and H₀/H₁ BEFORE looking at results. test_arguments are the same fields the test takes (e.g. t_test: {type, file, column, group_column, group1, group2, equal_variances, mu0}; anova: {file, column, group_column}; ab_test: {metric, file, variant_column, outcome_column, control, success_value, expected_split, segment_column}; chi_square: {type, file, row_column, col_column}; correlation: {file, x_column, y_column, method}). Only use columns the user asked about. The user confirms every column/group choice, the direction and α. Calling it again later revises the plan and restarts steps 2–6.
| Name | Type | Req | Description |
|---|---|---|---|
| alpha | number | – | – |
| alternative | string | – | Decide from the question, never from the data. |
| confidence | number | – | – |
| confirmation_token | string | – | Only after the user has confirmed the proposed choices: the confirmation_token from the previous response. |
| h0 | string | – | Null hypothesis in plain words (a sensible default is proposed if omitted). |
| h1 | string | – | – |
| test | string | yes | – |
| test_arguments | object | yes | Fields for the chosen test (file, columns, groups, type, method, ...). Not alpha/alternative. |
No output schema declared.
No examples provided.
workflow_status Workflow status ~30
Shows the current analysis, which of the six steps are done, and the saved results (for the report).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
How do I install the Stats Explorer MCP server?
Stats Explorer runs locally as an npm package, launched with npx -y stats-explorer-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · stats-explorer-mcp
claude mcp add meador793-stats-explorer-mcp -- npx -y stats-explorer-mcp
What is the Stats Explorer MCP server?
Stats Explorer is an MCP server listed in the public MCP registry as io.github.Meador793/stats-explorer-mcp. Verified statistics for AI agents: guided tests, A/B tests, Tukey HSD, reports, optional Jev checks. This page covers its npm package (stats-explorer-mcp).
Is the Stats Explorer MCP server safe to use?
Stats Explorer scores 62 out of 100 on VerifyMCP. We recorded 3 known advisories against it as of 5 November 2026. It declares no install or post-install scripts. 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 Stats Explorer MCP server expose?
Stats Explorer exposes 23 tools: start_analysis, state_hypotheses, check_assumptions, check_spread, power_analysis, and 18 more. Their descriptions and schemas cost roughly 3,459 tokens of context every time the server is loaded.
Is the Stats Explorer MCP server still maintained?
Stats Explorer is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Stats Explorer MCP server under?
Stats Explorer declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.