# office-oxide-mcp [](https://github.com/Aimino-Tech/opendocswork-mcp/stargazers) [](https://github.com/Aimino-Tech/opendocswork-mcp/network/members) [](https://github.com/Aimino-Tech/opendocswork-mcp/issues) [](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.
> [!TIP] > Be with us! > > | [
|
| 2 | XLSX | [Executive KPI Dashboard](showcase/generated/02-meyer-automotive-kpi/02-meyer-automotive-kpi.xlsx) | `excel.basic` |
|
| 3 | XLSX | [Budget vs Actual Variance](showcase/generated/03-liebermann-health-budget/03-liebermann-health-budget.xlsx) | `excel.basic` |
|
| 4 | XLSX | [Balance Sheet with Ratios](showcase/generated/04-wolfsburg-financial-balance/04-wolfsburg-financial-balance.xlsx) | `excel.basic` |
|
| 5 | XLSX | [Revenue Forecast](showcase/generated/10-hoffmann-machine/10-hoffmann-machine.xlsx) | `excel.basic` |
|
| 6 | XLSX | [Cost Analysis](showcase/generated/11-beck-energy/11-beck-energy.xlsx) | `excel.basic` |
|
| 7 | DOCX | [Invoice](showcase/generated/05-thyssen-steel/05-thyssen-steel.xlsx) | `word.invoice` |
|
| 8 | DOCX | [Annual Business Report](showcase/generated/15-meyer-automotive-report/15-meyer-automotive-report.docx) | `word.report` |
|
| 9 | DOCX | [IT Service Agreement](showcase/generated/17-liebermann-health-contract/17-liebermann-health-contract.docx) | `word.report` |
|
| 10 | DOCX | [Digital Strategy Report](showcase/generated/16-wolfsburg-digital-strategy/16-wolfsburg-digital-strategy.docx) | `word.report` |
|
| 11 | PDF | [Financial Report Export](showcase/generated/06-bauer-construction/06-bauer-construction.xlsx) | `office_export_pdf` |
|
| 12 | PPTX | [Strategy Consulting Pitch Deck](showcase/generated/01-strategy-consulting-pitch/01-strategy-consulting-pitch.pptx) | `ppt.deck` |
|
| 13 | PPTX | [CFO Quarterly Business Review](showcase/generated/02-cfo-qbr-review/02-cfo-qbr-review.pptx) | `ppt.deck` |
|
| 14 | PPTX | [Product Launch Strategy Deck](showcase/generated/03-product-launch-strategy/03-product-launch-strategy.pptx) | `ppt.deck` |
|
| 15 | PPTX | [M&A Target Analysis Deck](showcase/generated/04-ma-target-analysis/04-ma-target-analysis.pptx) | `ppt.deck` |
|
| 16 | PPTX | [Digital Transformation Roadmap](showcase/generated/05-digital-transformation/05-digital-transformation.pptx) | `ppt.deck` |
|
> **Interactive showcase → [`showcase/use-cases.html`](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
```bash
cargo build # Debug
cargo build --release # Release
cargo clippy # Lint
cargo doc --open # Docs
```
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md). All contributions welcome.
## License
MIT OR Apache-2.0 — see [LICENSE](LICENSE).