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 (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,可选):输出具有各自坐标的非空单元格,适用于输出区域包含大量空单元格的情况。
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:(注意:工具名称在代码中定义为this,但JSON中的键是create_xlsx)
- 说明:使用给定的路径创建一个新的xlsx文件。创建后自动关闭Excel文件。 - 参数: - file_path (string):创建文件的绝对路径。
*(注:工具描述中提到的自动打开/关闭行为是一个内部实现细节,不需要用户注意。)*
建设项目
此项目使用CMake进行构建。建议安装Ninja以获得更快的编译速度。
构建步骤:
- 准备环境:
- 确保您安装了C++17编译器、CMake(>=3.15)和Ninja。 - 克隆存储库: git clone https://github.com/smileFAace/MCP-ExcelAutoCpp.git
- 编译:
# 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/ 目录。
用法
编译成功后,找到名为的可执行文件 ExcelAutoCpp (Linux/macOS)或 ExcelAutoCpp.exe (Windows)中 ./bin/ 目录。
启动服务器
只需运行可执行文件即可启动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)因为它的界面语言。您可以通过创建自定义语言文件来更改语言:
- 找到包含服务器可执行文件的目录(通常
bin/).
- 创建一个名为的文本文件
lang.json在那个目录中。
- 复制 完整的键值对 将您想要的语言转换为这个
lang.json文件。
- 您可以参考 *.json 文件在 lang/ 项目源代码的目录作为模板(例如。, lang/zh-cn/lang.json 包含中文翻译)。 - 这 lang.json 文件需要包含程序接口和日志所需的所有翻译条目。
- 保存
lang.json文件并重新启动服务器。
- 服务器将在启动时自动检测并加载此文件。如果成功加载,它将使用中定义的语言 lang.json. - 如果 lang.json 文件不存在、格式不正确或缺少必要的翻译条目,服务器将回退到默认英语(en)语言。
下载
您可以从以下网址下载最新版本 发布 页面。
🌟明星历史

