Skip to main content
Glama

Excel MCP Server

🚀 基于Model Context Protocol (MCP)的Excel处理服务器,使AI助手能够读取、写入和操作Excel文件。

Python MCP License

✨ 功能特性

  • 📊 Excel文件操作: 支持读取、写入和创建Excel文件 (.xlsx, .xls, .csv)

  • 🔍 数据查询: 高级数据查询和筛选功能

  • ✏️ 单元格操作: 数据修改和格式设置

  • 📋 工作表管理: 创建、删除、重命名工作表

  • 🧮 公式计算: 支持Excel公式的应用和计算

  • 📈 基础图表: 图表创建和操作

  • 🛡️ 安全机制: 路径验证、文件大小限制、自动备份

  • 🎨 数据格式化: 丰富的单元格格式设置选项

🏗️ 系统架构

graph TB subgraph "AI客户端" A[Claude Desktop/Code] B[MCP客户端] end subgraph "Excel MCP服务器" C[FastMCP服务器] D[Excel工具处理器] E[文件管理器] F[数据处理器] G[安全验证器] end subgraph "本地文件系统" H[Excel文件] I[临时文件] J[日志文件] end A --> B B <--> C C --> D D --> E D --> F D --> G E <--> H F <--> I G --> J

🚀 快速开始

1. 环境要求

  • Python 3.10 或更高版本

  • pip 包管理器

2. 安装依赖

git clone https://github.com/YOUR_USERNAME/excel-mcp.git cd excel-mcp pip install -r requirements.txt

3. 启动服务器

python server.py

4. 配置Claude Desktop

在Claude Desktop的配置文件中添加以下配置:

{ "mcpServers": { "excel-mcp": { "command": "python", "args": ["/path/to/excel-mcp/server.py"], "env": { "EXCEL_MCP_CONFIG": "/path/to/excel-mcp/config.json" } } } }

🛠️ 支持的操作

📁 文件操作

  • read_excel_file - 读取Excel文件内容

  • write_excel_file - 写入数据到Excel文件

  • create_excel_file - 创建新的Excel文件

  • get_excel_info - 获取Excel文件信息

📊 数据操作

  • query_excel_data - 查询Excel数据

  • get_range_info - 获取单元格范围信息

  • apply_formula - 应用Excel公式

📋 工作表操作

  • list_worksheets - 列出所有工作表

  • create_worksheet - 创建新工作表

  • delete_worksheet - 删除工作表

  • rename_worksheet - 重命名工作表

💡 使用示例

读取Excel文件

请帮我读取文件 data/sales_data.xlsx 的内容

创建新文件

创建一个新的Excel文件 report.xlsx,包含两个工作表:Sales 和 Summary

数据查询

在 sales_data.xlsx 的 Sheet1 中查找所有销售额大于1000的记录

应用公式

在 report.xlsx 的 Sales 工作表的D2单元格中应用公式 =B2*C2

🔧 配置选项

服务器配置通过 config.json 文件管理:

{ "server": { "name": "excel-mcp", "version": "1.0.0" }, "excel": { "max_file_size": "100MB", "supported_formats": [".xlsx", ".xls", ".csv"], "backup_enabled": true }, "security": { "allowed_paths": ["./data", "~/Documents", "~/Desktop"], "max_memory_usage": "512MB" } }

🧪 测试

运行测试套件:

# 基础功能测试 python tests/test_excel_mcp.py # 快速功能测试 python test_quick.py

📁 项目结构

excel-mcp/ ├── src/excel_mcp/ # 核心源码 │ ├── server.py # MCP服务器主程序 │ ├── file_manager.py # 文件管理模块 │ ├── data_processor.py # 数据处理模块 │ ├── sheet_operations.py # 工作表操作模块 │ ├── security.py # 安全验证模块 │ └── config.py # 配置管理模块 ├── tests/ # 测试文件 ├── data/ # 示例数据 ├── docs/ # 文档 └── config.json # 配置文件

🛡️ 安全特性

  • 路径验证: 防止目录遍历攻击

  • 文件类型检查: 仅允许指定的Excel格式

  • 文件大小限制: 防止内存耗尽

  • 访问权限控制: 限制可访问的目录

  • 自动备份: 修改文件前自动创建备份

  • 详细日志: 完整的操作和错误日志

🤝 贡献指南

我们欢迎所有形式的贡献!请查看 贡献指南 了解详情。

开发环境设置

  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 文件了解详情。

🙏 致谢

📞 支持

如果你遇到任何问题或有疑问,请:

  1. 查看 FAQ

  2. 搜索现有的 Issues

  3. 创建新的 Issue


⭐ 如果这个项目对你有帮助,请给它一个星标!

-
security - not tested
A
license - permissive license
-
quality - not tested

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/xuhongxin/excel-mcp'

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