mcpField
C
C++ Excel Automation MCP Server

C++ Excel Automation MCP Server

远程服务
github.com/smileFAace生产力7771 周前更新
代码仓库

关于 C++ Excel Automation MCP Server

C++ Excel 自动化 MCP 服务基于 OpenXLSX 库,让 LLM 通过 MCP 协议创建、读取和修改 xlsx 文件。项目编译为单个可执行文件,适合希望本地部署表格处理工具的开发者。

主要功能

  1. 01读取与写入指定范围的表格内容
  2. 02列出工作表并设置当前文件
  3. 03创建新的 xlsx 文件
  4. 04单文件可执行程序部署
  5. 05通过 JSON 文件自定义界面语言

适用场景

  1. 01让 AI 助手读取并汇总 Excel 表格数据
  2. 02通过 LLM 批量写入或更新表格内容
  3. 03在本地自动生成新的 xlsx 文件

MCP 相关

该项目是 MCP 服务,以 SSE 端点(默认 localhost:8888/sse)向 Cline、Roo 等 MCP 客户端提供 Excel 操作工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址http://localhost:8888/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

语言:中文 | English

C++ Excel 自动化 MCP 服务

这是一个基于 C++ 的 Excel 自动化 MCP(Model Context Protocol)服务项目。项目使用 OpenXLSX 库操作 Excel 文件,旨在利用大模型的能力,通过 MCP 协议提供一组智能的 Excel 操作工具。

目录

功能

  • 简单易用的 MCP 接口:提供标准化的 MCP 工具,方便客户端(如 AI 助手)调用 Excel 自动化功能。
  • 单文件部署:编译为单个可执行文件,便于部署和运行。
  • 可自定义的多语言支持:可通过 JSON 文件轻松添加或修改界面语言。

服务功能

此 MCP 服务提供以下工具,可由大模型调用以与 xlsx 电子表格文件交互:

  • open_excel_and_list_sheets:
    • 描述:打开 Excel 文件并列出所有工作表名称。此工具还会设置当前 Excel 文件路径,以供后续操作使用。建议在任何操作之前,或需要更改要修改的文件时,首先运行此工具。
    • 参数:
      • file_path(string):Excel 文件的绝对路径。
  • get_sheet_range_content:
    • 描述:获取并输出特定工作表中指定范围内的表格内容。自动打开和关闭 Excel 文件。
    • 参数:
      • sheet_name(string):要读取的工作表名称。
      • first_row(number):起始行号(从 1 开始计数)。
      • first_column(number):起始列号(从 1 开始计数)。
      • last_row(number):结束行号(从 1 开始计数)。
      • last_column(number):结束列号(从 1 开始计数)。
      • cell_with_coord(boolean,optional):输出非空单元格及其对应坐标,适用于输出区域内包含大量空单元格的情况。
  • set_sheet_range_content:
    • 描述:设置特定工作表中指定范围内的表格内容。自动打开和关闭 Excel 文件。
    • 参数:
      • sheet_name(string):要写入的工作表名称。
      • first_row(number):起始行号(从 1 开始计数)。
      • first_column(number):起始列号(从 1 开始计数)。
      • values(array[array]):要写入该范围的二维值数组(支持 null、boolean、number、string 类型)。
  • create_xlsx_file_by_absolute_path:(注意:代码中定义的工具名称为此名称,但 JSON 中的键为 create_xlsx)
    • 描述:在给定路径下创建新的 xlsx 文件。创建后自动关闭 Excel 文件。
    • 参数:
      • file_path(string):要创建文件的绝对路径。

(注意:工具描述中提到的自动打开/关闭行为属于内部实现细节,用户无需关注。)

构建项目

本项目使用 CMake 构建。建议安装 Ninja,以加快编译速度。

构建步骤:

  1. 准备环境:
    • 确保已安装 C++17 编译器、CMake(>= 3.15)和 Ninja。
    • 克隆代码库:git clone https://github.com/smileFAace/MCP-ExcelAutoCpp.git
  2. 编译:
    # Change to the project directory (if not already in the root)
    # cd MCP-ExcelAutoCpp
    
    # Generate build files (Ninja recommended)
    cmake -G "Ninja" -S . -B build
    
    # Perform compilation
    cmake --build build
    
    编译后的可执行文件通常位于 bin/ 目录中。

用法

成功编译后,在 ./bin/ 目录中找到名为 ExcelAutoCpp(Linux/macOS)或 ExcelAutoCpp.exe(Windows)的可执行文件。

启动服务

运行该可执行文件即可启动 MCP 服务。

# Example (adjust path as needed)
./bin/ExcelAutoCpp

看到类似以下输出时,表示服务已成功启动,并正在监听 localhost:8888:


░█▀▀░█░█░█▀▀░█▀▀░█░░░█▀█░█░█░▀█▀░█▀█
░█▀▀░▄▀▄░█░░░█▀▀░█░░░█▀█░█░█░░█░░█░█
░▀▀▀░▀░▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀░░▀░░▀▀▀
v0.0.2                 By smileFAace

I(17:35:48) i18n: Successfully loaded language string for language code 'en'
I(17:35:48) i18n: Set current language to 'en'
W(17:35:48) lang.json not found at 'E:\prj\MCP-ExcelAutoCpp\bin\lang.json'. Using default language.
I(17:35:48) i18n: Set current language to 'en'
I(17:35:48) Current language set to: en
I(17:35:48) Starting MCP server at localhost:8888
I(17:35:48) Press Ctrl+C to stop the server

连接和使用:

此服务遵循 MCP 协议。你可以使用任何兼容 MCP 的客户端(例如 Roo、cline、claude、cherry studio 等)连接到服务的 SSE 端点(默认:http://localhost:8888/sse),以调用提供的 Excel 自动化工具。

例如,要在 cline 中配置此 MCP 服务,只需在服务成功运行后,将以下内容添加到插件提供的 MCP 配置 JSON 文件中,然后刷新:

{
  "mcpServers": {
    "excel-auto-cpp": {
      "url": "http://localhost:8888/sse"
    }
  }
}

更改和自定义服务语言:

服务的界面语言默认为英语(en)。你可以创建自定义语言文件来更改语言:

  1. 找到包含服务可执行文件的目录(通常为 bin/)。

  2. 在该目录中创建名为 lang.json 的文本文件。

  3. 将所需语言的完整键值对复制到此 lang.json 文件中。

    • 你可以参考项目源代码 lang/ 目录中的 *.json 文件作为模板(例如,lang/zh-cn/lang.json 包含中文翻译)。
    • lang.json 文件需要包含程序界面和日志所需的所有翻译条目。
  4. 保存 lang.json 文件并重启服务。

    • 服务启动时会自动检测并加载此文件。加载成功后,将使用 lang.json 中定义的语言。
    • 如果 lang.json 文件不存在、格式不正确或缺少必要的翻译条目,服务将回退到默认的英语(en)。

下载

你可以从 Releases 页面下载最新版本。

🌟Star 历史

Star History Chart

评论

支持 Markdown

第一次接触 MCP?

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

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