返回市场
MCP-Excel自动Cpp工具

MCP-Excel自动Cpp工具

作者:smileFAace72 星标更新:2025-06-18

项目介绍

【技术文档摘要】: 语言:中文 | English

C++ Excel 自动化 MCP 服务器

这是一个基于C++的Excel自动化MCP(模型上下文协议)服务器项目。它利用OpenXLSX库进行Excel文件操作,并通过MCP协议提供一套智能的Excel操作工具,利用LLM的能力。

目录

特性

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

服务器功能

此MCP服务器提供了以下工具,可以通过LLM调用来与xlsx电子表格文件交互:

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

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

构建项目

该项目使用CMake进行构建。推荐安装Ninja以加快编译速度。

构建步骤:

  1. 准备环境:
    • 确保已安装C++17编译器、CMake(>= 3.15)和Ninja。
    • 克隆仓库:git clone https://github.com/smileFAace/MCP-ExcelAutoCpp.git
  2. 编译:
    # 切换到项目目录(如果不在根目录下)
    # cd MCP-ExcelAutoCpp
    
    # 生成构建文件(推荐使用Ninja)
    cmake -G "Ninja" -S . -B build
    
    # 执行编译
    cmake --build build
    
    编译后的可执行文件通常位于bin/目录中。

使用方法

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

启动服务器

只需运行可执行文件即可启动MCP服务器。

# 示例(根据需要调整路径)
./bin/ExcelAutoCpp

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


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

I(17:35:48) i18n: 成功加载语言字符串,语言代码为'en'
I(17:35:48) i18n: 设置当前语言为'en'
W(17:35:48) 在'E:\prj\MCP-ExcelAutoCpp\bin\lang.json'未找到lang.json。使用默认语言。
I(17:35:48) i18n: 设置当前语言为'en'
I(17:35:48) 当前语言设置为:en
I(17:35:48) 正在localhost:8888启动MCP服务器
I(17:35:48) 按Ctrl+C停止服务器

连接和使用:

此服务器遵循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)语言。

下载

您可以从发布页面下载最新版本。

🌟星历史

星历史图表