freshcrate
Home > MCP Servers > adeu

adeu

Agentic DOCX Redlining Engine. Enables LLMs to read Word documents and inject native Track Changes (w:ins, w:del) and Comments without breaking formatting. Includes Model Context Protocol (MCP) Server

Description

Agentic DOCX Redlining Engine. Enables LLMs to read Word documents and inject native Track Changes (w:ins, w:del) and Comments without breaking formatting. Includes Model Context Protocol (MCP) Server.

README

Adeu: Native Track Changes for AI

Adeu bridges the gap between LLM text generation and Microsoft Word.

LLMs speak Markdown; Lawyers speak "Track Changes." Adeu allows AI agents to propose edits to .docx files without breaking formatting, numbering, or complex layouts.

It treats the DOCX file as a Virtual DOM:

  1. Ingest: Extracts a lightweight, token-efficient text representation for the AI.
  2. Diff: Calculates changes based on the AI's edits.
  3. Reconcile: Surgically injects native XML w:ins (insertions) and w:del (deletions) back into the original document.

Adeu Open Source Software is developed by Adeu.


Setup

Prerequisite: Adeu uses uv for fast, isolated execution. Install it via your terminal:

macOS

curl -LsSf https://astral.sh/uv/install.sh | sh

If you have Homebrew installed, macOS may warn you to use it for system-wide installations. In that case, use:

brew install uv

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

(Alternatively, on any platform you can use pip install uv)

Claude Desktop Integration

To instantly add Adeu to Claude Desktop, run:

uvx adeu init

Important

This command automatically detects and updates your claude_desktop_config.json. Restart Claude Desktop afterward to load the new tools.

Verify It's Working

Once Claude Desktop has restarted, you can confirm Adeu is connected by typing the following message directly into Claude:

"Can you read a DOCX file using the Adeu tool?"

If everything is set up correctly, Claude will confirm it has access to the Adeu tools and describe what it can do. If it doesn't mention Adeu or says it doesn't have file tools, double-check that you restarted Claude Desktop after running uvx adeu init.

Manual / Other MCP Client Configuration
If you are using another MCP client (like Cursor, Windsurf, or a custom app), add the following to your MCP configuration file.

Because Adeu requires Python 3.12+, uvx will automatically handle downloading the correct Python version and running the server:

{
  "mcpServers": {
    "adeu": {
      "command": "uvx",
      "args": ["--from", "adeu", "adeu-server"]
    }
  }
}

Workflows

1. For Agents (Claude / MCP)

Adeu runs as a Model Context Protocol (MCP) server. It provides agents with specific tools to read, review, and edit documents safely.

✨ MCP Apps UI: The read_docx tool now supports the latest MCP Apps UI protocol. When an agent reads a document, Adeu dynamically renders a custom, interactive Markdown UI view directly inside your Claude chat windowβ€”allowing you to visually review the extracted text and formatting alongside the AI's reasoning!

The "Document Specialist" Prompt: To maximize the AI's effectiveness, paste this context into Claude's Project Instructions or your agent's System Prompt:

Role: Document Specialist Tools:

  • read_docx(clean_view=True): Read the final "clean" version of the text to understand context.
  • process_document_batch: Commit & Negotiate Mode. Apply a unified list of changes. Use type: "modify" for specific search-and-replace text edits, and type: "accept", "reject", or "reply" to manage existing Track Changes and Comments by ID.
  • sanitize_docx: Pre-Send Scrub. Strip dangerous metadata, author names, and internal tracking IDs before sharing. Can preserve existing markup (keep_markup=True) or generate a clean delta against a baseline.

Windows Copilot: Live Word Integration

If you are running on Windows with Microsoft Word installed, Adeu can act as a real-time copilot, editing the active document right in front of you.

  • read_active_word_document: Extracts text, tracked changes, and comments directly from the live, open Word window.
  • process_active_word_batch: Translates the LLM's edits into native COM macros, watching Word type, delete, and add comments on the canvas automatically.

2. For Builders (Python SDK)

If you are building a legal-tech application or an automated pipeline, use the RedlineEngine directly. It handles the heavy lifting of XML manipulation.

from adeu import RedlineEngine, ModifyText
from io import BytesIO

# 1. Load the contract
with open("MSA.docx", "rb") as f:
    stream = BytesIO(f.read())

# 2. Define the edit (e.g., from an LLM response)
# Adeu uses fuzzy matching to locate the target text, even if whitespace varies.
edit = ModifyText(
    target_text="State of New York",
    new_text="State of Delaware",
    comment="Standardizing governing law."
)

