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.
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.
The server supports the following MCP tools and resources:
- 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:
- 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:
- 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:
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
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.
To run the tests, use the following command:
$ ./mvnw testHere 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
Agentmode, 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-serverserver configured as a tool
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"
]
}
}
}This project is licensed under the MIT License. See the LICENSE file for details.
This project is provided as-is without any warranty. If you encounter issues or have questions, please open an issue on the GitHub repository.