office-mcp — Claude Code skill: 39 Office document tools
An MCP server with 39 tools for Word, Excel, PowerPoint, PDF and OCR work. Useful when your agent has to read and build office files inside a project.
npx skills add claude-office-skills/skills --skill office-mcp -a claude-codeWhat office-mcp does
The skill spins up an MCP server that hands your agent 39 tools. Ten cover PDF: pulling text and tables, merging and splitting by page range, compressing, watermarks, form filling, metadata, plus OCR for scans and images. Seven handle Excel: reading sheets and ranges, creating workbooks, statistics, formulas, charts, pivot tables, JSON export.
Word gets six tools: text extraction from docx, file creation with headings and tables, template filling through {{placeholders}}, structure analysis, table insertion, merging several files. Nine tools convert formats — xlsx to CSV and back, JSON to Excel, Word to Markdown and back, PDF to Word, and batch runs. Presentations: building pptx with themes, extracting content, Markdown to slides, adding and updating slides, export to reveal.js HTML, outline retrieval.
The server is TypeScript and builds with npm install and npm run build. OCR runs on tesseract.js, pure JavaScript, so no native binary is involved. Conversion the other way is a different story: docx_to_pdf and html_to_pdf need an external tool, and without it those two tools simply fail. OCR languages available: eng, chi_sim, chi_tra, jpn, kor, fra, deu, spa.
What it helps with
- pull text and tables out of a scanned PDF
- build a multi-sheet Excel file from CSV or JSON
- fill a Word template with placeholder data
- merge several documents into one file
- read text off an image or scan
Example prompts for the agent
- Read the Excel file at
~/Documents/sales.xlsxand summarize the sheets - Create a PowerPoint with 5 slides about AI trends
- Extract text from this PDF and convert it to Markdown
How to install office-mcp
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill office-mcp -a claude-code2Manually: put the files in place
~/.claude/skills/office-mcp/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/office-mcp/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill office-mcp -a codex2Manually: put the files in place
.agents/skills/office-mcp/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill office-mcp -a cursor2Manually: put the files in place
.cursor/skills/office-mcp/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install claude-office-skills/skills office-mcp2Manually: put the files in place
.github/skills/office-mcp/SKILL.md1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill office-mcp -a gemini-cli2Platform CLI
gemini skills install https://github.com/claude-office-skills/skills --path office-mcpManually: put the files in place
.devin/skills/office-mcp/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill office-mcp -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about office-mcp
How do I install office-mcp in Claude?
Run npx skills add claude-office-skills/skills --skill office-mcp -a claude-code. The skill then lands at ~/.claude/skills/office-mcp/SKILL.md.
What does office-mcp do?
It runs an MCP server with 39 tools for PDF, Excel, Word, PowerPoint and format conversion. Your agent calls them directly to read and create office files.
What do OCR and PDF conversion need to work?
OCR uses tesseract.js, so no native binary is required. For docx_to_pdf and html_to_pdf you need an external tool — without it those two tools will not run.
Source text
SKILL.md · MIT
---
# ═══════════════════════════════════════════════════════════════════════════════
# CLAUDE OFFICE SKILL - Enhanced Metadata v2.0
# ═══════════════════════════════════════════════════════════════════════════════
# Basic Information
name: office-mcp
description: "MCP server with 39 tools for Word, Excel, PowerPoint, PDF, OCR operations"
version: "2.1"
author: claude-office-skills
license: MIT
# Categorization
category: workflow
tags:
- office
- mcp
- pdf
- excel
- word
- powerpoint
- automation
department: All
# AI Model Compatibility
models:
recommended:
- claude-sonnet-4
- claude-opus-4
compatible:
- claude-3-5-sonnet
- gpt-4
- gpt-4o
# Skill Capabilities
capabilities:
- office_automation
- mcp_tools
- pdf_processing
- spreadsheet_analysis
- document_generation
- presentation_creation
- format_conversion
# Language Support
languages:
- en
- zh
---
# 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-office-skills/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-office-skills/skills/tree/main/mcp-servers/office-mcp)
- [Implementation Plan](./mcp-servers/office-mcp/IMPLEMENTATION_PLAN.md)
- [Claude Office Skills Hub](https://github.com/claude-office-skills/skills)
© claude-office-skills · MIT · claude-office-skills/skills