opendocswork-mcp

Aimino-Tech/opendocswork-mcp
150 starsGPL-3.0Community

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Rust-native MCP server for Office document processing

README.md

office-oxide-mcp

![GitHub stars](https://github.com/Aimino-Tech/opendocswork-mcp/stargazers) ![GitHub forks](https://github.com/Aimino-Tech/opendocswork-mcp/network/members) ![GitHub issues](https://github.com/Aimino-Tech/opendocswork-mcp/issues) ![GitHub pull requests](https://github.com/Aimino-Tech/opendocswork-mcp/pulls)

Rust-native MCP server for Office document processing (Excel, Word, PowerPoint, PDF). Sub-millisecond, local-first, open source — the "open source Aspose."

PDFs are a pain. We live in bureaucratic countries where every form asks for your name, address, and date of birth — over and over. Bank applications, tax forms, insurance claims, government permits, rental agreements. Same fields, different PDFs, endless typing. Stop filling forms by hand. Let office-oxide-mcp do it in milliseconds — whether it's a simple AcroForm, a complex XFA form, or a flat scanned PDF where you need coordinates. Your LLM reads the form, you approve, it fills. Done.

<p align="center"> <a href="https://discord.gg/GVYVCwWX"><img src="https://img.shields.io/discord/1514222622215241729?color=5865F2&label=Join%20Discord&logo=discord&logoColor=white" alt="Discord"></a> <a href="https://github.com/Aimino-Tech/office-oxide-mcp/discussions"><img src="https://img.shields.io/badge/GitHub-Discussions-%23181717?logo=github" alt="GitHub Discussions"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT%2FApache--2.0-blue" alt="License"></a> </p>

[!TIP] Be with us! | <img alt="Discord link" src="https://img.shields.io/discord/1514222622215241729?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square" width="156px" /> | Join our Discord community to ask questions, share ideas, and get help with office-oxide-mcp. | | :----- | :----- | | <img alt="GitHub Discussions" src="https://img.shields.io/badge/GitHub-Discussions-181717?style=flat-square&logo=github&labelColor=black" width="156px" /> | Prefer GitHub? Start a discussion or open an issue. | | <img alt="GitHub Follow" src="https://img.shields.io/github/followers/Aimino-Tech?style=flat-square&logo=github&labelColor=black&color=24292f" width="156px" /> | Follow @Aimino-Tech on GitHub for more projects. |

<p align="center"> <a href="https://discord.gg/GVYVCwWX"><img src="https://discord.com/api/v10/guilds/1514222622215241729/widget.png?style=banner2" alt="Discord Widget"></a> </p>

---

Quick Start

cargo install office-oxide-mcp

Or download from GitHub Releases.

Claude Desktop

{
  "mcpServers": {
    "office": { "command": "office-oxide-mcp", "args": ["--transport", "stdio"] }
  }
}

Cursor

{
  "mcpServers": {
    "office-oxide-mcp": { "command": "office-oxide-mcp", "args": ["--transport", "stdio"] }
  }
}

VS Code (Copilot)

{
  "servers": {
    "office-oxide-mcp": { "command": "office-oxide-mcp", "args": ["--transport", "stdio"] }
  }
}

---

Use Cases

Every document below was generated by office-oxide-mcp — click to download.

| # | Format | Use Case | Skill | Preview | |---|--------|----------|-------|---------| | 1 | XLSX | Profit & Loss Statement | excel.basic | <img src="showcase/previews/01-pnl.png" width="180" alt="P&L"> | | 2 | XLSX | Executive KPI Dashboard | excel.basic | <img src="showcase/previews/02-kpi.png" width="180" alt="KPI"> | | 3 | XLSX | Budget vs Actual Variance | excel.basic | <img src="showcase/previews/03-budget.png" width="180" alt="Budget"> | | 4 | XLSX | Balance Sheet with Ratios | excel.basic | <img src="showcase/previews/04-balance.png" width="180" alt="Balance"> | | 5 | XLSX | Revenue Forecast | excel.basic | <img src="showcase/previews/10-forecast.png" width="180" alt="Forecast"> | | 6 | XLSX | Cost Analysis | excel.basic | <img src="showcase/previews/11-cost.png" width="180" alt="Cost"> | | 7 | DOCX | Invoice | word.invoice | <img src="showcase/previews/05-invoice.png" width="180" alt="Invoice"> | | 8 | DOCX | Annual Business Report | word.report | <img src="showcase/previews/15-report.png" width="180" alt="Report"> | | 9 | DOCX | IT Service Agreement | word.report | <img src="showcase/previews/17-contract.png" width="180" alt="Contract"> | | 10 | DOCX | Digital Strategy Report | word.report | <img src="showcase/previews/16-strategy.png" width="180" alt="Strategy"> | | 11 | PDF | Financial Report Export | office_export_pdf | <img src="showcase/previews/06-pdfexport.png" width="180" alt="PDF"> | | 12 | PPTX | Strategy Consulting Pitch Deck | ppt.deck | <img src="showcase/previews/01-strategy-consulting-pitch.png" width="180" alt="Strategy"> | | 13 | PPTX | CFO Quarterly Business Review | ppt.deck | <img src="showcase/previews/02-cfo-qbr-review.png" width="180" alt="CFO QBR"> | | 14 | PPTX | Product Launch Strategy Deck | ppt.deck | <img src="showcase/previews/03-product-launch-strategy.png" width="180" alt="Product"> | | 15 | PPTX | M&A Target Analysis Deck | ppt.deck | <img src="showcase/previews/04-ma-target-analysis.png" width="180" alt="M&A"> | | 16 | PPTX | Digital Transformation Roadmap | ppt.deck | <img src="showcase/previews/05-digital-transformation.png" width="180" alt="DX"> |

Interactive showcase → showcase/use-cases.html with full prompts, JSON-RPC calls, and details.

---

Tool Overview

| Tool | Description | Inputs | |---|---|---| | list_formats | All supported Office formats + capabilities | — | | get_document_info | File metadata (format, size, readability) | file_path | | office_read | Read content → JSON / Markdown / Chunks / Text | file_path, output_format | | office_fill_pdf_form | Fill AcroForm/XFA form fields in a PDF | file_path, output_path, fields | | office_list_pdf_fields | List all form fields in a PDF with values | file_path | | office_overlay_pdf_text | Insert text at coordinates on flat PDFs | file_path, output_path, fields | | office_analyze_pdf_layout | Analyze PDF layout for overlay coordinates | file_path | | increment | Increment counter (demo) | — | | get_value | Get current counter value (demo) | — |

Full Suite

AI Reading: to_md, to_json, to_chunks, excel_schema, coherence_check

Excel Write: office_create_xlsx, office_write_cell, office_write_range, office_format_range, office_create_chart, office_create_pivot, office_add_sheet, office_rename_sheet, office_delete_sheet, office_merge_cells, office_set_column_width, office_apply_conditional_format

Word Write: office_create_docx, office_write_docx_from_md, office_replace_text, office_set_style, office_add_table, office_add_image, office_add_header_footer, office_add_toc, office_add_comment, office_accept_changes

PPT Write: office_create_pptx, office_add_slide, office_set_slide_layout, office_add_text_box, office_add_chart, office_add_image

Skills System: skill_run, skill_list, skill_validate, skill_register

Coherence Engine: office_propagate_edit, office_check_consistency

PDF: office_read (markdown/text/json/chunks), office_fill_pdf_form, office_list_pdf_fields, office_overlay_pdf_text, office_analyze_pdf_layout, office_export_pdf

---

Architecture

┌────────────────────────────────────────────────────────┐
│                     Tool Layer                          │
│  AI Reading · Excel/Word/PPT · PDF · Skills · Coherence│
├────────────────────────────────────────────────────────┤
│                    Format Engines                       │
│  calamine · rust_xlsxwriter · rdocx · office_oxide     │
│          6 Office formats + PDF (lopdf)                │
├────────────────────────────────────────────────────────┤
│                  ZIP + XML + PDF Layer                  │
│    quick-xml (zero-copy) · zip · zlib-ng (SIMD) · lopdf│
├────────────────────────────────────────────────────────┤
│                 Semantic Layer                          │
│    Entity DAG · BFS propagation · Stale detection      │
└────────────────────────────────────────────────────────┘

---

Performance Benchmarks

| Operation | Python | office-oxide-mcp | Speedup | |---|---|---|---| | 10M cell XLSX read (openpyxl) | 239s | ~25s | ~10× | | 100K cell XLSX write (openpyxl) | 1.8s | 152ms | ~12× | | DOCX read mean (6K docs) | 11.8ms | 0.8ms | ~14× | | PPTX read mean (323 slides) | 32.5ms | 0.7ms | ~46× | | MCP tool call (FastMCP) | 3ms | 0.38ms | ~6× | | Cold start | 1-5s | <50ms | ~100× | | Memory (idle) | 42.7MB | <2MB | ~20× |

---

Build

cargo build                           # Debug
cargo build --release                 # Release
cargo clippy                          # Lint
cargo doc --open                      # Docs

Contributing

See CONTRIBUTING.md. All contributions welcome.

License

MIT OR Apache-2.0 — see LICENSE.

Related MCP servers

Browse all →