Skip to main content
Glama

Data Analysis MCP Server

by boyzhang666
README.md6.94 kB
# 数据分析MCP工具集 专业的工业数据分析工具集,基于FastAPI-MCP架构,提供多种统计分析方法,适用于时间序列分析、数据质量检查和统计建模等场景。 ## 🚀 功能特性 ### 核心分析工具 - **相关性分析**: 支持Pearson、Spearman、Kendall相关系数计算 - **平稳性检验**: 提供ADF、PP、KPSS时间序列平稳性检验 - **分布分析**: 数据分布特征和趋势模式分析 - **异常值检测**: 多种异常值检测方法和综合评估 - **因果关系分析**: 格兰杰因果检验、互相关分析等(支持两变量和多变量分析) - **时序相似度分析**: DTW动态时间规整、滑动窗口分析等 - **时间序列预测**: 多项式趋势预测、指数平滑预测(专为分钟级数据优化) ### 技术特点 - 基于FastAPI-MCP架构,支持AI工具调用 - RESTful API接口,易于集成 - 完整的数据验证和错误处理 - 详细的分析结果和建议 - 支持多种数据格式和参数配置 ## 📁 项目结构 ``` data_analysis_mcp/ ├── config/ # 配置文件目录 │ ├── __init__.py │ ├── config.json # 配置文件 │ └── config.py # 配置加载模块 ├── routers/ # 路由模块目录 │ ├── two_correlation_calculate.py # 两变量相关性分析 │ ├── single_statistic_calculate.py # 单变量平稳性检验 │ ├── single_distribution_analysis.py # 单变量分布分析 │ ├── single_outlier_detection.py # 单变量异常值检测 │ ├── two_causal_analysis.py # 两变量因果关系分析 │ ├── multi_causal_analysis.py # 多变量因果关系分析 │ ├── two_similarity_analysis.py # 两变量时序相似度分析 │ ├── single_time_series_forecast.py # 单变量时间序列预测 │ └── utils/ # 工具函数目录 ├── log/ # 日志文件目录 ├── doc/ # 文档目录 ├── main.py # 应用启动文件 ├── requirements.txt # 依赖包列表 └── README.md # 项目说明文档 ``` ## 🛠️ 安装和使用 ### 环境要求 - Python 3.8+ - FastAPI - NumPy, SciPy, Pandas - Statsmodels ### 安装依赖 ```bash pip install -r requirements.txt ``` ### 启动服务 ```bash python main.py ``` 服务将在 `http://localhost:6003` 启动。 ### API文档 启动服务后,访问以下地址查看API文档: - Swagger UI: `http://localhost:6003/docs` - ReDoc: `http://localhost:6003/redoc` ### MCP客户端配置 选择`可流式传输的 HTTP (streamableHttp):` - URL: `http://127.0.0.1:6003/mcp` ## 📊 API接口说明 ### 1. 两变量相关性分析 (`/api/correlation`) 计算两组数据间的相关系数,支持Pearson、Spearman、Kendall相关性度量方法。 **请求示例:** ```json { "data1": [1.0, 2.0, 3.0, 4.0, 5.0], "data2": [2.0, 4.0, 6.0, 8.0, 10.0], "method": "pearson" } ``` ### 2. 单变量平稳性检验 (`/api/statistic_calculate`) 执行时间序列平稳性检验,支持ADF、PP、KPSS检验方法。 **请求示例:** ```json { "data": [1.2, 2.3, 1.8, 4.5, 2.1, 3.2, 1.9, 2.8, 3.5, 6.1], "test_type": "adf", "significance_level": 0.05 } ``` ### 3. 单变量分布分析 (`/api/distribution_analysis`) 分析单个变量的分布特征和趋势模式。 **请求示例:** ```json { "data": [1.2, 2.3, 1.8, 4.5, 2.1, 3.2, 1.9, 2.8, 3.5, 6.1] } ``` ### 4. 单变量异常值检测 (`/api/outlier_detection`) 使用多种方法检测单个变量数据中的异常值。 **请求示例:** ```json { "data": [1.2, 2.3, 1.8, 4.5, 2.1, 3.2, 1.9, 2.8, 3.5, 6.1, 15.0], "method": "iqr" } ``` ### 5. 两变量因果关系分析 (`/api/causal_analysis`) 分析两个变量间的因果关系,支持格兰杰因果检验等方法。 **请求示例:** ```json { "data1": [1.2, 2.3, 1.8, 4.5, 2.1, 3.2, 1.9, 2.8, 3.5, 6.1], "data2": [2.1, 3.2, 2.5, 5.1, 2.8, 4.1, 2.6, 3.5, 4.2, 6.8], "method": "granger", "max_lag": 3 } ``` ### 6. 多变量因果关系分析 (`/api/multi_causal_analysis`) 分析多个测点之间的因果关系网络,识别影响关系。 **请求示例:** ```json { "data": { "temperature": [20.1, 20.5, 21.0, 21.2, 21.8, 22.0, 21.5, 21.0, 20.8, 20.3], "pressure": [1.01, 1.02, 1.05, 1.08, 1.12, 1.15, 1.10, 1.06, 1.03, 1.01], "flow_rate": [10.2, 10.8, 11.5, 12.0, 12.8, 13.2, 12.5, 11.8, 11.0, 10.5] }, "method": "granger" } ``` ### 7. 两变量时序相似度分析 (`/api/similarity_analysis`) 分析两个时间序列的相似度和最佳匹配区间。 **请求示例:** ```json { "data1": [1.2, 2.3, 1.8, 4.5, 2.1, 3.2, 1.9, 2.8, 3.5, 6.1], "data2": [1.5, 2.1, 2.0, 4.2, 2.3, 3.0, 2.1, 2.9, 3.3, 5.8], "window_size": 5, "normalize": true } ``` ### 8. 单变量时间序列预测 (`/api/time_series_forecast`) 对单个指标的历史数据进行未来预测,专为分钟级数据优化。 **请求示例:** ```json { "data": [10, 11, 12, 13, 14], "forecast_periods": 3, "method": "polynomial_trend" } ``` ## 🔧 配置说明 ### 配置文件 (`config/config.json`) ```json { "server": { "host": "0.0.0.0", "port": 6003 }, "logging": { "level": "INFO", "max_bytes": 3145728, "backup_count": 1 } } ``` ## 📝 开发说明 ### 添加新的分析工具 1. 在 `routers/` 目录下创建新的路由文件 2. 定义请求和响应模型 3. 实现分析逻辑 4. 在 `main.py` 中注册路由 5. 更新MCP配置中的 `include_operations` ### 代码规范 - 使用Pydantic进行数据验证 - 添加详细的API文档字符串 - 实现完整的错误处理 - 添加日志记录 - 编写单元测试 ## 📈 应用场景 ### 工业应用 - 设备状态监控和异常检测 - 过程参数相关性分析 - 生产数据质量评估 - 预测模型特征工程 ### 数据科学 - 探索性数据分析(EDA) - 时间序列分析 - 统计建模预处理 - 数据质量评估 ## 🤝 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 📞 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发送邮件 - 邮箱:[zhangboy666@gmail.com] - 项目讨论区 --- **版本**: v1.0.0 **最后更新**: 2025年9月

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/boyzhang666/data-analysys-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server