office-mcp-server

office-mcp-server

0

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.
  • Tool: Create Excel Workbook: Create a new Excel workbook.
    • Argument: filepath - Path to create the new Excel workbook.
  • 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.
  • 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.
  • 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).
  • Tool: Close Excel Workbook: Close an Excel workbook.
    • Argument: filepath - Path to the Excel workbook.
  • Tool: Get Excel Sheet Count: Get the number of sheets in an Excel workbook.
    • Argument: filepath - Path to the Excel workbook.
  • 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.
  • 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.

Word Features

  • Tool: Create Word Document: Create a new Word document.
    • Argument: filepath - Path to create the new Word document.
  • Tool: Add Text to Word Document: Add text to a Word document.
    • Arguments:
      • filepath - Path to the Word document.
      • text - Text to add.

PowerPoint Features

  • Tool: Create PowerPoint Presentation: Create a new PowerPoint presentation.
    • Argument: filepath - Path to create the new PowerPoint presentation.
  • Tool: Add Slide to PowerPoint: Add a new slide to a PowerPoint presentation.
    • Argument: filepath - Path to the PowerPoint presentation.
  • 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.
  • Tool: Read Slide Titles from PowerPoint: Read titles from all slides in a PowerPoint presentation.
    • Argument: filepath - Path to the PowerPoint presentation.
  • Tool: Get PowerPoint Slide Count: Get the number of slides in a PowerPoint presentation.
    • Argument: filepath - Path to the PowerPoint presentation.

How to Debug and Run Standalone

To run the Office MCP Server, follow these steps:

  1. Build the application: Ensure you have Maven installed. Run the following command to build the project:

    $ ./mvnw clean package
    
  2. 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
    
  3. Access the application: The server will start on the default port 8080. You can access the APIs at:

    http://localhost:8080
    
  4. 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.