Skip to content

Releases: ruwadgroup/docxengine

docxengine 1.0.0

17 Jun 08:04

Choose a tag to compare

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-mcp

MCP client config:

{ "mcpServers": { "docxengine": { "command": "uvx", "args": ["docxengine-mcp"] } } }

Highlights

  • 24 tools (23 over the file-first MCP server); real w:ins/w:del redlines 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/<!ENTITY rejection, 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

11 Jun 17:54

Choose a tag to compare

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. No doc_id to track, no separate save step. DOCXENGINE_ROOT sandboxes paths. stdio + Streamable HTTP transports.
  • Full-coverage native Document API in both languages — one typed method per tool, create/fill_template/attach constructors, to_bytes(), anchor-scoped Paragraph primitives, and a storage-agnostic export_bytes/exportBytes helper 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.