OfficeCLI is a command-line tool, shipped as a single binary with no Office installation, through which an AI agent creates, reads, modifies and validates Word, Excel and PowerPoint files. Every command takes a JSON flag and returns consistent schemas, elements are addressed by stable paths (slide 1, shape 2) rather than XML namespaces, and structured error codes come with suggestions and valid ranges so an agent can correct itself without a person stepping in.
Its rendering engine turns .docx, .xlsx and .pptx into HTML or per-page PNG without Office, covering shapes, charts, equations (OMML to LaTeX via KaTeX), 3D models and shape effects, so a multimodal agent can look at its output and fix overflow or overlap, including in CI, Docker and headless servers. A watch mode serves a live preview that refreshes on every edit. An Excel engine evaluates 350+ functions on write, including spilling dynamic arrays and financial and statistical families, and writes native OOXML pivot tables.
Operations are layered: semantic views (text, outline, annotated, stats, issues, HTML, screenshot), DOM-level get, query, set, add, remove, move and swap, and raw XML through XPath as the fallback. A template merge fills placeholders from JSON across paragraphs, cells, shapes, headers and chart titles, and a dump command serializes a document or any subtree into replayable batch JSON. Resident mode keeps a document in memory over named pipes for multi-step work, batch mode applies many operations atomically, and Python and Node.js SDKs wrap the resident pipe. A built-in MCP server registers with Claude Code, Cursor, VS Code, LM Studio and OpenCode, the install command detects coding agents (Claude Code, Cursor, Windsurf, GitHub Copilot, Codex) and installs a skill file, and AionUi is a desktop app that drives OfficeCLI through natural language.
| OfficeCLI | Microsoft Office | LibreOffice | python-docx / openpyxl | |
|---|---|---|---|---|
| AI-native CLI + JSON | Yes | No | No | No |
| Single binary, no install of a suite | Yes | No | No | No (Python + pip) |
| Call from any language | Yes (CLI) | No (COM/Add-in) | No (UNO API) | Python only |
| Path-based element access | Yes | No | No | No |
| Raw XML fallback | Yes | No | No | Partial |
| Headless HTML/PNG output | Yes | No | Partial | No |
| Template merge across formats | Yes | No | No | No |
| Round-trip dump to batch JSON | Yes | No | No | No |
| Live preview on edit | Yes | No | No | No |
| Headless / CI | Yes | No | Partial | Yes |
| Word + Excel + PowerPoint | Yes | Yes | Yes | Separate libs |
Features
- Three formats: read, modify and create .docx, .xlsx and .pptx from one binary, with Word i18n and RTL support, Excel sheets, cells, formulas and charts, and PowerPoint slides, shapes, images, masters and layouts
- Rendering engine: HTML and per-page PNG output without Office, covering shapes, charts, equations, 3D models, morph transitions and effects, so an agent can see and fix its output
- Live preview: a watch mode refreshes a browser preview on every edit, with inline cell editing and drag-to-reposition charts for Excel
- Formula and pivot engine: 350+ Excel functions evaluated on write, spilling dynamic arrays, financial and statistical families, and native OOXML pivot tables from a source range
- Template merge: fills placeholders from JSON across paragraphs, table cells, shapes, headers, footers and chart titles in any of the three formats
- Round-trip dump: serializes a document or any subtree into replayable batch JSON that the batch command replays, so an agent can imitate an existing sample
- Three-layer access: semantic views, DOM operations (get, query, set, add, remove, move, swap) and raw XML through XPath as the fallback
- Agent-oriented output: a JSON flag on every command, stable path addressing, structured error codes with suggestions, built-in help per element and property, and a validate and issues check (overflow, missing alt text, formula errors)
- Resident and batch modes: keeps a document in memory over named pipes, and applies multi-command batches atomically, with options to keep partial progress or stop at the first failure
- MCP server and skill install: registers as an MCP server with Claude Code, Cursor, VS Code, LM Studio and OpenCode, and installs its skill file into detected coding agents
- SDKs: Python and Node.js resident-pipe SDKs that provision the binary when it is missing
- Plugins: extend input to .doc and .hwpx and output to PDF through dump-reader, exporter and format-handler plugin kinds
