Skip to main content
Glama

Adeu: AIのためのネイティブな変更履歴機能

PyPI version Python versions License: MIT CI MCP Compatible

LLMはMarkdownを話し、弁護士は「変更履歴」を話します。

Adeuは、Microsoft Wordの**「仮想DOM」**として機能するModel Context Protocol (MCP) サーバーおよびPython SDKです。双方向の抽象化レイヤーを提供し、AIエージェントが基盤となるフォーマットや複雑なDOCX XMLを破壊することなく、ドキュメントのテキストを自由に編集できるようにします。

python-docxのような標準ライブラリはドキュメントをゼロから生成することには優れていますが、非破壊的な赤入れには対応していません。Adeuは.docxファイルをトークン効率の良いMarkdown表現に変換することで、この問題を解決します。これにより、AIエージェントはOpenXMLの扱いにトークンを浪費することなく、ドキュメントのセマンティクス(意味内容)に完全に集中できるようになります。

Adeuはインテリジェントなプロキシとして機能し、AIによる編集を安全なアトミックトランザクションとして処理します。

  1. 抽出: ドキュメント(ディスク上または開いているWord)を、定義された用語、相互参照、誤字脱字の可能性を含むセマンティック付録を備えた、LLMフレンドリーなCriticMarkupに変換します。エージェントは生のデータではなく、意味構造から作業を開始します。

  2. 検証: 厳格な安全ゲートとして機能します。曖昧なテキスト一致や無効な構造変更をファイルに適用する前に自動的にブロックすることで、ドキュメントの整合性を保護します。

  3. コミット: AIのテキスト編集をネイティブなWordの変更履歴に変換します。Adeuは内部の複雑なXMLを処理し、既存のレイアウト、フォント、余白のコメントが完全に保持されるようにします。

Adeuによって保守されています。


セットアップ

前提条件: Adeuは高速で分離された実行のためにuvを使用します。インストールにはpipを使用するのが最も簡単です。

pip install uv

macOS

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

Windows

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

Claude Desktopとの統合

AdeuをClaude Desktopに即座に追加するには、以下を実行します。

uvx adeu init
IMPORTANT

このコマンドは、claude_desktop_config.json自動的に検出して更新します。 その後、新しいツールを読み込むためにClaude Desktopを再起動してください。

動作確認

Claude Desktopが再起動したら、Claudeに直接以下のメッセージを入力して、Adeuが接続されていることを確認できます。

「Adeuツールを使ってDOCXファイルを読み込めますか?」

正しく設定されていれば、ClaudeはAdeuツールにアクセスできることを確認し、何ができるかを説明します。Adeuについて言及されない場合や、ファイルツールがないと言われた場合は、uvx adeu initを実行した後にClaude Desktopを再起動したか再確認してください。

AdeuはPython 3.12以降を必要とするため、uvxが適切なPythonバージョンのダウンロードとサーバーの実行を自動的に処理します。

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

ワークフロー

1. エージェント向け (Claude / MCP)

AdeuはModel Context Protocol (MCP) サーバーとして実行されます。エージェントがドキュメントを安全に読み取り、レビューし、編集するための特定のツールを提供します。

MCP Apps UI: read_docxツールは最新のMCP Apps UIプロトコルをサポートしています。エージェントがドキュメントを読み取ると、AdeuはClaudeチャットウィンドウ内にカスタムのインタラクティブなMarkdown UIビューを動的にレンダリングします。これにより、抽出されたテキストとフォーマットをAIの推論と並べて視覚的に確認できます!

推奨されるエージェントプロンプト: AdeuのツールはLLMに対して自身のスキーマを自動的に説明しますが、Claudeのプロジェクト指示やエージェントのシステムプロンプトに以下のコンテキストを追加することで、最良の動作結果を保証できます。

役割: ドキュメントスペシャリスト ツール:

  • read_docx(clean_view=True): テキストの最終的な「クリーン」バージョンを読み取り、コンテキストを理解します。

  • process_document_batch: コミット&交渉モード。 変更の統合リストを適用します。特定の検索・置換テキスト編集にはtype: "modify"を使用し、既存の変更履歴やコメントをIDで管理するにはtype: "accept""reject"、または"reply"を使用します。

  • sanitize_docx: 送信前スクラブ。 共有前に危険なメタデータ、作成者名、内部追跡IDを削除します。既存のマークアップを保持する(keep_markup=True)か、ベースラインに対してクリーンな差分を生成できます。

ライブMS Word統合

