Offers integration for repository access, issue tracking, and documentation through GitHub
Supports numerical computing operations for data analysis, with execution of NumPy code in a sandboxed environment for processing Excel and CSV data
Enables data manipulation and analysis of Excel and CSV files, with support for code execution, parameter recommendation, and handling complex Excel structures
Provides interactive data visualization capabilities for generating bar charts, pie charts, and line charts from Excel and CSV data
Enables testing and validation of the Excel processing functionality
ChatExcel MCP Server
🚀 企业级Excel智能处理与数据分析MCP服务器 - 基于FastMCP构建的高性能数据处理解决方案
📋 项目概述
ChatExcel MCP Server 是一个功能强大的模型上下文协议(MCP)服务器,专门为Excel文件处理、数据分析和可视化而设计。项目集成了Python生态系统的最佳数据处理库,并通过Go excelize库提供高性能Excel操作能力。
🎯 核心特性
- 24个专业MCP工具 - 覆盖数据读取、处理、验证、可视化、公式计算全流程
- 双引擎架构 - Python pandas + Go excelize 混合处理引擎
- Excel公式引擎 - 基于formulas库的完整Excel公式解析、编译和执行系统
- 智能参数推荐 - 自动检测Excel文件结构并推荐最佳读取参数
- 企业级安全 - 多层安全机制,代码沙箱执行环境,公式安全验证
- 性能优化 - 缓存机制、并发处理、内存优化
- 健康监控 - 完整的服务监控、日志记录和错误追踪
- 可视化支持 - 交互式图表生成(Chart.js、Plotly、Matplotlib)
🛠️ MCP工具列表
本项目提供 24个专业MCP工具,覆盖Excel数据处理、分析、验证和公式计算的完整生命周期。
📊 数据读取与元数据工具 (4个)
工具名称 | 功能描述 | 主要特性 |
---|---|---|
read_metadata | CSV文件元数据读取和智能分析 | 编码检测、分隔符识别、数据统计 |
read_excel_metadata | Excel文件元数据读取和完整性验证 | 多工作表分析、智能编码检测 |
excel_read_enhanced | 增强版Excel读取工具 | Go excelize集成、智能参数推荐 |
excel_info_enhanced | 增强版Excel文件信息获取 | 详细文件分析、工作表统计 |
🔧 数据处理与执行工具 (6个)
工具名称 | 功能描述 | 主要特性 |
---|---|---|
run_excel_code | Excel代码执行引擎 | 安全沙箱、复杂格式参数支持 |
run_code | CSV代码执行引擎 | 安全环境、pandas集成 |
excel_write_enhanced | 增强版Excel写入工具 | 格式优化、样式支持 |
excel_chart_enhanced | 增强版Excel图表生成 | 多种图表类型、自定义样式 |
excel_performance_comparison | Excel性能对比分析 | Go vs Python性能测试 |
batch_data_verification_tool | 批量数据验证工具 | 并发处理、批量报告 |
📈 数据可视化工具 (3个)
工具名称 | 功能描述 | 主要特性 |
---|---|---|
bar_chart_to_html | 交互式柱状图生成 | Chart.js、响应式设计 |
pie_chart_to_html | 交互式饼图生成 | 动画效果、数据标签 |
line_chart_to_html | 交互式折线图生成 | 多维数据、趋势分析 |
🔍 数据验证与质量工具 (3个)
工具名称 | 功能描述 | 主要特性 |
---|---|---|
verify_data_integrity | 数据完整性验证和比对核准 | 多种验证模式、详细报告 |
validate_data_quality | 数据质量验证和改进建议 | 质量评分、优化建议 |
comprehensive_data_verification_tool | 综合数据验证和核准工具 | 全面验证、质量评估、比对核准 |
🤖 智能辅助工具 (3个)
工具名称 | 功能描述 | 主要特性 |
---|---|---|
suggest_excel_read_parameters_tool | Excel读取参数智能推荐 | 结构分析、参数优化 |
detect_excel_file_structure_tool | Excel文件结构检测 | 多级表头、数据区域识别 |
create_excel_read_template_tool | Excel读取代码模板生成 | 智能模板、参数配置 |
🧮 Excel公式处理工具 (5个) - 新增
工具名称 | 功能描述 | 主要特性 |
---|---|---|
parse_formula | Excel公式解析器 | AST解析、语法分析、安全验证 |
compile_workbook | Excel工作簿编译器 | 公式编译、代码生成、依赖分析 |
execute_formula | Excel公式执行引擎 | 安全执行、上下文支持、结果验证 |
analyze_dependencies | Excel公式依赖分析 | 依赖图生成、循环检测、影响分析 |
validate_formula | Excel公式验证器 | 安全检查、语法验证、风险评估 |
🧮 Excel公式处理功能详解
功能概述
基于 formulas==1.2.10
库构建的完整Excel公式处理系统,提供从解析到执行的全流程支持。
核心工具详解
1. parse_formula
- 公式解析器
2. compile_workbook
- 工作簿编译器
3. execute_formula
- 公式执行引擎
4. analyze_dependencies
- 依赖分析器
5. validate_formula
- 公式验证器
安全特性
- AST安全分析: 检测潜在的恶意代码模式
- 函数白名单: 仅允许安全的Excel函数
- 引用验证: 验证单元格引用的合法性
- 执行沙箱: 隔离的公式执行环境
性能优化
- 缓存机制: 解析结果智能缓存
- 并发支持: 多公式并行处理
- 内存管理: 大文件分块处理
- 错误恢复: 优雅的异常处理
🚀 快速开始
环境要求
- Python: 3.11+
- 操作系统: macOS, Linux, Windows
- 内存: 建议4GB+
- 磁盘空间: 500MB+
一键部署
手动安装
Docker部署
📖 使用示例
基础Excel读取
智能参数推荐
数据处理与分析
可视化图表生成
🏗️ 项目架构
系统架构图
核心模块
📁 主要文件结构
🔧 引擎类设计
- ExcelEnhancedProcessor: 高性能Excel处理引擎
- DataVerificationEngine: 数据验证和质量检查引擎
- ComprehensiveDataVerifier: 综合数据验证器
- SecureCodeExecutor: 安全代码执行器
数据流架构
Excel处理流程
数据验证流程
代码执行流程
性能优化架构
缓存机制
并发处理
安全架构设计
多层安全防护
错误处理机制
扩展性设计
插件架构
配置管理
监控与运维架构
健康检查
日志与监控
🧪 测试与验证
运行测试套件
健康检查
核心依赖验证
🔒 安全考虑
代码执行安全
- 黑名单过滤: 禁止危险操作(os, sys, subprocess等)
- 沙箱环境: 隔离代码执行环境
- 资源限制: 内存、CPU、执行时间限制
- 输入验证: 严格的参数验证和类型检查
文件访问安全
- 路径验证: 防止目录遍历攻击
- 文件大小限制: 防止大文件攻击
- 格式验证: 确保文件格式正确性
- 权限检查: 文件读写权限验证
网络安全
- HTTPS支持: 加密传输
- 认证机制: API密钥验证
- 速率限制: 防止DDoS攻击
- 审计日志: 完整的操作记录
🛠️ 运维工具
自动化脚本
缓存管理
日志管理
⚡ 性能优化
内存优化
- 分块读取: 大文件分块处理
- 内存池: 对象重用机制
- 垃圾回收: 主动内存清理
- 缓存策略: LRU缓存淘汰
并发优化
- 异步处理: asyncio并发模型
- 线程池: CPU密集型任务并行
- 连接池: 数据库连接复用
- 队列机制: 任务队列管理
I/O优化
- 批量操作: 减少I/O次数
- 压缩传输: 数据压缩传输
- 预读取: 智能数据预加载
- 缓存命中: 提高缓存命中率
🐛 故障排除
常见问题
1. 服务启动失败
2. Excel读取失败
3. Go服务连接失败
调试工具
📄 许可证
本项目采用 MIT License 开源协议。
🤝 贡献指南
我们欢迎社区贡献!请遵循以下步骤:
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 开启 Pull Request
开发规范
- 遵循 PEP 8 代码风格
- 添加适当的测试用例
- 更新相关文档
- 确保所有测试通过
代码质量检查
📞 联系方式
- 项目维护者: ChatExcel Team
- 问题反馈: GitHub Issues
- 功能建议: GitHub Discussions
- 技术支持: Lillardw459@gmail.com
🙏 致谢
感谢以下开源项目的支持:
- FastMCP - MCP服务器框架
- pandas - 数据分析库
- openpyxl - Excel文件处理
- excelize - Go Excel库
- formulas - Excel公式解析和执行引擎
- Chart.js - 图表可视化
- Plotly - 交互式图表
⭐ 如果这个项目对您有帮助,请给我们一个星标!
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A Model Context Protocol server for intelligent Excel processing and data analysis, offering tools for reading, validating, executing code, and generating interactive visualizations with Excel files.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that provides tools for reading Excel (xlsx) files, enabling extraction of data from entire workbooks or specific sheets with results returned in structured JSON format.Last updated -35PythonApache 2.0
- -securityAlicense-qualityA Model Context Protocol server that enables AI assistants to read from and write to Microsoft Excel files, supporting formats like xlsx, xlsm, xltx, and xltm.Last updated -9,178280GoMIT License
- AsecurityAlicenseAqualityEnables seamless reading, writing, and analyzing of Excel files through Model Context Protocol, with features for worksheet management, structure analysis, and automated caching.Last updated -821211TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that integrates with Google Drive and Google Sheets, enabling users to create, read, update, and manage spreadsheets through natural language commands.Last updated -134PythonMIT License