Stats Engine MCP Server
MCP 统计分析服务器 (mcp-stats-engine)
一个基于 Model Context Protocol (MCP) 的统计分析服务器,提供 30 个专业统计工具,涵盖描述性统计、假设检验、回归分析和时间序列分析四大模块。所有工具返回 Markdown 格式的分析报告,数组参数以逗号分隔字符串传递,便于 AI 代理直接调用和展示。
特性
30 个专业统计工具: 覆盖统计分析全流程
Markdown 输出: 所有工具返回格式化的 Markdown 字符串,包含表格、统计量和结论解读
FastMCP 框架: 基于
mcp.server.fastmcp.FastMCP和@mcp.tool()装饰器科学计算引擎: 使用 scipy.stats 和 statsmodels 实现统计计算
简洁的参数设计: 数组参数以逗号分隔字符串传递,多组数据以分号分隔
自动结论解读: 每个工具都包含基于 p 值和效应量的自动统计结论
安装方法
1. 安装依赖
pip install -r requirements.txt依赖包列表:
mcp>=1.0.0- MCP 协议框架scipy- 科学计算statsmodels- 统计建模numpy- 数值计算pandas- 数据处理
2. 配置 MCP 客户端
在 MCP 客户端配置文件中添加以下配置(以 Claude Desktop 为例):
{
"mcpServers": {
"stats-engine": {
"command": "python",
"args": ["path/to/mcp-stats-engine/server.py"]
}
}
}3. 启动服务器
python server.py使用示例
描述性统计
工具: descriptive_statistics_tool
参数: data = "12,15,14,10,18,20,17,16,13,19"双样本 t 检验
工具: two_sample_ttest_tool
参数:
group1 = "25,28,30,32,35,27,29,31,33,26"
group2 = "20,22,24,26,28,21,23,25,27,22"
equal_var = true单因素方差分析
工具: anova_test_tool
参数: groups_data = "1,2,3,4,5;2,4,6,8,10;3,5,7,9,11"OLS 线性回归
工具: ols_regression_tool
参数:
y_data = "1,2,3,4,5,6,7,8,9,10"
x_data = "2,4,5,7,9,11,12,14,15,17"ARIMA 预测
工具: arima_forecast_tool
参数:
data = "30,28,32,35,33,31,29,27,30,33,36,34,32,30,33,36,38,35,33,31"
order = "1,0,1"
forecast_steps = 5正态性检验
工具: normality_test_tool
参数:
data = "12,15,14,10,18,20,17,16,13,19,22,25"
method = "shapiro"工具列表
辅助工具 (4个)
工具 | 说明 |
| 数据解析(逗号分隔字符串转数值列表) |
| 置信区间计算(基于 t 分布) |
| 效应量计算(Cohen's d / Glass's delta) |
| 功效分析(样本量计算) |
描述性统计 (6个)
工具 | 说明 |
| 描述性统计(均值/中位数/众数/方差/偏度/峰度/四分位数) |
| 频数分布表 |
| 五数概括(Min/Q1/Median/Q3/Max) |
| 相关分析(Pearson/Spearman/Kendall) |
| 协方差矩阵 |
| 异常值检测(IQR/Z-score) |
假设检验 (8个)
工具 | 说明 |
| 单样本 t 检验 |
| 双样本 t 检验(含 Welch's t 检验) |
| 配对 t 检验 |
| 卡方检验(拟合优度) |
| 单因素方差分析 (ANOVA) |
| Mann-Whitney U 检验(非参数) |
| Wilcoxon 符号秩检验(非参数配对) |
| 正态性检验(Shapiro-Wilk/K-S) |
回归分析 (6个)
工具 | 说明 |
| OLS 线性回归(一元) |
| 多元线性回归 |
| Logistic 回归(统计视角) |
| 加权最小二乘回归 (WLS) |
| 残差分析(正态性/独立性/同方差性) |
| 多重共线性检验 (VIF) |
时间序列分析 (6个)
工具 | 说明 |
| 时间序列分解(趋势/季节/残差) |
| ACF/PACF 分析 |
| ADF 单位根检验 |
| KPSS 平稳性检验 |
| ARIMA 预测 |
| Granger 因果检验 |
技术栈
技术 | 用途 |
Model Context Protocol 通信框架 | |
MCP Python 服务器框架 | |
科学计算与统计检验 (scipy.stats) | |
统计建模 (OLS/WLS/Logit/ARIMA/时间序列) | |
数值计算 | |
数据处理 |
项目结构
mcp-stats-engine/
├── server.py # 主入口,FastMCP 服务器
├── descriptive_tools.py # 描述性统计工具(6个)
├── hypothesis_tools.py # 假设检验工具(8个)
├── regression_tools.py # 回归分析工具(6个)
├── timeseries_tools.py # 时间序列工具(6个)
├── utils.py # 辅助函数(4个工具)
├── README.md # 项目文档
├── SKILL.md # SkillHub 技能描述
└── requirements.txt # 依赖测试
运行单元测试:
pip install pytest flake8
pytest tests/ -v --tb=short代码质量检查:
flake8 . --count --max-line-length=120 --statistics许可证
MIT License