mcpField
D
docx-mcp

docx-mcp

ローカル
github.com/SecurityRoninファイル・ストレージ6512 週間前に更新

docx-mcp について

docx-mcp は、AI コーディングエージェントが Word(.docx)ファイルを読み取り・編集できるようにする MCP サーバーです。編集内容は変更履歴として記録されます。Word で成果物を作成する法務、コンサルティング、セキュリティ試験、コンプライアンス担当者を対象としています。

主な機能

  1. 01変更履歴付きのテキスト挿入・削除・置換
  2. 02コメントの追加と返信
  3. 03テキストおよび正規表現による検索置換
  4. 04修正内容の変更ログ生成
  5. 05文書構造の監査と OOXML 検証
  6. 06脚注の管理と相互参照の確認

活用シーン

  1. 01変更履歴付きで契約書をレビューする
  2. 02Markdown からテンプレートに沿ったレポートを生成する
  3. 03テンプレート内容の一括置換と文書監査

MCP 対応

MCP サーバーとして、.docx 文書の読み取り、編集、検証のための多数のツールを MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"docx": {
"command": "uvx",
"args": [
"docx-mcp-server"
]
}
}
}
起動コマンドuvx docx-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypidocx-mcp-server

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

docx-mcp

PyPI Python License: MIT CI Coverage Sponsor SafeSkill 91/100

docx-mcp MCP server

AI コーディングエージェントが Word 文書を作成、読み取り、編集できるようにします。編集内容は Microsoft Word で変更履歴として表示されます。削除箇所には赤い取り消し線、挿入箇所には緑の下線が付きます。また、修正作業のたびに、エージェントは挿入、削除、置換をすべて記載した、メールで共有できる変更ログを作成できます。2 つの別々のファイルを比較して、同じ形式の結果を自動で取得することもできます。

対象ユーザー

Word 文書を成果物として作成し、AI エージェントに文書作業を直接任せたいプロフェッショナル:

  • 法務 — 変更履歴を使った契約書レビュー、テンプレート全体での条項の一括置換、各変更の説明コメントの追加、脚注の管理
  • セキュリティとペネトレーションテスト — Markdown の調査結果からペンテストレポートを作成、複数の案件の付録を統合、エグゼクティブサマリーのコメントを追加、納品前に DRAFT の透かしを削除
  • コンサルティング — テンプレートから提案書や SOW を作成、会議メモを整った成果物に変換、複数の文書セットで支払い条件を一括更新
  • コンプライアンスと監査 — 文書の整合性を構造面から検証、相互参照の確認、見出しレベルの監査、保護設定の適用

エージェントに依頼できること

契約書をレビューする:

「contract.docx を開き、「Net 30」が使われている箇所をすべて見つけて「Net 60」に変更し、それぞれに修正第 3 号に基づいて更新した旨のコメントを追加してください。contract_revised.docx として保存してください。」

Markdown からレポートを作成する:

「pentest-findings.md をクライアントのレポートテンプレートを使って Word 文書に変換してください。CVE への参照ごとに脚注を追加してください。」

テンプレートライブラリを一括編集する:

「MSA テンプレートを開き、「ACME Corp」をすべて「GlobalTech Inc」に置き換え、ヘッダーの発効日を更新して、文書の保護を変更履歴のみの設定にしてください。」

送信前に文書を監査する:

「最終成果物を開き、構造監査を実行し、DRAFT または TODO のマーカーがないか確認してください。脚注の相互参照をすべて検証し、透かしがあれば削除してください。」

エージェントは、ファイルを開き、構造をたどり、完全な修正履歴を残して正確に編集し、整合性を検証して保存するまでのワークフロー全体を処理します。その間、あなたは内容に集中できます。

インストール

Claude Code(推奨):

claude mcp add docx-mcp -- uvx docx-mcp-server

これで完了です。付属のスキルは、サーバーの初回起動時に自動でインストールされ、文書編集のワークフロー、OOXML の注意点、監査チェックリストを Claude に教えます。アップグレードのたびに自動更新されます。

その他のプラットフォームとインストール方法