Microsoft WordがインストールされたWindows環境で実行している場合、Adeuはリアルタイムの副操縦士として機能し、目の前でアクティブなドキュメントを編集できます。

  • read_active_word_document: 開いているWordウィンドウから直接、テキスト、変更履歴、コメントを抽出します。

  • process_active_word_batch: LLMの編集内容をネイティブなCOMマクロに変換し、Wordがキャンバス上で自動的に入力、削除、コメント追加を行う様子を監視します。

2. ビルダー向け (Python SDK)

リーガルテックアプリケーションや自動化パイプラインを構築している場合は、RedlineEngineを直接使用してください。XML操作の重い処理をすべて引き受けます。

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. CLI

ターミナルからドキュメントを素早く検査したり、編集バッチを適用したりできます。

# 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"

# Scrub author metadata and internal trackers, but keep the visual redlines for the counterparty
adeu sanitize redline.docx -o clean.docx --keep-markup --author "My Firm" --report

主な機能

フォーマットの安全性

Adeuはドキュメントを「書き換え」ません。パッチを適用します。

  • 画像とレイアウト: 変更されません。

  • 番号付けとヘッダー: 保持されます。

  • 表とリスト: 複雑なグリッドスパンや多階層の法的番号付けは明示的に保護されます。

  • 複雑なXML: 編集対象のテキストランのみを変更します。

CriticMarkup表現

中間表現は重要です。AdeuはCriticMarkupを使用して変更を可視化します。

マークアップ

意味

{--text--}

削除

{--Tenant--}

{++text++}

挿入

{++Lessee++}

{>>text<<}

コメント

{>>Clarify this term<<}

セマンティック付録

契約書には、LLMが初回パスで見落とすような地雷が満載です。一貫性のない定義用語、壊れた相互参照、乱雑なドキュメント内のOCRスタイルの誤字などです。Adeuは抽出時にこれらを事前計算し、テキストと並べて構造化された付録をエージェントに提供します。

インテリジェントなマッピング

Wordドキュメントは乱雑です。「Contract」という単語は、スペルチェックや編集履歴により、["Con", "tract"]のようなXMLランに分割されている場合があります。

  • ランの結合: Adeuはこれらの分割を正規化し、AIが「Contract」として認識できるようにします。

  • あいまい一致: LLMのメモリと実際のドキュメント内容との間のわずかな空白の不一致を処理します。

メタデータのサニタイズ

既存のメタデータスクラバーは、赤入れを壊したり、データを黙って削除したりします。Adeuのsanitizeコマンドは、有効な変更履歴を保持しながら、危険なトラッカー(rsid、テンプレート、内部パス、タイムスタンプ)や孤立したコンテンツを外科的に削除します。重要な点として、何が削除され、受信者に何が見えるようになるかを証明する透明な監査レポートを生成します。


Adeu Cloud

デフォルトでは、Adeuのコアとなる赤入れエンジンとローカルファイルツールは完全にオープンソースであり、すべてローカルマシン上で実行されます。Adeuがローカルドキュメントを外部に送信することはありません(ただし、選択したLLMプロバイダーは、エージェントが読み取ったテキストを当然ながら処理します)。

ただし、MCPサーバーをAdeu Cloudに接続して、以下を解放することを明示的に選択できます。

  • エンドツーエンドのワークフロー (メール): 契約書はメールでやり取りされるため、Adeu Cloudを使用すると、エージェントがメールスレッドを安全に取得し、相手方のDOCX添付ファイルを抽出してレビューし、新しくサニタイズされた赤入れを添付して返信をドラフトできます。

  • 高度なドキュメント検証: 複雑な複数ドキュメントのセマンティック検証タスクを非同期で実行します。これらの膨大なコンテキストを処理のためにAdeu Cloudへ安全にルーティングすることで、ローカルのAIエージェントがコンテキストウィンドウを使い果たしたり、レート制限に達したりするのを防ぎます。

Adeu Cloudの詳細はこちら


貢献

コミュニティからの貢献を歓迎します!バグ修正、機能追加、ドキュメントの改善など、ローカルのuv環境のセットアップ、テストの実行、およびプロジェクトの厳格なXML安全ガイドラインの理解については、貢献ガイドを参照してください。


ライセンス

MITライセンス。オープンソースであり、商用アプリケーションでも無料で使用できます。

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
2dResponse time
1wRelease cycle
9Releases (12mo)
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dealfluence/adeu'

If you have feedback or need assistance with the MCP directory API, please join our Discord server