excel-mcp-server
让AI智能体直接读写、格式化、生成Excel文件的MCP协议服务器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让AI智能体直接读写、格式化、生成Excel文件的MCP协议服务器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有遇到过这样的场景:凌晨两点,数据分析师需要对一份包含5万行数据的Excel报表进行格式化调整,手动操作耗时半小时,而AI助手就在手边却无法帮忙?excel-mcp-server 正是为解决这一痛点而生的开源项目——它将微软Excel的底层操控能力,以标准化协议的方式开放给所有AI智能体,让"让AI帮我整理表格"从想象变为现实。

图1:excel-mcp-server 官方Logo
excel-mcp-server 的作者 Haris Musa 是一位经常与数据打交道的开发者。在日常工作中,他频繁需要在 Python 脚本和 Excel 文件之间来回切换——用 Python 处理数据,再导出到 Excel 中手动调整格式,反反复复。当他开始大量使用 Claude 等 AI 编程助手时,一个痛点格外突出:AI 可以写出漂亮的数据处理代码,却无法直接"看见"和"操作"用户已有的 Excel 文件。
MCP(Model Context Protocol)协议的出现在这个节点上给了 Haris 灵感。MCP 是 Anthropic 主导推出的开放协议,旨在为 AI 模型提供标准化的工具调用能力。受到 python-mcp-example 和 todo-mcp 等先行项目的启发,Haris 决定自己动手,写一个专门针对 Excel 文件操控的 MCP 服务器。他的目标很简单:让任何支持 MCP 协议的 AI 工具,都能像人一样打开、读取、编辑、格式化 Excel 文件,而无需安装 Microsoft Excel 本身。
这个项目在 GitHub 上迅速走红,发布数周内便获得了数千颗星标,成为 MCP 生态中下载量最高的服务端工具之一。它的成功折射出一个趋势:AI 与办公软件的深度集成正在从"截图识别"阶段进化到"原生操控"阶段。
excel-mcp-server 目前提供超过 40 个工具函数,涵盖 Excel 操控的各个环节:
数据读写层:支持以字典列表(List[Dict])的形式批量读写数据,可以从指定单元格范围读取数据或预览部分内容,支持追加写入而无需覆盖整张表格。这比传统 openpyxl 的逐行操作体验流畅得多——对于 AI 来说,传递结构化字典比处理行列坐标要自然得多。
工作表管理:支持工作表的创建、复制、重命名、删除,以及行列的插入与删除。在实际业务场景中,"帮我在这张表里新增一列月度汇总"这类需求,过去需要 AI 生成完整代码,现在直接调用工具函数即可完成。
格式化能力:这是该项目最有技术深度的部分之一。工具支持对单元格范围应用字体样式(粗体、斜体、下划线)、颜色(字体颜色和背景色)、边框、对齐方式、文本换行、合并单元格、条件格式,以及数字格式化(如百分比、货币格式、日期格式)。对于需要批量生成标准格式报表的场景,这意味着 AI 可以按照预设模板自动化排版,输出直接可用的成品文件。
数据验证与公式:内置了数据验证功能,支持范围验证、下拉列表、日期/时间验证等。公式操作方面,支持在单元格中设置公式,并内置了常用财务和统计函数的计算实现(位于 calculations.py),包括 SUM、AVERAGE、COUNT、MAX、MIN、IF、VLOOKUP 等基础函数,覆盖了绝大多数日常办公需求。
图表与透视表:支持创建折线图、柱状图、饼图、散点图等常见图表类型,以及数据透视表。这两项功能对于 AI 驱动的数据分析自动化尤为重要——AI 不仅可以完成数据处理,还能自动生成可视化结果,形成完整的数据分析闭环。
进阶工具:还包括冻结窗格、窗口分割、打印设置、命名范围管理、单元格批注、超链接、文件保护等功能。
从代码结构来看,excel-mcp-server 的架构非常清晰:
src/excel_mcp/
server.py # FastMCP 服务端核心,启动逻辑
workbook.py # 工作簿操作(创建、读取元数据)
sheet.py # 工作表管理(增删改、行列操作)
data.py # 数据读写(批量写入/读取)
formatting.py # 格式化(字体、颜色、边框、对齐)
chart.py # 图表创建
pivot.py # 数据透视表
tables.py # Excel 表格操作
calculations.py # 公式计算引擎
cell_validation.py # 数据验证
validation.py # 参数校验
exceptions.py # 自定义异常体系
底层 Excel 操控完全依赖 openpyxl(版本 >= 3.1.5),这是一个成熟的 Python Excel 库,支持 .xlsx 格式的完整读写。MCP 服务层使用 FastMCP(版本 2.x),这是由 FastMCP 团队维护的 MCP Python SDK 的现代化实现,比官方 mcp SDK 的 cli 扩展提供了更便捷的工具注册机制。
服务支持三种传输协议:stdio(标准输入输出,适用于本地 AI 工具集成)、SSE(Server-Sent Events,已标记为废弃)和 Streamable HTTP(当前推荐的远程服务方案,支持会话管理和流式响应)。
架构设计上遵循了单一职责原则,每个模块专注一类功能,工具函数之间耦合度低。这种设计使得项目易于维护和扩展——如果未来需要支持 .xls 格式(需要 xlrd/xlwt),只需在数据层增加新的适配器,无需改动上层的工具函数注册逻辑。
excel-mcp-server 的安装体验是它最值得称道的优点之一。项目发布在 PyPI 上,通过 uvx(推荐)或 pip 即可一键安装,无需 Docker,无需配置环境,一条命令即可启动:
uvx excel-mcp-server stdio # 本地使用
uvx excel-mcp-server streamable-http # 远程服务模式
配置 AI 工具(如 Claude Code、Cursor、Continue)时,只需在 MCP 配置文件中添加服务器地址即可。文档中提供了 Claude Code、Cline、Cursor、Windsurf 等主流 AI 编程工具的详细配置示例。
由于是纯 Python 实现,资源占用极低:内存需求约 512MB,磁盘仅需 100MB,无需 GPU,无需特殊硬件。一台普通开发机即可流畅运行。
项目并非没有短板。首先,不支持 .xls 格式,仅支持 .xlsx(基于 openpyxl 的能力边界)。对于仍在使用老旧 Excel 二进制格式的企业用户,需要先手动转换为 .xlsx。
其次,计算引擎为自实现,位于 calculations.py 中的公式计算并未调用 Excel 本身,而是通过 Python 重新实现。这意味着部分 Excel 特有的高级函数(如 INDIRECT、OFFSET 等依赖 Excel 运行时语义的函数)可能尚未覆盖,复杂公式的计算结果与真实 Excel 可能存在差异。
第三,无 Web UI,这既是优点也是局限。优点是零依赖、极简部署;局限是对于非技术用户来说,直接配置 MCP 协议仍有一定门槛。目前社区已出现 smithery.ai 等第三方平台提供图形化的 MCP 安装入口,降低了使用难度。
excel-mcp-server 的出现,本质上是在构建 AI 办公自动化的"最后一公里"。过去,AI 辅助办公的路径通常是:AI 生成 Python 脚本 → 人工执行脚本 → 查看结果 → 人工微调。这是一个两段式流程,AI 和工具之间存在割裂。
excel-mcp-server 将这个流程压缩为:AI 直接调用工具 → 实时看到修改后的文件。这种"所见即所得"的体验,是 AI 从"代码生成器"进化为"数字助手"的关键一步。
从更宏观的视角看,MCP 生态正在快速发展,excel-mcp-server 是目前该生态中下载量最高的 MCP 服务器之一。它的成功模式正在被复制——陆续出现了 PDF 文档操控、图片处理、数据库操作等同类 MCP 服务器,共同构成了 AI 与各种工具之间的标准桥梁。
如果你在寻找一个能让 AI 真正"动手干活"而非"光说不练"的 Excel 操控工具,excel-mcp-server 是目前最成熟、文档最完善、社区最活跃的选择。