mcp-server-office

TanaboonJew/mcp-server-office

3.1

If you are the rightful owner of mcp-server-office and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The MCP Office Documents Server is a Model Context Protocol server designed to enable AI assistants to read and process Microsoft Office documents, including Word, Excel, and PowerPoint files.

Tools
6
Resources
0
Prompts
0

MCP Office Documents Server

Docker

An MCP (Model Context Protocol) server that enables AI assistants to read Microsoft Office documents:

  • Word (.docx) - Read paragraphs, styles, and tables
  • Excel (.xlsx) - Read sheets, cells, and ranges
  • PowerPoint (.pptx) - Read slides, text, and tables

Quick Start (Docker)

docker pull ghcr.io/tanaboonjew/mcp-server-office:latest

Tools Available

ToolDescription
read_word_documentRead entire Word document content
read_excel_spreadsheetRead Excel file (all sheets or specific sheet)
get_excel_cellGet a specific cell value
get_excel_rangeGet a range of cells
read_powerpoint_presentationRead entire PowerPoint presentation
get_powerpoint_slideGet content from a specific slide

Local Installation

# Create virtual environment
python -m venv venv

# Activate (Windows)
venv\Scripts\activate

# Activate (Linux/Mac)
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run server
python server.py

Docker Deployment

Build and Run

# Build the image
docker build -t mcp-office-server .

# Run with docker-compose (recommended)
docker-compose up -d

# Or run directly with Docker
docker run -it --rm \
  -v /path/to/your/documents:/documents:ro \
  mcp-office-server

Volume Mounting

Mount your documents directory so the server can access files:

# In docker-compose.yml
volumes:
  - C:/Users/YourName/Documents:/documents:ro

MCP Client Configuration

Windsurf / Codeium (Recommended - Docker)

Add to your mcp_config.json:

{
  "mcpServers": {
    "office-documents": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-v", "C:/Users/YourName/Documents:/documents:ro",
        "ghcr.io/tanaboonjew/mcp-server-office:latest"
      ]
    }
  }
}

Note: Replace C:/Users/YourName/Documents with your actual documents folder path.

Local Python (Alternative)

{
  "mcpServers": {
    "office-documents": {
      "command": "python",
      "args": ["path/to/server.py"]
    }
  }
}

Usage Examples

Read a Word Document

Tool: read_word_document
Arguments: {"file_path": "/documents/report.docx"}

Read Excel with Specific Sheet

Tool: read_excel_spreadsheet
Arguments: {"file_path": "/documents/data.xlsx", "sheet_name": "Sheet1"}

Get Excel Cell Range

Tool: get_excel_range
Arguments: {
  "file_path": "/documents/data.xlsx",
  "sheet_name": "Sheet1",
  "start_cell": "A1",
  "end_cell": "D10"
}

Read PowerPoint Slide

Tool: get_powerpoint_slide
Arguments: {"file_path": "/documents/presentation.pptx", "slide_number": 1}

File Path Notes

  • When using Docker, files must be in the mounted /documents directory
  • Use absolute paths when running locally
  • The server has read-only access to files