Office Oxide Mcp

io.github.Aimino-TechPublished by GitHub account Aimino-Techv0.2.1Updated Oct 24, 2026

Rust-native MCP server for Office document processing

Overview

AI-generated overview

A local MCP server for reading, creating and editing Office documents (Excel, Word, PowerPoint) and PDFs, including filling PDF forms.

What you can do
List supported formats and read file metadata, and read documents into Markdown, JSON, text or chunks for the assistant to work with.
When to use it
Use it when an assistant needs to work with local Office files or PDFs: extracting content for analysis, generating spreadsheets, reports or slide decks, or filling in PDF forms from data the assistant has read.
Requirements
Runs as a local process on the user's machine (desktop only, not web-executable). The README installs it with cargo or a GitHub release; the manifest lists an npm package run with npx. No accounts, API keys or environment variables are declared.
Before you install
Many tools write files: creating and editing XLSX, DOCX and PPTX, replacing text, deleting sheets, and writing filled or overlaid PDFs to an output path. Point it only at documents you are willing to change, and review generated or filled files before relying on them.

Installation

In SourceWeft

  1. Open Office Oxide Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

office-oxide-mcp

[GitHub stars] [GitHub forks] [GitHub issues] [GitHub pull requests]

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.

[Discord] [GitHub Discussions] [License]

[!TIP] Be with us!

[Discord link]Join our Discord community to ask questions, share ideas, and get help with office-oxide-mcp.
[GitHub Discussions]Prefer GitHub? Start a discussion or open an issue.
[GitHub Follow]Follow @Aimino-Tech on GitHub for more projects.

[Discord Widget]


Quick Start

bash
cargo install office-oxide-mcp

Or download from GitHub 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.

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


Tool Overview

ToolDescriptionInputs
list_formatsAll supported Office formats + capabilities—
get_document_infoFile metadata (format, size, readability)file_path
office_readRead content → JSON / Markdown / Chunks / Textfile_path, output_format
office_fill_pdf_formFill AcroForm/XFA form fields in a PDFfile_path, output_path, fields
office_list_pdf_fieldsList all form fields in a PDF with valuesfile_path
office_overlay_pdf_textInsert text at coordinates on flat PDFsfile_path, output_path, fields
office_analyze_pdf_layoutAnalyze PDF layout for overlay coordinatesfile_path
incrementIncrement counter (demo)—
get_valueGet 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

OperationPythonoffice-oxide-mcpSpeedup
10M cell XLSX read (openpyxl)239s~25s~10×
100K cell XLSX write (openpyxl)1.8s152ms~12×
DOCX read mean (6K docs)11.8ms0.8ms~14×
PPTX read mean (323 slides)32.5ms0.7ms~46×
MCP tool call (FastMCP)3ms0.38ms~6×
Cold start1-5s<50ms~100×
Memory (idle)42.7MB<2MB~20×

Build

bash
cargo build                           # Debugcargo build --release                 # Releasecargo clippy                          # Lintcargo doc --open                      # Docs

Contributing

See CONTRIBUTING.md. All contributions welcome.

License

MIT OR Apache-2.0 — see LICENSE.

Source: README.md at commit 945ab3d

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts