Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ExcelForgeOpen D:/Work/sales.xlsx, read the first 20 rows, and format the header as bold."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ExcelForge
ExcelForge 是一个基于 MCP (Model Context Protocol) 的 Excel 操作工具集,让 AI 助手能够安全、高效地操作 Excel 文件。
✨ 功能特性
📖 工作簿管理 - 打开、保存、关闭 Excel 文件
📝 工作表操作 - 创建、重命名、删除工作表
📊 数据读写 - 读取和写入单元格数据
🧮 公式支持 - 验证和填充 Excel 公式
🎨 格式设置 - 字体、边框、填充、对齐等样式
📸 快照回滚 - 数据快照与版本回退
📋 操作审计 - 完整的操作日志记录
📋 系统要求
操作系统: Windows(依赖 Excel Desktop)
Python: >= 3.11
Excel: Microsoft Excel Desktop(已安装并激活)
🚀 快速开始
1. 安装
# 克隆仓库
git clone https://github.com/your-username/ExcelForge.git
cd ExcelForge
# 创建虚拟环境
python -m venv .venv
.venv\Scripts\activate # Windows
# 安装依赖
pip install -e .2. 配置
复制示例配置文件并根据需要修改:
cp config.example.yaml config.yamlconfig.yaml 配置说明:
server:
version: "0.2.0"
actor_id: "local-mcp-client"
excel:
visible: true # Excel 窗口是否可见
disable_events: true # 禁用 Excel 事件
disable_alerts: true # 禁用 Excel 警告弹窗
force_disable_macros: true # 强制禁用宏
paths:
allowed_roots: # 允许访问的目录(按需修改)
- "C:/Users/YourName/Documents"
- "D:/Work/Excel"
snapshots_dir: "./.runtime_data/snapshots" # 快照存储路径
sqlite_path: "./.runtime_data/excelforge.db" # 数据库路径
limits:
max_open_workbooks: 8 # 最大打开工作簿数
max_read_cells: 10000 # 单次最大读取单元格数
max_write_cells: 10000 # 单次最大写入单元格数
operation_timeout_seconds: 30 # 操作超时时间
snapshot:
max_per_workbook: 50 # 每个工作簿最大快照数
max_total_size_mb: 200 # 快照总大小上限
max_age_hours: 24 # 快照过期时间3. 在 AI 客户端中配置
Claude Desktop
编辑 Claude 配置文件(Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"excelforge": {
"command": "uv",
"args": ["run", "python", "-m", "excelforge", "--config", "config.yaml", "serve"],
"cwd": "C:/path/to/ExcelForge"
}
}
}VS Code (Trae / Kiro)
在项目 .kiro/settings/mcp.json 中配置:
{
"mcpServers": {
"excelforge": {
"command": "uv",
"args": ["run", "python", "-m", "excelforge", "--config", "config.yaml", "serve"],
"cwd": "${workspaceFolder}"
}
}
}4. 启动服务
# 直接启动 MCP 服务
python -m excelforge --config config.yaml serve🛠️ MCP 工具列表
工作簿操作
工具名称 | 功能描述 |
| 打开 Excel 文件 |
| 保存工作簿 |
| 关闭工作簿 |
| 创建新工作簿 |
| 获取工作簿信息 |
| 列出已打开的工作簿 |
工作表操作
工具名称 | 功能描述 |
| 创建新工作表 |
| 重命名工作表 |
| 检查工作表结构 |
数据操作
工具名称 | 功能描述 |
| 读取单元格数据 |
| 写入单元格数据 |
| 清除单元格内容 |
| 复制单元格区域 |
公式操作
工具名称 | 功能描述 |
| 验证公式表达式 |
| 在区域填充公式 |
格式设置
工具名称 | 功能描述 |
| 设置单元格样式(字体、边框、填充、对齐) |
| 自动调整列宽 |
快照与回滚
工具名称 | 功能描述 |
| 获取快照统计 |
| 清理过期快照 |
| 列出可用快照 |
| 预览快照差异 |
| 恢复到快照版本 |
审计日志
工具名称 | 功能描述 |
| 查询操作日志 |
📝 使用示例
打开文件并读取数据
用户: 打开 D:/Work/data.xlsx 文件,读取 Sheet1 的 A1:D10 区域写入数据并设置格式
用户: 在 Sheet1 的 A1 单元格写入"销售额",设置字体加粗、背景色为蓝色创建快照以便回滚
用户: 在修改数据前创建一个快照
用户: 如果出错了,恢复到之前的快照📁 项目结构
ExcelForge/
├── excelforge/ # 核心代码
│ ├── models/ # 数据模型
│ ├── services/ # 业务服务
│ ├── tools/ # MCP 工具定义
│ ├── persistence/ # 数据持久化
│ ├── runtime/ # Excel 运行时
│ └── utils/ # 工具函数
├── tests/ # 测试文件
├── config.yaml # 配置文件(需自行创建)
├── config.example.yaml # 配置示例
├── pyproject.toml # 项目配置
└── README.md # 本文件🔒 安全说明
路径限制: 只能访问
allowed_roots配置的目录操作审计: 所有操作都有日志记录
快照保护: 重要操作前自动创建快照,支持回滚
宏禁用: 默认禁用 Excel 宏,防止恶意代码执行
📄 开源许可证
本项目采用 MIT License 开源协议。
授权范围
您可以自由地:
✅ 商业使用 - 将软件用于商业目的
✅ 修改 - 修改软件源代码
✅ 分发 - 分发软件副本
✅ 私人使用 - 私人使用软件
条件
📋 保留版权声明 - 必须在软件副本中包含原始版权声明和许可证
📋 声明变更 - 修改文件后需声明已更改
免责声明
本软件按"原样"提供,不提供任何明示或暗示的保证,包括但不限于适销性和适用性保证。作者不对任何索赔、损害或其他责任负责。
详见 LICENSE 文件。
🤝 贡献指南
欢迎提交 Issue 和 Pull Request!
Fork 本仓库
创建功能分支 (
git checkout -b feature/AmazingFeature)提交更改 (
git commit -m 'Add some AmazingFeature')推送到分支 (
git push origin feature/AmazingFeature)创建 Pull Request
📮 联系方式
如有问题或建议,请提交 Issue。
ExcelForge - 让 AI 成为您的 Excel 助手 🚀
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.