# 3. Apply changes
engine = RedlineEngine(stream, author="AI Copilot")
engine.apply_edits([edit])

# 4. Save the result
with open("MSA_Redlined.docx", "wb") as f:
    f.write(engine.save_to_stream().getvalue())

3. The CLI

Quickly inspect documents or apply batches of edits from your terminal.

# Extract clean text for RAG or prompting
adeu extract contract.docx -o contract.md

# Generate a visual diff between two versions
adeu diff v1.docx v2.docx

# Preview what an edit list (JSON) would look like
adeu markup contract.docx edits.json --output preview.md

# Apply edits to the DOCX
adeu apply contract.docx edits.json --author "Review Bot"

# Sanitize a document (strip metadata) before sharing with a counterparty
adeu sanitize redline.docx -o clean.docx --keep-markup --author "My Firm" --report

Key Features

Format Safety

Adeu does not "rewrite" the document. It patches it.

  • Images & Layouts: Untouched.
  • Numbering & Headers: Preserved.
  • Complex XML: It only modifies the text runs targeted by the edit.

CriticMarkup Representation

Intermediate representations matter. Adeu uses CriticMarkup to visualize changes.

Markup Meaning Example
{--text--} Deletion {--Tenant--}
{++text++} Insertion {++Lessee++}
{>>text<<} Comment {>>Clarify this term<<}

Intelligent Mapping

Word documents are messy. A word like "Contract" might be split into XML runs like ["Con", "tract"] due to spellcheck or formatting history.

  • Run Coalescing: Adeu normalizes these splits so the AI sees "Contract".
  • Fuzzy Matching: It handles minor whitespace discrepancies between the LLM's memory and the actual document content.

Metadata Sanitization

Existing metadata scrubbers break redlines or silently strip data. Adeu's sanitize command surgically removes dangerous trackers (rsids, templates, internal paths, timestamps) and orphaned content while preserving valid track changes. Crucially, it generates a transparent audit report proving exactly what was stripped and what will be visible to the recipient.


License

MIT License. Open source and free to use in commercial applications.

Release History

VersionChangesUrgencyDate
v1.1.0Adeu v1.1.0 introduces a surgical DOCX metadata scrubber that **safely prepares documents for the counterparty**. Word documents leak information. Track changes reveal negotiation strategies, resolved comments expose internal deliberations, and XML metadata leaks author names, file server paths, and editing timelines. Adeu fixes this by stripping dangerous metadata while mathematically preserving complex Track Changes and proving what it did. ### Agentic Integrations (MCP) * **New `saHigh4/19/2026
v0.9.0This release marks a major stabilization of the Adeu MCP interface and Python SDK. We have completely overhauled the way AI agents interact with documents, moving from fragmented, multi-step tool calls to a unified, reliable batch-processing pipeline. ## Key Features & Agentic Improvements * **Unified Flat API (`DocumentChange`)**: The LLM now interacts with a single, flat list of operations represented by a discriminated union. This dramatically improves LLM structured output reliability Medium3/29/2026
v0.7.1## Adeu v0.7.1 **6 issues fixed.** --- **Ambiguous match detection:** The engine now scans the full document before writing. Duplicate target strings trigger a hard stop with a report showing every occurrence in context. The file on disk is never touched on failure. **Atomic batch processing:** Edits and review actions (accept/reject/reply) in a single batch now execute in one document lifecycle. No more cross-invocation state loss or cascading misanchors. **Surgical edits insidLow3/12/2026
v0.7.0## v0.7.0 **4 bug fixes discovered through real-world contract redlining.** ### Bug Fixes - **Tab normalization** β€” `get_run_text()` now normalizes literal `\t` characters to spaces, consistent with how `<w:tab/>` elements are handled. Previously this caused spurious track changes showing tab deletions and space insertions. - **Bold/italic inheritance bleed** β€” Replacing formatted text with plain text no longer incorrectly inherits the deleted run's bold or italic properties. `_applyLow2/26/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

Cognio🧠 Enhance AI conversations with Cognio, a persistent memory server that retains context and enables meaningful semantic search across sessions.main@2026-04-21
Ollama-Terminal-AgentAutomate shell tasks using a local Ollama model that plans, executes, and fixes commands without cloud or API dependencies.main@2026-04-21
seraphAn AI guardian that remembers, watches, and acts.develop@2026-04-13
ouroborosStop prompting. Start specifying.v0.29.1
heurist-agent-frameworkA flexible multi-interface AI agent framework for building agents with reasoning, tool use, memory, deep research, blockchain interaction, MCP, and agents-as-a-service.0.0.0