Claude Desktop:

MCP の設定に追加します:

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

Cursor / Windsurf / VS Code:

MCP 設定ファイルに追加します:

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

OpenClaw:

mcpServers:
  docx-mcp:
    command: uvx
    args:
      - docx-mcp-server

pip を使用する場合:

pip install docx-mcp-server
## 機能
機能エージェントができること
ドキュメントの作成空白のドキュメント、.dotx テンプレート、または Markdown から作成できます。見出し、表、リスト、画像、脚注、コードブロック、スマートタイポグラフィに対応しています。
変更履歴の記録テキストの挿入、削除、置換を変更履歴として記録できます。挿入箇所には下線、削除箇所には赤い取り消し線が付きます。編集ツールに tracked=False を渡すと、変更履歴のマークアップなしで直接変更を書き込めます。作成者ごとに変更を承認または却下できます。
変更ログ変更履歴を記録しながら編集した後、generate_change_summary を呼び出すと、すべての挿入、削除、置換を一覧にした番号付きの .txt ファイルが生成されます。または、diff_to_text を使って別々の2つのファイルを比較すると、同じ出力を自動で取得できます。自分で編集していないドキュメントのバージョンを比較する場合にも便利です。
コメント特定の段落に紐づけてコメントを追加し、コメントのスレッドに返信できます。
検索と置換本文、脚注、コメントを対象に、テキストまたは正規表現で検索し、対象を絞って編集できます。
表表の作成、セルの変更、行の追加や削除ができます。これらすべてで変更履歴を記録できます。
脚注と文末脚注相互参照の追加、一覧表示、検証ができます。
書式設定太字、斜体、下線、色を設定できます。書式の変更も変更履歴として記録されるため、変更箇所を確認できます。
ヘッダーとフッター変更履歴を記録しながら、ヘッダーとフッターの内容を読み取り、編集できます。
画像埋め込み画像の一覧表示や、指定した寸法での新しい画像の挿入ができます。
セクションとレイアウト改ページ、セクション区切り、ページサイズ、向き、余白を設定できます。
相互参照ブックマークを使って、段落間に内部ハイパーリンクを設定できます。
ドキュメントの結合複数の DOCX ファイルの内容を結合できます。
保護パスワードを設定し、変更履歴の記録のみ、読み取り専用、またはコメントのみ可能な状態にドキュメントをロックできます。
構造監査提出前に、脚注、見出し、ブックマーク、画像、内部整合性を検証できます。
透かしの削除ヘッダー内の DRAFT 透かしを検出して削除できます。
PII の削除 (実験的機能)Presidio + spaCy NER を使って、名前、メールアドレス、電話番号、SSN などを検出します。XML 上で実際に墨消しを行い、元のテキストを完全に削除して、黒い長方形で置き換えます。本番環境では使用しないでください。詳しくは制限事項をご覧ください。

例:変更履歴付きの契約書レビュー

1. open_document("services-agreement.docx")
2. get_headings()                              → see document structure
3. search_text("30 days")                      → find the payment clause
4. delete_text(para_id, "30 days")             → tracked deletion  (red strikethrough)
5. insert_text(para_id, "60 days")             → tracked insertion (green underline)
6. add_comment(para_id, "Extended per client request — see Amendment 3")
7. audit_document()                            → verify structural integrity
8. save_document("services-agreement_redlined.docx")

出力を Word で開くと、人間のレビュアーが作成した場合とまったく同じように、変更履歴のマーク、余白のコメント、整ったドキュメント構造を確認できます。

例:改訂作業後の変更ログ

1. open_document("contract.docx")
2. replace_text(para_id, "30 days", "60 days")           → tracked revision (del + ins)
3. add_comment(para_id, "Extended per Amendment 3")
4. save_document("contract_redlined.docx")
5. generate_change_summary("contract_changes.txt")

出力される .txt ファイルは、次のような内容です。

1. REPLACEMENT by Claude on 2026-05-25
   Deleted:  "30 days"
   Inserted: "60 days"

メール、PR の説明、引き継ぎメモなどに貼り付けられます。

