Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
MCP server for Office document processing
office-oxide-mcp connects an agent to Office files through MCP. It reads and writes Excel, Word, PowerPoint, and PDF documents, including PDF form filling and layout-based text overlay. The repo also includes reusable office skills and example workflows.

Builders who want their agent to read, write, and fill Office documents from an MCP client.
You can have your agent process office files locally instead of copying content between apps by hand.
What it does
Read office documents
Reads Excel, Word, PowerPoint, and PDF files into JSON, Markdown, chunks, or text.
Write Excel, Word, and PowerPoint files
Creates and edits spreadsheets, documents, and slide decks with tools for cells, tables, charts, images, and slides.
Fill and inspect PDF forms
Lists PDF fields, fills AcroForm and XFA forms, and places text on flat PDFs using coordinates.
Run packaged office skills
Includes skill files for tasks like Excel basics, charts, pivots, Word reports, invoices, and PowerPoint decks.
Work through MCP
Exposes document tools as an MCP server that Claude Desktop, Cursor, and Copilot can call.
How to get it
- 1Run
cargo install office-oxide-mcp
README
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.
[!TIP] Be with us!
Join our Discord community to ask questions, share ideas, and get help with office-oxide-mcp. Prefer GitHub? Start a discussion or open an issue. Follow @Aimino-Tech on GitHub for more projects.
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 | ![]() |
| 2 | XLSX | Executive KPI Dashboard | excel.basic | ![]() |
| 3 | XLSX | Budget vs Actual Variance | excel.basic | ![]() |
| 4 | XLSX | Balance Sheet with Ratios | excel.basic | ![]() |
| 5 | XLSX | Revenue Forecast | excel.basic | ![]() |
| 6 | XLSX | Cost Analysis | excel.basic | ![]() |
| 7 | DOCX | Invoice | word.invoice | ![]() |
| 8 | DOCX | Annual Business Report | word.report | ![]() |
| 9 | DOCX | IT Service Agreement | word.report | ![]() |
| 10 | DOCX | Digital Strategy Report | word.report | ![]() |
| 11 | Financial Report Export | office_export_pdf | ![]() | |
| 12 | PPTX | Strategy Consulting Pitch Deck | ppt.deck | ![]() |
| 13 | PPTX | CFO Quarterly Business Review | ppt.deck | ![]() |
| 14 | PPTX | Product Launch Strategy Deck | ppt.deck | ![]() |
| 15 | PPTX | M&A Target Analysis Deck | ppt.deck | ![]() |
| 16 | PPTX | Digital Transformation Roadmap | ppt.deck | ![]() |
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.
Files in the repo
- .github
- scripts
- showcase
- skills
- src
- vendor
- .editorconfig
- .gitignore
- Cargo.lock
- Cargo.toml
- CHANGELOG.md
- CLA.md
- CODE_OF_CONDUCT.md
- COMMUNITY.md
- CONTRIBUTING.md
- CONTRIBUTORS.md
- Dockerfile
- glama.json
- LICENSE
- mcp.json
- README.md
- SECURITY.md
- smithery.yaml
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More connectors
High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code
Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.
Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.
Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.















