mcpField
E
excel-webview2-mcp

excel-webview2-mcp

本地服务
github.com/dsbissett开发工具227 周前更新

关于 excel-webview2-mcp

excel-webview2-mcp 将 MCP 客户端连接到 Windows 上运行于 WebView2 的 Microsoft Excel 加载项。它可启动并侧载加载项,也可连接现有调试会话,并提供工作簿检查和浏览器级分析工具。

主要功能

  1. 01启动和停止 Excel 加载项
  2. 02发现加载项清单和开发服务器设置
  3. 03检查工作簿、区域和工作表
  4. 04读取表格、数据透视表、图表和格式
  5. 05访问控制台、网络和性能工具

适用场景

  1. 01在 Excel 中启动本地加载项项目
  2. 02通过 MCP 客户端检查工作簿内容
  3. 03调试托管于 WebView2 的 Excel 加载项

MCP 相关

作为 MCP 服务连接到 Excel 本地的 WebView2 远程调试端点,端口为 9222。它提供生命周期管理、检查、自动化、截图、控制台、网络和性能工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"dsbissett-excel-webview2": {
"command": "npx",
"args": [
"-y",
"@dsbissett/excel-webview2-mcp"
]
}
}
}
启动命令npx -y @dsbissett/excel-webview2-mcp

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

安装包
npm@dsbissett/excel-webview2-mcp0.0.13

工具

59

收录的工具列表 · 更新于 2 周前

参数类型必填说明
uidstring是页面内容快照中某个元素的 uid
dblClickboolean否设为 true 可执行双击。默认值为 false。
includeSnapshotboolean否是否在响应中包含快照。默认值为 false。

详细介绍

Excel WebView2 MCP

为运行在 WebView2 中的 Microsoft Excel 加载项提供专业的 MCP 连接能力。

项目值
包@dsbissett/excel-webview2-mcp
上游项目Fork 自 ChromeDevTools/chrome-devtools-mcp
目标运行时托管在 WebView2 中的 Excel 加载项
调试端点http://127.0.0.1:9222
推荐设置Claude Code 插件市场

重要

从 v0.0.2 起,此服务可以为你启动 Excel 并旁加载加载项。使用前无需再启动开发服务器或连接调试器——excel_launch_addin 会启动本地开发服务器(如果已配置),并在启用 WebView2 远程调试的情况下启动 Excel,端口为 9222。 仍然支持手动预先启动:如果 Excel 加载项已在运行,且在 9222 端口启用了远程调试,服务会连接到该加载项。

v0.0.2 中的新功能

  • 加载项生命周期管理——新增工具,可直接从 Claude Code 启动和停止 Excel 加载项:
    • excel_detect_addin — 为当前项目查找清单和开发服务器配置。
    • excel_launch_addin — 启动开发服务器(如有需要),并旁加载加载项启动 Excel,同时启用 CDP 端口 9222。
    • excel_stop_addin — 关闭已启动的 Excel 会话和开发服务器进程树。
  • 只读 Excel 检查工具——提供丰富的只读操作,用于检查工作簿、工作表、区域、表格、数据透视表、图表等。这些操作都不会更改工作簿状态:
    • 上下文与结构:excel_context_info、excel_workbook_info、excel_list_worksheets、excel_worksheet_info、excel_active_range、excel_used_range。
    • 区域读取:excel_read_range、excel_range_properties、excel_range_formulas、excel_range_special_cells、excel_find_in_range。
    • 格式与验证:excel_list_conditional_formats、excel_list_data_validations。
    • 表格与名称:excel_list_tables、excel_table_info、excel_table_rows、excel_table_filters、excel_list_named_items。
    • 批注与形状:excel_list_comments、excel_list_shapes。
    • 计算与数据透视表:excel_calculation_state、excel_list_pivot_tables、excel_pivot_table_info、excel_pivot_table_values。
    • 图表:excel_list_charts、excel_chart_info、excel_chart_image。
    • 其他:excel_custom_xml_parts、excel_settings_get。
  • 基于套接字的端口检测取代 HTTP 轮询,可在 Node 24 上更可靠地检查开发服务器和 CDP 是否就绪。
  • 改进 Windows 上的清理机制——excel_stop_addin 现在会通过 taskkill 强制结束开发服务器进程树。

Fork 说明

此仓库是 Chrome DevTools MCP 仓库 ChromeDevTools/chrome-devtools-mcp 的一个 Fork。它保留了上游 DevTools 和 MCP 基础,同时针对托管在 WebView2 中的 Microsoft Excel 加载项调整了连接模型。

此项目的功能

  • 通过 Chrome DevTools Protocol(CDP)将 Claude Code 连接到本地运行的 Excel 加载项。
  • 提供 MCP 工具,用于检查、自动化、截屏、访问控制台、检查网络和分析性能。
  • 面向 Excel 加载项使用的嵌入式 WebView2 运行时,而非独立的 Chrome 会话。

连接模型

Claude Code
    |
    v
excel-webview2-mcp
    |
    v
WebView2 remote debugging endpoint (localhost:9222)
    |
    v
Locally running Excel add-in

这一区别很重要:excel-webview2-mcp 是连接到现有调试会话的桥梁,而不是启动或托管加载项的组件。

前置条件

支持以下两种工作流:

自动启动(推荐,v0.0.2+)
  1. Office 加载项项目(包含 manifest.xml 和开发服务器脚本)位于磁盘上。
  2. Windows 上已安装 Excel 桌面版。
  3. 已安装 Node.js,并且可以运行 npx @dsbissett/excel-webview2-mcp@latest。

