office-mcp-server
The Office MCP Server is an unofficial Model Context Protocol server built using Quarkus, aimed at processing requests for AI agents handling office files like Word and Excel. It supports Excel, Word, and PowerPoint file manipulations offering various tools for managing these documents.
Office MCP Server
The Office MCP Server is an unofficial Model Context Protocol (MCP) Server based Java server designed to manage and process requests from AI agents for Word, Excel, etc. files.
Framework
This project is built using Quarkus, a Kubernetes-native Java framework tailored for building lightweight, high-performance microservices. Quarkus enables fast startup times and low memory usage, making it ideal for cloud-native applications.
Supported Methods
The server supports the following MCP tools and resources:
Excel Features
- Tool: Get Filename: Retrieve the filename of an Excel file.
- Argument:
filename
- The name of the Excel file.
- Argument:
- Tool: Create Excel Workbook: Create a new Excel workbook.
- Argument:
filepath
- Path to create the new Excel workbook.
- Argument:
- Tool: Create Excel Sheet: Create a new sheet in an Excel workbook.
- Arguments:
filepath
- Path to the Excel workbook.sheetName
- Name of the new sheet.
- Arguments:
- Tool: Add Excel Row: Add a row to an Excel sheet.
- Arguments:
filepath
- Path to the Excel workbook.sheetName
- Name of the sheet.rowData
- Data for the new row.
- Arguments:
- Tool: Read Excel Cell: Read a cell from an Excel sheet.
- Arguments:
filepath
- Path to the Excel workbook.sheetName
- Name of the sheet.rowNum
- Row number (0-based).colNum
- Column number (0-based).
- Arguments:
- Tool: Close Excel Workbook: Close an Excel workbook.
- Argument:
filepath
- Path to the Excel workbook.
- Argument:
- Tool: Get Excel Sheet Count: Get the number of sheets in an Excel workbook.
- Argument:
filepath
- Path to the Excel workbook.
- Argument:
- Tool: Get Excel Row Count: Get the number of rows in a sheet.
- Arguments:
filepath
- Path to the Excel workbook.sheetName
- Name of the sheet.
- Arguments:
- Tool: Get Excel Column Count: Get the number of columns in a sheet.
- Arguments:
filepath
- Path to the Excel workbook.sheetName
- Name of the sheet.
- Arguments:
Word Features
- Tool: Create Word Document: Create a new Word document.
- Argument:
filepath
- Path to create the new Word document.
- Argument:
- Tool: Add Text to Word Document: Add text to a Word document.
- Arguments:
filepath
- Path to the Word document.text
- Text to add.
- Arguments:
PowerPoint Features
- Tool: Create PowerPoint Presentation: Create a new PowerPoint presentation.
- Argument:
filepath
- Path to create the new PowerPoint presentation.
- Argument:
- Tool: Add Slide to PowerPoint: Add a new slide to a PowerPoint presentation.
- Argument:
filepath
- Path to the PowerPoint presentation.
- Argument:
- Tool: Add Text to PowerPoint Slide: Add text to a specific slide in a PowerPoint presentation.
- Arguments:
filepath
- Path to the PowerPoint presentation.slideIndex
- Slide index (0-based).text
- Text to add.
- Arguments:
- Tool: Read Slide Titles from PowerPoint: Read titles from all slides in a PowerPoint presentation.
- Argument:
filepath
- Path to the PowerPoint presentation.
- Argument:
- Tool: Get PowerPoint Slide Count: Get the number of slides in a PowerPoint presentation.
- Argument:
filepath
- Path to the PowerPoint presentation.
- Argument:
How to Debug and Run Standalone
To run the Office MCP Server, follow these steps:
-
Build the application: Ensure you have Maven installed. Run the following command to build the project:
$ ./mvnw clean package
-
Run the application: After building, execute the following command to start the server:
$ java -jar target/office-mcp-server-0.0.1-SNAPSHOT-runner.jar
-
Access the application: The server will start on the default port
8080
. You can access the APIs at:http://localhost:8080
-
Run in development mode: For development purposes, you can use Quarkus's dev mode:
$ ./mvnw quarkus:dev
Configuration
The application can be configured using the application.properties
file located in the src/main/resources
directory. Key configuration options include:
quarkus.mcp.server.sse.root-path
: Set the SSE root path.
Testing
To run the tests, use the following command:
$ ./mvnw test
Installing the MCP Server
Configuring the MCP server with VS Code
Here are the steps to configure in VS Code:
- Install GitHub Copilot
- Install this MCP Server using the command palette:
MCP: Add Server...
- Configure GitHub Copilot to run in
Agent
mode, by clicking on the arrow at the bottom of the the chat window - On top of the chat window, you should see the
office-mcp-server
server configured as a tool
Configuring the MCP server with Claude Desktop
Claude Desktop makes it easy to configure and chat with the MCP server. If you want a more advanced usage, we recommend using VS Code (see next section).
You need to add the server to your claude_desktop_config.json
file. Please note that you need to point to the location
where you downloaded the office-mcp-server-0.0.1-SNAPSHOT-runner.jar
file.
{
"mcpServers": {
"office-mcp-server": {
"command": "java",
"args": [
"-jar",
"~/Downloads/office-mcp-server-0.0.1-SNAPSHOT-runner.jar"
]
}
}
}
License
This project is licensed under the MIT License. See the LICENSE
file for details.
Support
This project is provided as-is without any warranty. If you encounter issues or have questions, please open an issue on the GitHub repository.