C++ Excel Automation MCP Server
About
A MCP server for automatically create, view and modify Excel related file using LLM
Details
- Author
- smileFAace
- GitHub stars
- 79
- Downloads
- 488
- Categories
- Productivity, Other, Automation
Jump to
- Provides standardized MCP tools for Excel automation
- Compiles into a single executable for easy deployment
- Supports customizable multi-language via JSON files
- Offers tools to open, read, write, and create xlsx files
- Automatically opens and closes Excel files during operations
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
C++ Excel Automation MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Build the project using CMake and Ninja with a C++17 compiler, then run the ExcelAutoCpp executable in the bin/ directory. The server listens on localhost:8888 and provides an SSE endpoint at http://localhost:8888/sse. Connect using any MCP-compatible client such as Roo, Cline, Claude, or Cherry Studio.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"c++ excel automation mcp server": {
"excel-auto-cpp": {
"type": "http",
"url": "http://localhost:8888/sse"
}
}
}
}
McpServers
{
"excel-auto-cpp": {
"type": "http",
"url": "http://localhost:8888/sse"
}
}
C++ Excel Automation MCP Server
This is a C++ based Excel Automation MCP (Model Context Protocol) server project. It utilizes the OpenXLSX library for Excel file operations and aims to provide an intelligent set of Excel manipulation tools through the MCP protocol, leveraging LLM capabilities.
Table of Contents
Features
Building the Project
Usage
Features
Simple and Easy-to-Use MCP Interface: Provides standardized MCP tools, making it convenient for clients (like AI assistants) to invoke Excel automation functions.
Single-File Deployment: Compiles into a single executable file for easy deployment and execution.
Customizable Multi-language Support: Easily add or modify interface languages via JSON files.
Server Capabilities
This MCP server provides the following tools, which can be invoked by an LLM to interact with xlsx spreadsheet files:
open_excel_and_list_sheets:
Description: Open an Excel file and list all sheet names. This tool will also set the current Excel file path for subsequent operations. RECOMMENDED TO RUN THIS TOOL FIRST BEFORE ANY OPERATION OR IF WANT TO CHANGE THE FILE TO MODIFY.
Parameters:
file_path (string): The absolute path to the Excel file.
get_sheet_range_content:
Description: Get and output table content within a specified range in a specific sheet. Automatically opens and closes the Excel file.
Parameters:
sheet_name (string): The name of the sheet to read from.
first_row (number): The starting row number (1-indexed).
first_column (number): The starting column number (1-indexed).
last_row (number): The ending row number (1-indexed).
last_column (number): The ending column number (1-indexed).
cell_with_coord (boolean, optional): Output non-empty cells with their respective coordinates, suitable for situations where the output area contains a large number of empty cells.
set_sheet_range_content:
Description: Set table content within a specified range in a specific sheet. Automatically opens and closes the Excel file.
Parameters:
sheet_name (string): The name of the sheet to write to.
first_row (number): The starting row number (1-indexed).
first_column (number): The starting column number (1-indexed).
values (array[array]): The 2D array of values to write to the range (supports null, boolean, number, string types).
create_xlsx_file_by_absolute_path: (Note: The tool name is defined as this in the code, but the key in JSON is create_xlsx)
Description: Create a new xlsx file with the given path. Automatically closes the Excel file after creation.
Parameters:
file_path (string): The ABSOLUTE path where the file should be created.
(Note: The automatic open/close behavior mentioned in the tool descriptions is an internal implementation detail and does not require user attention.)
Building the Project
This project uses CMake for building. Installing Ninja is recommended for faster compilation speeds.
Build Steps:
1. Prepare Environment:
Ensure you have a C++17 compiler, CMake (>= 3.15), and Ninja installed.
Clone the repository: git clone https://github.com/smileFAace/MCP-ExcelAutoCpp.git
2. Compile:
# 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
The compiled executable is typically located in the
bin/ directory.
Usage
After successful compilation, find the executable named ExcelAutoCpp (Linux/macOS) or ExcelAutoCpp.exe (Windows) in the ./bin/ directory.
Start the Server
Simply run the executable to start the MCP server.
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