例:別々のドキュメントバージョンを比較する

編集セッションは必要ありません。任意の2つのファイルを指定します。

1. diff_to_text("proposal_v1.docx", "proposal_v2.docx")

次の2つのファイルが返されます。

  • proposal_v1_diff.docx — Word で開くと、変更履歴が文書内に表示されます
  • proposal_v1_diff.txt — そのままどこにでも貼り付けられるプレーンテキストの要約です

例:Markdown からペネトレーションテストレポートを作成

1. create_from_markdown("pentest-report.docx",
       md_path="findings.md",
       template_path="client-template.dotx")
2. audit_document()                            → verify integrity
3. save_document()                             → ready for delivery

Markdown に記載した調査結果(見出し、影響を受けたホストの表、概念実証の出力を含むコードブロック、深刻度の評価)が、クライアントのテンプレートに沿った書式の Word ドキュメントになります。スマートタイポグラフィ(カーリークォート、エムダッシュ、適切な三点リーダー)も自動で適用されます。

PII のスクラブ(実験的機能)

この機能は実験的なものであり、本番環境での使用や、特権情報、規制対象の文書、または法的に機微な文書に対する唯一の管理手段としての使用には適していません。

scrub_pii は、spaCy NER モデル(en_core_web_lg、約 560 MB、初回呼び出し時にダウンロード)と Microsoft Presidio を使用して個人情報を検出し、完全に墨消しします。墨消しされた箇所は黒塗りの DrawingML 長方形に置き換えられます。元のテキストは XML から削除され、単に非表示にされるわけではありません。

安定して検出できるもの(正規表現/パターンマッチングによる高い信頼度での検出):

  • メールアドレス、電話番号、クレジットカード番号、SSN、IBAN、IP アドレス、米国のパスポート番号

統計的に検出するもの(NER による検出のため、見逃しがあります):

  • 人名、組織名、場所、日付

既知の NER の検出漏れ — 次のものは見逃されます:

  • すべて大文字で書かれた名前(台帳、表の見出し、法的当事者の表記でよく使われます)
  • 前後に文脈のない 1 語だけの名前
  • 英語以外の名前(この英語モデルでは、アラビア語、CJK、アフリカ系の名前のパターンは再現率が低くなります)
  • 法的な定型文に埋め込まれた名前(Lender: Jane Doe、Authorized Signatory: John Smith)

推奨されるワークフロー:

1. open_document("sensitive.docx")
2. scrub_pii(dry_run=True)             → review detected entities — check for misses
3. scrub_pii("sensitive_redacted.docx") → produce redacted copy
4. open the output in Word and verify manually before sharing

出力は完成した墨消しではなく、人によるレビューが必要な初回処理結果として常に扱ってください。

仕組み

.docx ファイルは、XML ファイルをまとめた ZIP アーカイブです。このサーバーはアーカイブを展開し、XML を直接編集してから再度パッケージ化します。そのため、より高レベルのドキュメントライブラリでは実現できない、実際の変更履歴、コメント、脚注を作成できます。

保存前にすべての編集を OOXML 仕様に照らして検証することで、孤立した脚注、重複した内部 ID、壊れた相互参照など、Word がドキュメントを「修復」する際に暗黙に書き換える原因となる問題を検出します。

