io.github.Aimino-Tech/office-oxide-mcp
Rust-native MCP server for Office document processing
Open source Open in the app JSON README (API)
About
Rust-native MCP server for Office document processing
Details
- Kind
- MCP servers
- Topic
- Files & documents
- Publisher
- aimino-tech
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.2.1
- Stars
- 162
- Forks
- 15
- Last push
- 2026-06-16T08:49:43Z
- Repository state
- ativo
- Language
- Rust
- License
- GPL-3.0
- Added
- 2026-08-29 03:01:40
- Updated
- 2026-08-29 03:01:40
- Origin id
io.github.Aimino-Tech/office-oxide-mcp
README
# 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.
<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" />](https://discord.gg/GVYVCwWX) | Join our [Discord community](https://discord.gg/GVYVCwWX) 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" />](https://github.com/Aimino-Tech/opendocswork-mcp/discussions) | Prefer GitHub? Start a [discussion](https://github.com/Aimino-Tech/opendocswork-mcp/discussions) 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" />](https://github.com/Aimino-Tech) | Follow [@Aimino-Tech](https://github.com/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
```bash
cargo install office-oxide-mcp
```
Or download from [GitHub Releases](https://github.com/Aimino-Tech/office-oxide-mcp/releases).
### Claude Desktop
```json
{
"mcpServers": {
"office": { "command": "office-oxide-mcp", "args": ["--transport", "stdio"] }
}
}
```
### Cursor
```json
{
"mcpServers": {
"office-oxide-mcp": { "command": "office-oxide-mcp", "args": ["--transport", "stdio"] }
}
}
```
### VS Code (Copilot)
```json
{
"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](showcase/generated/01-posch-energy-pnl/01-posch-energy-pnl.xlsx) | `excel.basic` | <img src="showcase/previews/01-pnl.png" width="180" alt="P&L"> |
| 2 | XLSX | [Executive KPI Dashboard](showcase/generated/02-meyer-automotive-kpi/02-meyer-automotive-kpi.xlsx) | `excel.basic` | <img src="showcase/previews/02-kpi.png" width="180" alt="KPI"> |
| 3 | XLSX | [Budget vs Actual Variance](showcase/generated/03-liebermann-health-budget/03-liebermann-health-budget.xlsx) | `excel.basic` | <img src="showcase/previews/03-budget.png" width="180" alt="Budget"> |
| 4 | XLSX | [Balance Sheet with Ratios](showcase/generated/04-wolfsburg-financial-balance/04-wolfsburg-financial-balance.xlsx) | `excel.basic` | <img src="showcase/previews/04-balance.png" width="180" alt="Balance"> |
| 5 | XLSX | [Revenue Forecast](showcase/generated/10-hoffmann-machine/10-hoffmann-machine.xlsx) | `excel.basic` | <img src="showcase/previews/10-forecast.png" width="180" alt="Forecast"> |
| 6 | XLSX | [Cost Analysis](showcase/generated/11-beck-energy/11-beck-energy.xlsx) | `excel.basic` | <img src="showcase/previews/11-cost.png" width="180" alt="Cost"> |
| 7 | DOCX | [Invoice](showcase/generated/05-thyssen-steel/05-thyssen-steel.xlsx) | `word.invoice` | <img src="showcase/previews/05-invoice.png" width="180" alt="Invoice"> |
| 8 | DOCX | [Annual Business Report](showcase/generated/15-meyer-automotive-report/15-meyer-automotive-report.docx) | `word.report` | <img src="showcase/previews/15-report.png" width="180" alt="Report"> |
| 9 | DOCX | [IT Service Agreement](showcase/generated/17-liebermann-health-contract/17-liebermann-health-contract.docx) | `word.report` | <img src="showcase/previews/17-contract.png" width="180" alt="Contract"> |
| 10 | DOCX | [Digital Strategy Report](showcase/generated/16-wolfsburg-digital-strategy/16-wolfsburg-digital-strategy.docx) | `word.report` | <img src="showcase/previews/16-strategy.png" width="180" alt="Strategy"> |
| 11 | PDF | [Financial Report Export](showcase/generated/06-bauer-construction/06-bauer-construction.xlsx) | `office_export_pdf` | <img src="showcase/previews/06-pdfexport.png" width="180" alt="PDF"> |
| 12 | PPTX | [Strategy Consulting Pitch Deck](showcase/generated/01-strategy-consulting-pitch/01-strategy-consulting-pitch.pptx) | `ppt.deck` | <img src="showcase/previews/01-strategy-consulting-pitch.png" width="180" alt="Strategy"> |
| 13 | PPTX | [CFO Quarterly Business Review](showcase/generated/02-cfo-qbr-review/02-cfo-qbr-review.pptx) | `ppt.deck` | <img src="showcase/previews/02-cfo-qbr-review.png" width="180" alt="CFO QBR"> |
| 14 | PPTX | [Product Launch Strategy Deck](showcase/generated/03-product-launch-strategy/03-product-launch-strategy.pptx) | `ppt.deck` | <img src="showcase/previews/03-product-launch-strategy.png" width="180" alt="Product"> |
| 15 | PPTX | [M&A Target Analysis Deck](showcase/generated/04-ma-target-analysis/04-ma-target-analysis.pptx) | `ppt.deck` | <img src="showcase/previews/04-ma-target-analysis.png" width="180" alt="M&A"> |
| 16 | PPTX | [Digital Transformation Roadmap](showcase/generated/05-digital-transformation/05-digital-transformation.pptx) | `ppt.deck` | <img src="showcase/previews/05-digital-transformation.png" width="180" alt="DX"> |
> **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).