Home
cd ../playbooks
Developer ToolsIntermediate

Office MCP Server Setup

MCP server with 39 tools for Word, Excel, PowerPoint, PDF, OCR operations

10 minutes
By communitySource
#office#mcp#pdf#excel#word#powerpoint#automation

Claude can read your code but not your Excel files. It can write Python but can't open your PowerPoint. You need it to work with Office documents — extract tables from PDFs, read Word docs, update spreadsheets — and that requires connecting it to the right tools.

Who it's for: developers integrating Office document processing into AI workflows, teams wanting Claude to read and manipulate their business documents, automation engineers building document processing pipelines, knowledge workers needing AI assistance with Office files, IT teams setting up Claude Code for document-heavy departments

Example

"Set up Claude to work with our Office documents" → Configured MCP server with tools for reading Word docs, extracting Excel data, converting PDFs, running OCR on scanned documents, and creating PowerPoint presentations — all accessible from Claude Code

CLAUDE.md Template

New here? 3-minute setup guide → | Already set up? Copy the template below.

# Office MCP Server

## Overview

A complete MCP (Model Context Protocol) server providing **39 tools** for Office document operations. Implemented in TypeScript/Node.js with real functionality (not placeholders).

## Tool Categories

### PDF Tools (10)
| Tool | Description |
|------|-------------|
| `extract_text_from_pdf` | Extract text content, supports page selection |
| `extract_tables_from_pdf` | Extract table data from PDFs |
| `merge_pdfs` | Merge multiple PDFs into one |
| `split_pdf` | Split PDF by page ranges |
| `compress_pdf` | Reduce PDF file size |
| `add_watermark_to_pdf` | Add text/image watermarks |
| `fill_pdf_form` | Fill PDF form fields |
| `get_pdf_metadata` | Get PDF properties and metadata |
| `ocr_pdf` | OCR on scanned PDFs (multi-language) |
| `ocr_image` | OCR on image files (PNG, JPG, TIFF, etc.) |

### Spreadsheet Tools (7)
| Tool | Description |
|------|-------------|
| `read_xlsx` | Read Excel files with sheet/range selection |
| `create_xlsx` | Create multi-sheet Excel files |
| `analyze_spreadsheet` | Statistical analysis (min/max/mean/median) |
| `apply_formula` | Apply Excel formulas to cells |
| `create_chart` | Generate chart configurations |
| `pivot_table` | Create pivot tables with aggregation |
| `xlsx_to_json` | Convert Excel to JSON |

### Document Tools (6)
| Tool | Description |
|------|-------------|
| `extract_text_from_docx` | Extract text from Word documents |
| `create_docx` | Create DOCX with headings, lists, tables |
| `fill_docx_template` | Fill templates with {{placeholders}} |
| `analyze_document_structure` | Analyze headings, tables, word count |
| `insert_table_to_docx` | Insert tables into documents |
| `merge_docx_files` | Merge multiple Word documents |

### Conversion Tools (9)
| Tool | Description |
|------|-------------|
| `xlsx_to_csv` | Convert Excel to CSV |
| `csv_to_xlsx` | Convert CSV to Excel |
| `json_to_xlsx` | Convert JSON arrays to Excel |
| `docx_to_md` | Convert Word to Markdown |
| `md_to_docx` | Convert Markdown to Word |
| `pdf_to_docx` | Convert PDF to Word (text extraction) |
| `docx_to_pdf` | Convert Word to PDF (external tool required) |
| `html_to_pdf` | Convert HTML to PDF (external tool required) |
| `batch_convert` | Batch convert multiple files |

### Presentation Tools (7)
| Tool | Description |
|------|-------------|
| `create_pptx` | Create PowerPoint with themes |
| `extract_from_pptx` | Extract text and images from PPTX |
| `md_to_pptx` | Convert Markdown to slides |
| `add_slide` | Add slides to existing presentations |
| `update_slide` | Update slide content |
| `pptx_to_html` | Convert to reveal.js HTML |
| `get_pptx_outline` | Get presentation structure |

## Installation

### 1. Clone and Build

```bash
cd mcp-servers/office-mcp
npm install
npm run build
```

### 2. Configure Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "office-mcp": {
      "command": "/usr/local/bin/node",
      "args": ["/path/to/claude-code/mcp-servers/office-mcp/dist/index.js"]
    }
  }
}
```

### 3. Restart Claude Desktop

## Example Prompts

- "Read the Excel file at ~/Documents/sales.xlsx"
- "Create a PowerPoint with 5 slides about AI trends"
- "Extract text from this PDF and convert to Markdown"
- "Merge these 3 Word documents into one"
- "Analyze the data in this spreadsheet"

## Dependencies

```
pdf-parse, pdf-lib       - PDF operations
tesseract.js             - OCR (pure JavaScript, no native binary needed)
xlsx                     - Excel operations
mammoth, docx            - Word operations
docxtemplater, pizzip    - Template filling
pptxgenjs, jszip         - PowerPoint operations
turndown, marked         - Markdown conversion
```

### Supported OCR Languages
- `eng` - English
- `chi_sim` - Simplified Chinese
- `chi_tra` - Traditional Chinese
- `jpn` - Japanese
- `kor` - Korean
- `fra` - French
- `deu` - German
- `spa` - Spanish

## Resources

- [MCP Server Code](https://github.com/claude-code/workflows/tree/main/mcp-servers/office-mcp)
- [Implementation Plan](./mcp-servers/office-mcp/IMPLEMENTATION_PLAN.md)
- [Claude Code Hub](https://github.com/claude-code/workflows)
README.md

What This Does

A complete MCP (Model Context Protocol) server providing 39 tools for Office document operations. Implemented in TypeScript/Node.js with real functionality (not placeholders).


Quick Start

Step 1: Create a Project Folder

mkdir -p ~/Documents/OfficeMcp

Step 2: Download the Template

Click Download above, then:

mv ~/Downloads/CLAUDE.md ~/Documents/OfficeMcp/

Step 3: Start Working

cd ~/Documents/OfficeMcp
claude

Installation

1. Clone and Build

cd mcp-servers/office-mcp
npm install
npm run build

2. Configure Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "office-mcp": {
      "command": "/usr/local/bin/node",
      "args": ["/path/to/claude-code/mcp-servers/office-mcp/dist/index.js"]
    }
  }
}

3. Restart Claude Desktop

$Related Playbooks