ツール一覧(200 以上のツール)
ドキュメントのライフサイクル
ツール説明
open_document.docx ファイルを開いて読み取りや編集を行います
create_document新しい空の .docx を作成します(または .dotx テンプレートから作成します)
create_from_markdownGitHub Flavored Markdown から .docx を作成します
close_document現在のドキュメントを閉じ、クリーンアップします
get_document_info概要統計(段落、見出し、脚注、コメント)を取得します
save_document変更を .docx に保存します(上書き、または新しいパスへの保存が可能です)
読み取り
ツール説明
get_headingsレベルとテキストを含む見出し構造を取得します
search_text本文、脚注、コメントを対象に検索します(テキストまたは正規表現)
get_paragraph段落の全文とスタイルを取得します
変更履歴
ツール説明
insert_text変更履歴としてテキストを挿入します(Word では下線付き)。または tracked=False を指定して直接挿入します
delete_textテキストを削除としてマークします(Word では赤い取り消し線付き)。または tracked=False を指定して直接削除します
replace_text変更履歴の削除と挿入のペアとしてテキストを置換します。または tracked=False を指定して直接置換します
modify_cell表のセルを変更します(デフォルトでは変更履歴が記録され、直接書き込む場合は tracked=False を指定します)
edit_header_footerヘッダー/フッターのテキストを編集します(デフォルトでは変更履歴が記録され、直接書き込む場合は tracked=False を指定します)
set_formatting変更履歴マークアップを付けて太字/斜体/下線/色を適用します
set_track_changesWord の組み込みの変更履歴記録フラグを有効または無効にします
get_tracked_changes保留中の変更履歴をすべて一覧表示します(作成者、日付、種類、テキスト)
accept_changes変更履歴を承認します。必要に応じて作成者で絞り込めます
reject_changes変更履歴を却下します。必要に応じて作成者で絞り込めます
変更履歴
ツール説明
generate_change_summary開いているドキュメント内の追跡された変更をすべて、番号付きの .txt ファイルとしてエクスポートします。挿入、削除、および隣接する削除と挿入のペアは置換としてまとめられます
compare_documents2 つの DOCX ファイルを比較し、変更履歴付きの DOCX(Word で開ける形式)を作成します
diff_to_text2 つの DOCX ファイルを比較し、変更履歴付きの DOCX とプレーンテキストの要約 .txt の両方を作成します
表
ツール説明
get_tablesすべての表について、行数、列数、セルの内容を取得します
add_table段落の後に新しい表を挿入します
modify_cell変更履歴を記録しながら表のセルを変更します
add_table_row表に行を追加します
delete_table_row変更履歴を記録しながら表の行を削除します
リスト
ツール説明
add_list段落に箇条書きまたは番号付きリストの書式を適用します
コメント
ツール説明
get_commentsID、作成者、日付、テキストを含むすべてのコメントを一覧表示します
add_comment段落にコメントを追加します
reply_to_comment既存のコメントに返信します(スレッド形式)
脚注と文末脚注
ツール説明
get_footnotesID とテキストを含むすべての脚注を一覧表示します
add_footnote上付きの参照番号付きで脚注を追加します
validate_footnotes脚注の相互参照を検証します
get_endnotesID とテキストを含むすべての文末脚注を一覧表示します
add_endnote上付きの参照番号付きで文末脚注を追加します
validate_endnotes文末脚注の相互参照を検証します
ヘッダー、フッター、スタイル
ツール説明
get_headers_footersテキスト内容を含むすべてのヘッダーとフッターを取得します
edit_header_footer変更履歴を記録しながらヘッダー/フッターのテキストを編集します
get_styles定義されているすべてのスタイルを取得します
プロパティと画像
ツール説明
get_propertiesドキュメントの基本プロパティ(タイトル、作成者、日付)を取得します
set_propertiesドキュメントの基本プロパティを設定します
get_images寸法情報を含む、埋め込み画像をすべて取得します
insert_image段落の後に画像を挿入します
セクションと相互参照
ツール説明
add_page_break段落の後に改ページを挿入します
add_section_breakセクション区切り(nextPage、continuous、evenPage、oddPage)を追加します
set_section_propertiesページサイズ、向き、余白を設定します
add_cross_reference段落間の相互参照リンクを追加します
保護と結合
ツール説明
set_document_protectionオプションでパスワードを設定し、ドキュメントを保護します
merge_documents別の DOCX からコンテンツを結合します
検証と監査
ツール説明
validate_paraidsドキュメントのすべてのパーツで内部 ID が一意であることを確認します
remove_watermarkドキュメントのヘッダーから VML 透かしを削除します
audit_documentドキュメントの構造を包括的に監査します

要件

  • Python 3.10+
  • macOS、Linux、Windows で動作します

プライバシーポリシー · 利用規約 · © 2026 Security Ronin Ltd

README の画像

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。