关于 Excel MCP Server
Excel MCP Server 是用于读取和写入 MS Excel 工作簿数据与公式的 MCP 服务,适合需要通过 MCP 工具操作表格的用户。它还支持分页读取,并可在 Windows 上将工作表范围捕获为图像。
主要功能
- 01读取和写入单元格文本
- 02读取和写入公式
- 03分页读取工作表数据
- 04列出工作表名称
- 05在 Windows 上读取范围图像
适用场景
- 01从工作簿提取单元格数据
- 02更新工作表内容或公式
- 03查看工作表指定范围的图像
MCP 相关
该 MCP 服务向客户端提供 Excel 工作表名称、数据和公式的读取与写入工具,也提供 Windows 图像读取工具。支持 stdio 和 SSE 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Excel MCP Server
一个用于读取和写入 MS Excel 数据的模型上下文协议(MCP)服务。
功能
- 从 MS Excel 文件读取文本值
- 向 MS Excel 文件写入文本值
- 从 MS Excel 文件读取公式
- 向 MS Excel 文件写入公式
- 从 MS Excel 文件捕获屏幕图像(仅限 Windows)
更多详情请参阅工具部分。
要求
- Node.js 20.x 或更高版本
支持的文件格式
- xlsx(Excel 工作簿)
- xlsm(启用 Excel 宏的工作簿)
- xltx(Excel 模板)
- xltm(启用 Excel 宏的模板)
安装
通过 NPM 安装
将以下配置添加到 MCP 服务配置中,即可自动安装 excel-mcp-server。
使用 stdio 传输(默认)
Windows:
{
"mcpServers": {
"excel": {
"command": "cmd",
"args": ["/c", "npx", "--yes", "@fbeawels/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
}
}
}
}
其他平台:
{
"mcpServers": {
"excel": {
"command": "npx",
"args": ["--yes", "@fbeawels/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
}
}
}
}
使用 SSE 传输
Windows:
{
"mcpServers": {
"excel": {
"command": "cmd",
"args": ["/c", "npx", "--yes", "@fbeawels/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000",
"EXCEL_MCP_TRANSPORT": "sse",
"EXCEL_MCP_HOST": "0.0.0.0",
"EXCEL_MCP_PORT": "8000"
}
}
}
}
其他平台:
{
"mcpServers": {
"excel": {
"command": "npx",
"args": ["--yes", "@fbeawels/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000",
"EXCEL_MCP_TRANSPORT": "sse",
"EXCEL_MCP_HOST": "0.0.0.0",
"EXCEL_MCP_PORT": "8000"
}
}
}
}
使用 SSE 传输时,服务将启动一个 HTTP 服务,并提供以下端点:
/sse- 用于接收来自服务的事件的 SSE 端点/command- 用于向服务发送命令的 POST 端点/status- 用于检查服务状态的 GET 端点
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 Excel MCP Server:
npx -y @smithery/cli install @fbeawels/excel-mcp-server --client claude
工具
read_sheet_names
列出 Excel 文件中的所有工作表名称。
参数:
fileAbsolutePath- Excel 文件的绝对路径
read_sheet_data
分页读取 Excel 工作表中的数据。
参数:
fileAbsolutePath- Excel 文件的绝对路径
sheetName- Excel 文件中的工作表名称
range- 要读取的 Excel 工作表单元格范围(例如,“A1:C10”)。[默认:第一个分页范围]
knownPagingRanges- 已读取的分页范围列表
read_sheet_formula
分页读取 Excel 工作表中的公式。
参数:
fileAbsolutePath- Excel 文件的绝对路径
sheetName- Excel 文件中的工作表名称
range- 要读取的 Excel 工作表单元格范围(例如,“A1:C10”)。[默认:第一个分页范围]
knownPagingRanges- 已读取的分页范围列表
read_sheet_image
[仅限 Windows] 分页读取 Excel 工作表中的数据图像。
参数:
fileAbsolutePath- Excel 文件的绝对路径
sheetName- Excel 文件中的工作表名称
range- 要读取的 Excel 工作表单元格范围(例如,“A1:C10”)。[默认:第一个分页范围]
knownPagingRanges- 已读取的分页范围列表
write_sheet_data
向 Excel 工作表写入数据。
参数:
fileAbsolutePath- Excel 文件的绝对路径
sheetName- Excel 文件中的工作表名称
range- 要读取的 Excel 工作表单元格范围(例如,“A1:C10”)。
data- 要写入 Excel 工作表的数据
write_sheet_formula
向 Excel 工作表写入公式。
参数:
fileAbsolutePath- Excel 文件的绝对路径
sheetName- Excel 文件中的工作表名称
range- 要读取的 Excel 工作表单元格范围(例如,“A1:C10”)。
formulas- 要写入 Excel 工作表的公式(例如,“=A1+B1”)
配置
命令行参数
可用的命令行参数如下:
--transport <type> Transport type (stdio or sse)
--host <address> Host address to listen on for SSE transport (default: all interfaces)
--port <number> Port for SSE transport (default: 8000)
用法示例:
npx @fbeawels/excel-mcp-server --transport sse --host 0.0.0.0 --port 8000
环境变量
你也可以通过以下环境变量更改 MCP 服务的行为:
EXCEL_MCP_PAGING_CELLS_LIMIT
单次分页操作中读取的最大单元格数。
[默认值:4000]
EXCEL_MCP_TRANSPORT
用于通信的传输机制。
可选值:stdio、sse
[默认值:stdio]
EXCEL_MCP_HOST
使用 SSE 传输时要绑定的主机地址。
[默认值:""(所有接口)]
EXCEL_MCP_PORT
使用 SSE 传输时 HTTP 服务要使用的端口。
[默认值:8000]
许可证
版权所有 (c) 2025 Franck Besnard
excel-mcp-server 根据 MIT 许可证 发布。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。