Releases: ruwadgroup/docxengine
docxengine 1.0.0
First stable release. docxengine is a Python-only MCP server for surgical, fidelity-preserving DOCX editing by AI agents — deterministic OOXML editing with real tracked changes, threaded comments, hash-anchored addressing, and a token-efficient agent view.
Install
pip install docxengine # or: uvx docxengine-mcpMCP client config:
{ "mcpServers": { "docxengine": { "command": "uvx", "args": ["docxengine-mcp"] } } }Highlights
- 24 tools (23 over the file-first MCP server); real
w:ins/w:delredlines with accept/reject by author/date - Content-hash anchors that survive edits; always-on OOXML validation gate (no Word "repair")
- Token-efficient structural projection; text-first tools return Markdown over MCP
- Hostile-input hardening (zip-bomb caps,
<!DOCTYPE/<!ENTITYrejection, depth/path clamps)
Note
This release collapses the project to a single Python implementation: the prior TypeScript package (@docxengine/core), the cross-language conformance harness, and the SDK/integrator docs were removed. See the CHANGELOG for details.
476 tests passing.
v0.1.0 — first public release
First public release of DocxEngine — surgical, fidelity-preserving DOCX editing for AI agents.
One deterministic OOXML core (unzip → patch XML → rezip, no LLM inside), exposed through three thin faces: an MCP server, a Python package (docxengine), and a JS/TS package (@docxengine/core). Agents see a token-efficient, Markdown-like projection with content-hash-anchored paragraph IDs — never raw XML.
Highlights
- All 24 tools live in both engines: read/search/edit/redlines, tables, styles, lists, sections, threaded comments, media, fields/TOC, mustache templates, Markdown↔docx conversion, and a pluggable render adapter.
- File-first MCP server — every tool takes a file
path; each call opens, runs, validates, and atomically saves back. Nodoc_idto track, no separate save step.DOCXENGINE_ROOTsandboxes paths. stdio + Streamable HTTP transports. - Full-coverage native
DocumentAPI in both languages — one typed method per tool,create/fill_template/attachconstructors,to_bytes(), anchor-scopedParagraphprimitives, and a storage-agnosticexport_bytes/exportByteshelper for browser/serverless hosts. - Real redlines — first-class tracked-change writing plus accept/reject filtered by author or date.
- Always-on validation gate — ID uniqueness, orphaned relationships, dangling footnotes, and content-type errors caught before save, with auto-repair where safe.
- One conformance-tested contract — 455 Python tests, 342 TS tests, 31/31 cross-implementation parity cases, and a 10-task agent benchmark passing end-to-end over MCP with zero tool errors and zero Word-repair events.
Install
Not yet on PyPI/npm — install from source:
```bash
git clone https://github.com/ruwadgroup/docxengine.git && cd docxengine
pip install -e python # Python + the docxengine-mcp entry point
pnpm install && pnpm --dir js build # JS/TS
```
See the Quickstart and full CHANGELOG.