用 AI 操控 Excel?四个基于 xlwings 的开源 MCP Server 推荐
Lv.2潜力创作者
引言:随着 Model Context Protocol(MCP)的兴起,让 Claude、Cursor、VS Code 等 AI 客户端直接读写 Excel、执行 VBA 宏,已经成为现实。本文盘点 4 个基于 xlwings(Python-Excel 桥接库)的开源 MCP Server,帮你在选型时少走弯路。
⚠️ 说明:xlwings 通过 Excel COM / AppleScript 操控 Excel,要求本机安装 Microsoft Excel。
一、为什么选 xlwings + MCP?
传统文件库(openpyxl、pandas)直接读写 .xlsx 文件,存在三个天然短板:
短板 | 文件库(openpyxl 等) | xlwings COM 方案 |
读 DRM / 权限保护文件 | ❌ 失败 | ✅ Excel 能打开就能读 |
获取用户当前选中区域 | ❌ 不支持 | ✅ 实时感知活动工作簿 |
执行 VBA 宏 / 公式即时计算 | ❌ 不支持 | ✅ 完整支持 |
xlwings 通过 COM 自动化连接正在运行的 Excel 进程,因此凡是 Excel 本身能打开的文件它都能处理。MCP 则把这些能力封装成 AI 可调用的「工具」。两者结合,就是下面 4 个项目的核心思路。
二、四个项目横向对比
项目 | 定位 | 工具数 | 架构亮点 | 平台 / 许可 |
**geniuskey** | 轻量、操控活动 Excel | 11 | 默认活动工作簿、DRM 支持 | Windows / MIT |
**hyunjae-labs** | 企业级、生产就绪 | 17 | Session 会话、TTL/LRU 清理 | Windows / MIT |
**vohoailinh90** | COM 线程安全参考实现 | 12 | 专用 COM 线程 + 命令队列 | Windows(设计)/ MIT |
**prabodh-hyd** | 最小可用、教学友好 | 11 | 跨平台 Mock 后端 | Win / Mac / MIT |
三、逐个详解
1️⃣ geniuskey/mcp-server-xlwings —— 轻量上手首选
🔗 仓库地址:
https://github.com/geniuskey/mcp-server-xlwings
核心卖点:所有工具在省略 workbook 参数时,默认操作「当前活动工作簿」——这让它特别适合「AI 帮你处理正在看的表格」这类交互。
11 个工具:
工作簿:get_active_workbook(活动工作簿/Sheet/选中区域)、manage_workbooks(列出/打开/保存/关闭/重算)
数据:read_data / write_data(支持 merge_info、sheet="*" 批量、单单元格公式)
Sheet:manage_sheets(增删改查、插入/删除行列)、find_replace
格式:format_range(粗体、颜色、边框、对齐、数字格式)
⭐ VBA:run_macro —— 执行 VBA 宏并获取返回值
其他:get_formulas、get_cell_styles、get_objects(图表/图片/形状)
典型场景:
「总结我选中的数据」 → get_active_workbook() 直接返回选中区域
「C10 写 SUM 公式」 → write_data(start_cell="C10", formula="=SUM(C2:C9)")
「运行 UpdateReport 宏」 → run_macro(macro_name="UpdateReport")
安装:uvx mcp-server-xlwings 或 pip install mcp-server-xlwings,配 Claude Desktop 即可。
✅ 独特价值:DRM 支持、run_macro、活动工作簿感知——这些是另外两个项目缺失的。
2️⃣ hyunjae-labs/xlwings-mcp-server —— 企业级会话架构
https://github.com/hyunjae-labs/xlwings-mcp-server
最新版本:v1.0.0(2025-08-31,Production Ready),MIT 许可。
核心卖点:Session 会话架构——持久化工作簿会话,每个 Session 独立 Excel 实例,通过单例管理器统一调度,并支持 TTL 过期 + LRU 淘汰自动清理资源,避免 Excel 进程残留。
架构亮点:线程安全(每 Session 独立锁)、自动资源管理(僵尸进程防护)、日志轮转。
17 个工具覆盖:工作簿、Sheet、数据读写、公式校验、格式化、图表、透视表、数据表、数据验证、行列删除、命名范围等——工具最全。
安装:pip install xlwings-mcp-server,环境变量可配会话 TTL、最大并发等。
✅ 适合:长时间运行、多文件并发、需要资源治理的生产环境。
3️⃣ vohoailinh90/Excel_MCP_Server —— COM 线程安全的最佳范本
https://github.com/vohoailinh90/Excel_MCP_Server
核心卖点:专为解决 Excel COM 的 STA(单线程套间)坑而设计。整体架构分为三层:
server.py (12 tools)
↓ 共享接口
backends/base.py (ABC,跨平台)
├─ windows_com.py (xlwings + pywin32) —— 真实 Excel + 真实 VBA
└─ mock_openpyxl.py (openpyxl,任意系统) —— 测试用,不跑真 VBA
COM 线程解决方案(精华所在):
Excel COM 是单线程公寓(STA)。Agent 异步并发调用时,多线程直接访问 COM 会崩溃或报 "Application is busy"。该项目用 一个后台线程持有 CoInitialize(),所有命令入队后在同一线程顺序执行——安全、简单。
自动按平台选后端:Windows → WindowsComBackend,否则降级 MockOpenpyxlBackend。
安全建议(值得所有项目借鉴):通过环境变量白名单限制 AI 可调用的宏,避免任意 VBA 代码执行:
$env:EXCEL_MCP_ALLOWED_MACROS = "GenerateSummary,RefreshPivot,ExportReport"
python server.py
✅ 价值:即使不用它做 Server,其 windows_com.py 的 COM 线程队列也值得作为「微配方」借鉴。
4️⃣ prabodh-hyd/excel-mcp —— 最小可用、教学与跨平台测试
https://github.com/prabodh-hyd/excel-mcp
核心卖点:结构简单、文档完整,适合学习与快速验证。⭐ 仓库虽新(2026-05-30 首次提交),但 README 对安装、配置、排错讲得很细。
11 个工具:excel_open_workbook、excel_read_range、excel_write_range、excel_list_macros、excel_run_macro(支持传参)、excel_save_workbook 等,全部可选 workbook_name(省略则用活动工作簿)。
Claude Desktop 配置:
{
"mcpServers": {
"excel": {
"command": "/path/to/.venv/bin/python",
"args": ["/path/to/server.py"]
}
}
}
独特价值:明确支持 Mac(AppleScript)+ Windows(COM),Linux 不支持(无 Excel)。README 连 macOS 自动化权限、VBA 工程解锁、.xlsm vs .xlsx 都讲清楚了,新手友好。
✅ 适合:入门学习、快速原型、跨平台测试(无 Windows 时用 Mock 验证流程)。
四、选型建议
你的需求 | 推荐项目 |
快速上手、操控正在看的 Excel | **geniuskey** |
企业级、会话管理、长时间运行 | **hyunjae-labs** |
学 COM 线程安全 / 需要宏白名单 | **vohoailinh90** |
学习、教学、快速原型 | **prabodh-hyd** |
组合策略(进阶):
应用骨架:hyunjae-labs(会话架构)
插件能力:geniuskey 的 run_macro + 活动工作簿感知
COM 线程:vohoailinh90 的微配方
五、小结
4 个项目均为 MIT 开源许可,可自由使用。
共同前提:本机装 Excel + Python 3.10+(WPS 兼容性见上)。
核心差异在架构而非功能:轻量 vs 会话 vs 线程安全 vs 教学。
如果你正在构建「AI + Excel 」应用,希望这篇对比能帮你快速选型。也欢迎在评论区交流实战经验!
相关链接
xlwings 官网:https://www.xlwings.org/
四个 MCP Server 仓库:见正文第三节各项目地址。
Lv.2潜力创作者