多因子数据分级器
基于Model Context Protocol (MCP)的多因子综合智能数据分析工具,提供数据上传、字段分析、极性调整、隶属度计算、多准则算法、综合评定和内存资源管理功能。
服务介绍
多因子智能分析器———融合模糊数学与多属性决策的MCP服务
基于 Model Context Protocol (MCP) 的多因子综合智能数据分析工具,提供数据上传、字段分析、极性调整、隶属度计算、多准则算法、综合评定和内存资源管理功能。
🏆 项目状态
✅ MVP阶段功能完整验证通过 - 所有核心功能已实现并经过充分测试,当前为内存模式MVP版本
版本:v0.9.0-MVP
状态:生产就绪 - 内存模式,功能完整
最后更新:2025年10月
Cherry Studio 配置方法
将以下JSON配置添加到CherryStudio的MCP服务器设置中:
{
"mcpServers": {
"duoyinzi-mcp": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/duoyinzi_MCP",
"run",
"main.py"
]
}
}
}
📋 核心功能
✅ 数据上传与解析(已完成)
- 支持 CSV/Excel 格式文件上传
- 自动检测文件格式和编码
- 基础文件信息展示(行数、列数、字段名)
- 内存缓存:上传数据自动保存到内存缓存(MVP阶段特性)
✅ 智能字段分析(已完成)
- 数值字段分析:基本统计、分布特征、数据质量
- 分类字段分析:频率分析、熵值计算、多样性评估
- 极性自动识别:自动判断字段极性(极大型/极小型指标)
- 数据质量评估:缺失值分析、异常值检测
✅ 极性调整系统(已完成)
- 字段极性智能检测:自动触发极性检测,LLM引导评估字段极性类型
- 极性调整工具:支持手动确认字段极性,应用极性调整配置
- 数值转换:对"越大越好"字段自动进行取倒数转换,确保所有字段极性一致
- 调整报告:生成详细的极性调整报告和隶属度规则描述
✅ 隶属度计算(已完成)
- 下界型隶属度函数:基于数学公式实现,支持多级别隶属度计算
- 配置验证:自动检查配置格式和参数有效性
- 矩阵生成:完整的隶属度矩阵计算结果
- 持久化存储:计算结果自动保存为内存资源(MVP阶段特性)
✅ 多准则计算(已完成)
- TOPSIS综合评价算法:基于逼近理想解排序法,支持多维度决策分析
- VIKOR折衷排序算法:实现多准则妥协解排序方法,提供折衷解决方案
- 权重配置支持:支持自定义权重分配,适应不同业务场景需求
- 结果可视化:生成详细的综合评价报告和排序结果
- 算法验证模式:支持论文数据验证,确保算法准确性
- 内存缓存优化:计算结果自动缓存,支持快速查询和导出
✅ 等级综合评定(已完成)
- 级别特征值计算:基于公式4-32实现综合隶属度向量的加权平均值计算
- 二元语义评定:基于公式4-33实现离散等级划分和符号偏移值计算
- 等级划分算法:支持多级别(默认4级)的精确等级评定
- 评定报告生成:自动生成包含综合隶属度、级别特征值、二元语义和最终等级的详细报告
- 符号偏移分析:提供等级边界的细微差异信息,支持精确决策分析
内存资源系统(MVP阶段已完成)
- 内存缓存基础架构:内存缓存机制实现、资源索引管理、轻量级部署支持
- 自动缓存功能:上传数据自动缓存到内存、计算结果自动保存到内存、资源索引自动维护
- 会话内数据管理:当前会话数据可用性、资源查询和筛选功能、资源导出功能、资源删除功能
- 轻量级部署支持:无需磁盘文件管理、简化部署流程、降低系统复杂度
🏗️ 模块设计
三层架构设计:
- 数据层 (
data_layer/):负责CSV文件解析、字段类型识别、极性检测和数据质量检查 - 算法层 (
algorithm_layer/):实现下界型隶属度函数、TOPSIS多准则决策算法、数据规范化处理 - 交互层 (
interaction_layer/):提供MCP Prompt模板、步骤指导和业务场景建议
核心组件依赖关系:数据上传 → 字段分析 → 极性调整 → 隶属度计算 → 多准则计算 → 二元语义分割
内存资源管理(MVP阶段特性): - 会话期间数据自动缓存到内存
- 支持资源查询、导出和删除操作
- 重启后数据清除,确保轻量级部署
🚀 技术栈
- MCP 框架: FastMCP + 标准 MCP Server 混合实现
- 数据处理: pandas, numpy, scipy
- 算法实现: 模糊数学、多准则决策、二元语义
- 交互设计: MCP Prompts + 动态资源管理
- 持久化存储: 基于 pickle 序列化 + JSON 索引管理的内存缓存机制(MVP阶段)
- 资源管理: 标准化资源命名 + 依赖链跟踪
📁 项目结构
完整文件结构:
duoyinzi_MCP-main/
├── modules/ # 核心功能模块(三层架构)
│ ├── data_layer/ # 数据层:文件解析与字段分析
│ │ ├── __init__.py
│ │ ├── file_parser.py # CSV文件解析器(支持多编码格式)
│ │ └── field_analyzer.py # 智能字段分析器(自动极性检测)
│ ├── algorithm_layer/ # 算法层:隶属度计算与综合评价
│ │ ├── __init__.py
│ │ ├── membership_functions.py # 下界型隶属度函数实现
│ │ ├── topsis_comprehensive_evaluation.py # TOPSIS多准则决策
│ │ └── vikor_comprehensive_evaluation.py # VIKOR多准则决策
│ └── interaction_layer/ # 交互层:Prompt模板与业务指导
│ ├── __init__.py
│ └── prompt_templates.py # 步骤指导与业务场景建议模板
├── persistent_resources/ # 内存资源缓存(MVP阶段)
│ └── resource_index.json # 内存资源索引文件(MVP阶段仅索引)
├── resources/ # 静态资源目录
│ └── sample_data/ # 业务场景示例数据
├── test_resources/ # 测试资源目录
│ └── test_topsis.csv # TOPSIS算法测试数据
├── main.py # MCP服务器主入口文件
├── main_old.py # 旧版本主文件(备份)
├── pyproject.toml # 项目配置与依赖管理
├── uv.lock # 依赖版本锁定文件
├── README.md # 项目使用说明文档
├── MEMORY_STORAGE_SUMMARY.md # 内存存储机制说明
├── MODULE_STRUCTURE.md # 模块结构说明
├── QUICK_REFERENCE.md # 快速参考指南
└── 函数分类.md # 函数分类说明文档
数据层组件:
file_parser.py- 支持GBK/UTF-8多编码格式的CSV文件解析,自动处理数据类型转换field_analyzer.py- 智能分析字段统计特征,自动推荐极性配置(效益型/成本型)
算法层组件:
membership_functions.py- 实现下界型隶属度函数,支持三级(低/中/高)隶属度计算topsis_comprehensive_evaluation.py- TOPSIS多准则决策算法,支持论文数据验证模式vikor_comprehensive_evaluation.py- VIKOR多准则决策算法,支持折衷排序方法grade_comprehensive_assessment.py- 等级综合评定算法,实现级别特征值计算和二元语义评定
交互层组件:
prompt_templates.py- 提供分步骤操作指导和业务场景应用建议
主服务器文件:
main.py- MCP服务器主入口,集成所有功能模块,提供完整的数据处理工作流
内存资源管理(MVP阶段特性):
- 会话期间数据自动缓存,支持查询/导出/删除操作
- 重启后数据清除,实现轻量级无状态部署
- 资源命名规范:
{类型}_{uuid}_{步骤标识}
🛠️ 可用工具列表
基于main.py文件实现的MCP工具函数,提供完整的数据分析工作流支持:
📊 数据上传与解析工具
upload_csv- 上传CSV文本数据并缓存为资源,自动触发字段极性智能检测upload_excel- 上传Excel文件数据并缓存为资源,自动触发字段极性智能检测
🔍 数据管理与查询工具
list_data_resources- 列出当前缓存的所有数据资源list_resources_by_type- 按类型列出资源clear_data_cache- 清空数据缓存list_persistent_resources- 列出存储中的所有资源,支持按类型筛选delete_persistent_resource- 删除指定资源,仅从内存和索引中删除get_resource_dependency_chain- 获取资源的依赖链信息,追踪资源生成路径
📈 字段分析与极性配置工具
analyze_data_fields- 分析数据集的字段特征,包括字段类型识别、统计特征、缺失值分析、数据质量评估和字段极性检测apply_polarity_adjustment_tool- 根据极性配置调整数据极性,支持min/max类型字段处理generate_membership_config_template- 生成下界型隶属度计算配置模板,基于数据特征自动生成默认3级别参数
🧮 隶属度计算工具
validate_membership_config- 验证下界型隶属度计算配置,检查参数有效性、字段一致性和级别参数顺序calculate_membership_with_config- 使用下界型函数配置执行隶属度计算,生成隶属度矩阵结果
⚖️ 多准则决策工具
perform_topsis_comprehensive_evaluation- 实现TOPSIS多准则决策分析算法,基于欧氏距离计算相对接近度,支持自定义权重分配perform_vikor_comprehensive_evaluation- 使用VIKOR方法进行综合评估计算,实现多准则妥协排序分析
🎯 等级综合评定工具
perform_grade_comprehensive_assessment- 执行等级综合评定算法,基于TOPSIS结果进行级别特征值计算和二元语义评定,支持多级别等级划分
💾 数据导出工具
export_resource_to_csv- 将指定资源导出为CSV格式,提供详细的字段解释和下一步行动建议
🔧 辅助工具
generate_data_quality_summary- 生成数据质量摘要报告generate_analysis_summary- 生成分析总结报告
🚀 使用方法
🔄 标准工作流程
MCP智能数据分析工具遵循标准的多准则决策分析流程,包含以下7个核心步骤:
- 数据上传 - 使用
upload_csv或upload_excel工具上传结构化数据 - 极性配置 - 使用
apply_polarity_adjustment_tool统一字段极性(越大越好/越小越好) - 隶属度计算 - 使用
calculate_membership_with_config进行数据模糊化处理 - 综合评估 - 使用
perform_topsis_comprehensive_evaluation或perform_vikor_comprehensive_evaluation进行多准则决策分析 - 等级评定 - 使用
perform_grade_comprehensive_assessment进行等级综合评定,获得业务对象的最终等级划分 - 结果解读 - 分析评估报告,获取业务洞察和决策建议
- 数据导出 - 使用
export_resource_to_csv导出分析结果
📊 核心工具使用指南
数据上传与极性配置
- 支持格式:CSV、Excel等结构化数据格式
- 极性设置:根据业务逻辑设置字段极性(效益型指标设为"越大越好",成本型指标设为"越小越好")
- 自动缓存:上传数据自动保存为内存资源,支持会话内复用
数据示例
用户可以直接在对话中粘贴csv格式的数据或上传excel文件:
业务对象,f1(超量库存/倍),f2(库存呆滞/天),f3(超量采购/倍),f4(运营年限/年)
T1,16.92,160.17,70.53,3.5
T2,0,86.91,0,6.0
T3,0,0,0,5.5
T4,2.0,507.12,1.0,6.5
T5,20.0,618.24,41.63,8.5
T6,0,0,9.0,1.5
T7,18.68,823.42,40.28,3.5
极性设置示例:
f1\f2\f3\f4都是越小越好 (min)
说明:所有字段均为成本型指标,设置为"越小越好"极性
系统也会根据数据特征自动生成数据极性配置建议,根据需要,用户可以在对话中进行调整。
隶属度计算配置
- 配置模板:可使用
generate_membership_config_template生成默认配置 - 参数调整:根据数据特征调整级别参数,支持多级别隶属度计算
- 配置验证:使用
validate_membership_config验证参数有效性
配置示例(库存管理场景):
{
"级别参数": {
"f1(超量库存/倍)": [15, 10.0, 5.0, 2],
"f2(库存呆滞/天)": [180, 90, 60, 30],
"f3(超量采购/倍)": [20, 10, 5, 2],
"f4(运营年限/年)": [3, 2, 1, 0.5]
}
}
说明:每个字段对应4个级别参数,分别表示不同隶属度级别的阈值划分
系统首先会根据数据统计特征自动生成默认的隶属度计算配置,用户可以根据实际情况进行调整。
多准则决策分析
- TOPSIS方法:基于逼近理想解排序法,适合需要明确最优解的决策场景
- VIKOR方法:基于妥协排序法,适合需要平衡多个目标的决策场景
- 权重分配:根据业务重要性自定义权重,支持不同决策偏好
TOPSIS计算示例:
使用TOPSIS综合评估方法,继续进行评估,权重设置为(0.32,0.24,0.24,0.20)
说明:权重分配根据业务重要性设置,总和为1.0。如果没有说明权重配置,系统默认为等权重配置。
等级综合评定
- 等级划分:支持多级别(默认4级)的精确等级评定
- 二元语义:提供(k, α)格式的评定结果,k为等级,α为符号偏移值
- 参数调整:可根据业务需求调整等级数量参数
等级评定示例:
使用等级综合评定方法,继续进行等级评定,等级数量设置为4级
说明:等级数量默认为4级,可根据业务场景调整为3级、5级等不同级别。
📈 结果解读指南
TOPSIS评估结果解读
- 相对接近度(V值):值越大表示方案越优,V=1.000表示达到理想状态
- 级别分析:分析不同级别下的最优方案,识别稳定表现者
- 排序结果:基于V值进行方案排序,识别标杆和需改进对象
VIKOR评估结果解读
- Q值排序:基于妥协解的综合排序结果
- S值和R值:分别表示群体效用和个体遗憾,帮助理解决策权衡
- 折衷分析:识别在不同决策偏好下的最优方案
等级综合评定结果解读
- 级别特征值(V值):综合隶属度向量的加权平均值,反映业务对象的整体等级倾向
- 二元语义(k, α):k为评定等级,α为符号偏移值,提供等级边界的细微差异信息
- 最终等级:根据二元语义确定的业务对象等级,支持精确的等级划分
- 符号偏移分析:α>0表示偏向更高等级,α<0表示偏向更低等级,α=0表示等级边界清晰
💡 最佳实践建议
- 数据预处理:确保数据格式规范,字段含义清晰
- 极性一致性:统一所有字段极性方向,确保评估逻辑一致
- 参数调优:根据数据分布特征调整隶属度计算参数
- 方法对比:同时使用TOPSIS和VIKOR方法获得全面决策视角
- 权重敏感性:测试不同权重分配对结果的影响
- 结果验证:通过业务逻辑验证评估结果的合理性
🔧 辅助工具使用
- 资源管理:使用
list_data_resources查看当前会话资源状态 - 数据质量:使用
analyze_data_fields进行数据质量评估 - 配置验证:使用
validate_membership_config确保计算参数正确 - 结果导出:使用
export_resource_to_csv保存分析结果
📞 联系方式
如有问题或建议,请通过以下方式联系:
理论方法拓展阅读
参考书籍信息:
- 《目标威胁多因子综合评估稳定性分析方法》
- 作者:李登峰 著
- ISBN:9787030746825
- 出版日期:2023-09
- 版次:1
💡 推荐阅读:本MCP工具主要实现了本书中的多因子等级评估方法,包括隶属度函数计算、TOPSIS/VIKOR多准则决策、二元语义等级评定等核心算法。对多因子综合评估理论感兴趣的朋友,建议阅读原著深入了解算法原理和数学基础。
购买链接:👈
【卷后限时秒杀价】78.5元🍖
https://u.jd.com/BOUtDeI复制链接到京东,即可领券下单