office-oxide-mcp
   
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.htmlwith 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.