先调用 excel_detect_addin,确认已发现该项目;然后调用 excel_launch_addin,启动开发服务器并将加载项旁加载到已启用 CDP 端口 9222 的 Excel 中。使用 excel_stop_addin 彻底停止所有相关进程。

手动 / 已预先连接
  1. Excel 加载项已在本地 Excel 桌面客户端中加载并运行。
  2. 已启用 WebView2 远程调试,并绑定到端口 9222(参见使用调试端口启动 Excel)。
  3. 可通过 http://127.0.0.1:9222 访问调试端点。

使用以下命令验证:

curl http://127.0.0.1:9222/json

使用调试端口启动 Excel

本节适用于 Windows 上的 Excel 桌面版。根据 Microsoft 的 WebView2 和 Office 加载项文档,将 Chromium 标志传递给 WebView2 运行时的受支持方式是使用 WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS。WebView2 团队还记录了一种基于注册表的备用方案,可用于持久配置。

如果你使用的是 Mac 版 Excel,则此 MCP 服务不适用。Microsoft 记录的 Mac 版 Excel 调试方式是使用 Safari Web Inspector,而不是 WebView2 CDP 端口。

来源:

Windows:推荐的本地开发设置

启动 Excel 前设置环境变量,以便 Excel 进程继承该变量:

$env:WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS="--remote-debugging-port=9222"

然后:

  1. 从同一个 shell 启动 Excel,或者通过继承了该变量的父进程启动 Excel。
  2. 在本地启动加载项。
  3. 确认调试端点正常运行。

操作示例:

$env:WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS="--remote-debugging-port=9222"
start excel.exe

Office 加载项团队为使用 WebView2 托管的加载项通用地记录了这种环境变量机制,WebView2 团队则记录了 --remote-debugging-port=9222 是有效的浏览器参数。

Windows:持久化注册表备用方案

如果需要持久的本机设置,WebView2 团队记录了以下注册表策略路径:

HKEY_CURRENT_USER\Software\Policies\Microsoft\Edge\WebView2\AdditionalBrowserArguments

使用以下值:

  • 值名称:EXCEL.EXE
  • 值数据:--remote-debugging-port=9222

本地开发时请优先使用环境变量。它更容易启用和关闭,也能避免留下持久的全机设置。

验证端点

运行:

curl http://127.0.0.1:9222/json/version

正常响应为 JSON,并包含如下字段:

{
  "Browser": "...",
  "Protocol-Version": "...",
  "webSocketDebuggerUrl": "ws://127.0.0.1:9222/devtools/browser/..."
}

如果该 curl 命令失败,说明 Excel 尚未公开 WebView2 调试端口,excel-webview2-mcp 将无法连接。

安装

此服务以 npm 包 @dsbissett/excel-webview2-mcp 的形式发布,并通过 npx 调用。以下配置适用于所有宿主——只有配置文件的位置不同。

标准 MCP 条目:

{
  "mcpServers": {
    "excel-webview2": {
      "command": "npx",
      "args": ["@dsbissett/excel-webview2-mcp@latest"]
    }
  }
}
Claude Code(CLI)

单行命令:

claude mcp add excel-webview2 -- npx @dsbissett/excel-webview2-mcp@latest

使用 claude mcp add --scope user ... 可让所有项目都能使用此服务;使用 --scope project 则可将配置提交到 .mcp.json,供团队成员使用。

或者,安装捆绑的插件:

  1. 使用 /plugin marketplace add dsbissett/excel-webview2-mcp 添加来自 .claude-plugin/marketplace.json 的市场。
  2. 使用 /plugin install excel-webview2-mcp 进行安装。
Claude Code(VS Code 扩展)
  1. 在 VS Code 中打开 Claude Code 侧边栏。
  2. 打开命令面板并运行 Claude Code: Manage MCP Servers(或点击 Claude 面板中的 MCP 图标)。
  3. 选择 Add Server 并粘贴上面的标准 MCP 条目,或者在 VS Code 集成终端中运行 claude mcp add 命令——此扩展读取相同的配置。
Cursor

编辑 ~/.cursor/mcp.json(全局配置)或项目根目录下的 .cursor/mcp.json,并添加上面的标准 MCP 条目。重启 Cursor,然后打开 Settings → MCP,确认 excel-webview2 显示为已连接。

Codex(OpenAI Codex CLI)

Codex 从 ~/.codex/config.toml 读取 MCP 服务。添加:

[mcp_servers.excel-webview2]
command = "npx"
args = ["@dsbissett/excel-webview2-mcp@latest"]

然后启动 codex,并确认服务显示在 /mcp 中。

GitHub Copilot(VS Code)

VS Code 中的 GitHub Copilot Chat 通过 Agent 模式配置支持 MCP 服务。

  1. 在工作区中创建或编辑 .vscode/mcp.json(或通过命令面板中的 MCP: Open User Configuration 编辑用户级 mcp.json)。

  2. 添加服务条目:

    {
      "servers": {
        "excel-webview2": {
          "command": "npx",
          "args": ["@dsbissett/excel-webview2-mcp@latest"]
        }
      }
    }
    
  3. 打开 Copilot Chat,切换到 Agent 模式,并点击 Tools 图标,确认 excel-webview2 工具可用。使用命令面板中的 MCP: List Servers 查看状态或重启服务。

验证安装

添加服务后,请模型在 Office 加载项项目目录中调用 excel_detect_addin。如果成功响应,则说明 MCP 服务已正确连接;之后,excel_launch_addin 会负责启动 Excel。

默认情况下,服务会连接到本地 WebView2 调试端点 http://127.0.0.1:9222。

本地开发

npm install
npm run build
npm start

支持的 Node.js 版本为 ^20.19.0、^22.12.0 或 >=23。

评论

支持 Markdown

第一次接触 MCP?

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

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