mcpField
M
mcp-server-xlwings

mcp-server-xlwings

本地服务
github.com/geniuskey生产力135 周前更新

关于 mcp-server-xlwings

mcp-server-xlwings 通过 xlwings COM 操作正在运行的 Excel,支持 DRM 保护或被锁定的文件。适用于需要访问实时工作簿数据、公式、格式或 VBA 宏的 Excel 用户。

主要功能

  1. 01读取活动工作簿和当前选区
  2. 02读取和写入单元格区域
  3. 03运行 VBA 宏
  4. 04查看公式及计算结果
  5. 05管理工作簿和工作表
  6. 06设置格式并查找文本

适用场景

  1. 01汇总当前选中的表格数据
  2. 02更新公式并读取计算结果
  3. 03运行已有的 VBA 宏
  4. 04编辑或设置 Excel 可打开的工作簿格式

MCP 相关

它向 MCP 客户端提供 Excel 自动化工具,可执行工作簿、单元格、工作表、公式、宏和格式操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"xlwings": {
"command": "uvx",
"args": [
"mcp-server-xlwings"
]
}
}
}
启动命令uvx mcp-server-xlwings

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-server-xlwings0.4.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-server-xlwings

通过 xlwings COM 自动化 Excel 的 MCP 服务。支持受 DRM 保护的文件。

PyPI License: MIT Python 3.10+

为什么选择 xlwings?

openpyxl 或 pandas 等库会直接从磁盘读取 .xlsx 文件。以下情况会导致读取失败:

  • 应用了 DRM / 文件级加密(在企业环境中很常见)
  • 需要与 正在运行的 Excel 会话交互(公式、宏、加载项)
  • 文件被其他进程锁定

mcp-server-xlwings 使用 COM 自动化与正在运行的 Excel 进程通信,因此可以读写 Excel 本身能够打开的任何文件,包括受 DRM 保护的文档。

xlwings 专属功能

使用 openpyxl 等基于文件的库时,以下功能 无法实现:

  • 读取用户当前的选区——准确查看用户正在查看的内容
  • 获取活动工作簿——无需指定文件路径
  • 运行 VBA 宏——执行现有宏并获取其返回值
  • 获取实时公式结果——设置公式后立即获取计算结果
  • 强制重新计算——触发 Excel 重新计算所有公式

安装

使用 uvx(推荐)
uvx mcp-server-xlwings
使用 pip
pip install mcp-server-xlwings

配置

Claude Desktop

添加到 %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "xlwings": {
      "command": "uvx",
      "args": ["mcp-server-xlwings"]
    }
  }
}
Claude Code
claude mcp add xlwings -- uvx mcp-server-xlwings
Roo Code(VS Code)

添加到 Roo Code MCP 设置,或创建 <project-root>/.roo/mcp.json:

{
  "mcpServers": {
    "xlwings": {
      "command": "uvx",
      "args": ["mcp-server-xlwings"]
    }
  }
}
Cursor

添加到 %USERPROFILE%\.cursor\mcp.json:

{
  "mcpServers": {
    "xlwings": {
      "command": "uvx",
      "args": ["mcp-server-xlwings"]
    }
  }
}
Windsurf

添加到 %USERPROFILE%\.codeium\windsurf\mcp_config.json:

{
  "mcpServers": {
    "xlwings": {
      "command": "uvx",
      "args": ["mcp-server-xlwings"]
    }
  }
}
Continue(VS Code)

添加到 ~/.continue/config.yaml:

mcpServers:
  - name: xlwings
    command: uvx
    args:
      - mcp-server-xlwings

可用工具(11 个)

省略 workbook 时,所有工具默认使用 活动工作簿。

工具描述
get_active_workbook获取活动工作簿信息、工作表和包含数据的当前选区
manage_workbooks列出、打开、保存、关闭或重新计算工作簿
read_data读取区域,支持 merge_info、header_row、sheet="*" 批量读取和 detail 模式
write_data写入二维数组(data)或单元格公式(formula)
manage_sheets列出、添加、删除、重命名、复制和激活工作表;插入或删除行和列
find_replace搜索文本,并可选择替换
format_range应用格式(粗体、斜体、颜色、边框、对齐方式、数字格式等)
run_macro执行 VBA 宏并获取其返回值
get_formulas获取区域中的所有公式,可选获取计算结果
get_cell_styles获取区域中单元格的格式/样式信息(粗体、颜色、边框等)
get_objects列出工作表上的图表、图像和形状

示例

查看用户正在处理的内容

“打开的电子表格里有什么?”

Agent 调用 get_active_workbook() 获取工作簿名称、工作表和选区数据,然后调用 read_data() 获取整个工作表的数据。

汇总选中的数据

“汇总我选中的数据”

Agent 调用 get_active_workbook()——响应中会直接包含选区数据。

运行宏

“运行 UpdateReport 宏”

Agent 调用 run_macro(macro_name="UpdateReport") 并返回结果。

添加汇总行

“在 C10 中添加一个 SUM 公式,汇总 C2:C9”

Agent 调用 write_data(start_cell="C10", formula="=SUM(C2:C9)") 并获取计算结果。

设置标题行格式

“将第 1 行设为粗体、居中,并设置黄色背景”

Agent 调用 format_range(cell_range="A1:D1", bold=true, alignment="center", bg_color="#FFFF00")。

一次读取所有工作表

“总结每个工作表”

Agent 调用 read_data(sheet="*")——一次调用即可返回所有工作表的摘要。

正确读取合并单元格

“读取 B6:C20,并填入合并单元格的值”

Agent 调用 read_data(cell_range="B6:C20", merge_info=true)。合并单元格会返回其父单元格的值,而不是 null。

查找所有公式

“显示此工作表中的所有公式”

Agent 调用 get_formulas(cell_range="A1:Z100", values_too=true),获取每个公式及其计算结果。

插入行

“在第 5 行插入 3 个空白行”

Agent 调用 manage_sheets(action="insert_rows", position=5, count=3)。

要求

  • Windows(Excel COM 自动化仅适用于 Windows)
  • 已安装 Microsoft Excel
  • Python 3.10+

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。