Skip to main content

MCP server for Microsoft Word — live editing on Windows (COM) and macOS (JXA), plus cross-platform python-docx tools

Project description

Install in Cursor

word-mcp-live

The only MCP server that edits Word documents while they're open

Live editing · Tracked changes · Per-action undo · 115 tools · Cross-platform

PyPI Python 3.11+ License: MIT Platform: Windows + macOS/Linux


word-mcp-live gives any AI assistant that supports MCP full control of Microsoft Word. Open a document, tell the AI what you need, and watch it happen — formatting, tracked changes, comments, and all. Changes appear live in your open document.

Without word-mcp-live

  • AI can discuss your document but can't touch it
  • You copy-paste between AI and Word, losing formatting
  • Track changes? You do those manually after the fact
  • Every edit means save → close → process → reopen

With word-mcp-live

  • "Add a tracked change replacing ABC Corp with XYZ Ltd" — done
  • Changes appear live in your open Word document
  • Every AI edit is one Ctrl+Z away
  • Real tracked changes with your name, not XML hacks

See it in action

https://github.com/user-attachments/assets/fbb09af4-1e25-4e49-94d0-45b363278810

What Sets This Apart

  • Live editing — Edit documents while they're open in Word. No save-close-reopen cycle.
  • Full undo — Every AI action is a single Ctrl+Z. Made a mistake? Just undo it.
  • Native tracked changes — Real Word revisions with your name, not XML hacks.
  • Threaded comments — Add, reply, resolve, and delete comments like a human reviewer.
  • Layout diagnostics — Detects formatting problems before they become print disasters.
  • Equations & cross-references — Insert math formulas and auto-updating references.
  • 115 tools — The most comprehensive Word MCP server available.

Quick Start

pip install word-mcp-live

Or install from source:

git clone https://github.com/ykarapazar/word-mcp-live.git
cd word-mcp-live
pip install -e .

Client Installation

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "word": {
      "command": "uvx",
      "args": ["word-mcp-live"],
      "env": {
        "MCP_AUTHOR": "Your Name",
        "MCP_AUTHOR_INITIALS": "YN"
      }
    }
  }
}
Claude Code

Add to your .mcp.json:

{
  "mcpServers": {
    "word": {
      "command": "uvx",
      "args": ["word-mcp-live"],
      "env": {
        "MCP_AUTHOR": "Your Name",
        "MCP_AUTHOR_INITIALS": "YN"
      }
    }
  }
}
Cursor

One-click: Click the install button at the top of this page.

Manual: Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "word": {
      "command": "uvx",
      "args": ["word-mcp-live"],
      "env": {
        "MCP_AUTHOR": "Your Name",
        "MCP_AUTHOR_INITIALS": "YN"
      }
    }
  }
}
VS Code / Copilot

One-click: Install in VS Code

Manual: Add to your VS Code settings.json:

{
  "mcp": {
    "servers": {
      "word": {
        "command": "uvx",
        "args": ["word-mcp-live"],
        "env": {
          "MCP_AUTHOR": "Your Name",
          "MCP_AUTHOR_INITIALS": "YN"
        }
      }
    }
  }
}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "word": {
      "command": "uvx",
      "args": ["word-mcp-live"],
      "env": {
        "MCP_AUTHOR": "Your Name",
        "MCP_AUTHOR_INITIALS": "YN"
      }
    }
  }
}
Docker
{
  "mcpServers": {
    "word": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/ykarapazar/word-mcp-live"],
      "env": {
        "MCP_AUTHOR": "Your Name",
        "MCP_AUTHOR_INITIALS": "YN"
      }
    }
  }
}

Note: Docker mode supports cross-platform tools only. Live editing requires a native Windows install.

MCP_AUTHOR sets your name on tracked changes and comments (default: "Author"). MCP_AUTHOR_INITIALS sets comment initials.

Two Modes

Works everywhere Windows with Word open
What it does Create and edit saved .docx files Edit documents live while you work in Word
Platform Windows, macOS, Linux Windows only
Undo File-level saves Per-action Ctrl+Z
Best for Batch processing, document generation Interactive editing, formatting, review

Both modes work together. The AI picks the right one for the task.

Configuration

Variable Default Description
MCP_AUTHOR "Author" Author name for tracked changes and comments
MCP_AUTHOR_INITIALS "" Author initials for comments
MCP_TRANSPORT stdio Transport type: stdio, sse, or streamable-http
MCP_HOST 0.0.0.0 Host to bind (for SSE/HTTP transports)
MCP_PORT 8000 Port to bind (for SSE/HTTP transports)

For remote deployment, see RENDER_DEPLOYMENT.md.

Example Prompts

Just tell the AI what you want in plain language:

"Draft a contract with tracked changes so my colleague can review"
"Format all headings as Cambria 13pt bold and add automatic numbering"
"Add a comment on paragraph 3 asking about the deadline"
"Find every mention of 'ABC Corp' and replace with 'XYZ Ltd' as a tracked change"
"Set the page to A4 landscape with 2cm margins"
"Insert a table of contents based on the document headings"
"Add page numbers in the footer and our company name in the header"
"Insert a cross-reference to Heading 2 in paragraph 5"

Usage Examples

Example 1: Read a document (cross-platform)

Tool call: get_document_text

{ "filename": "C:/Documents/report.docx" }

Expected output:

{
  "status": "success",
  "paragraphs": [
    {"index": 0, "text": "Quarterly Report", "style": "Heading 1"},
    {"index": 1, "text": "Revenue increased by 15% compared to Q3.", "style": "Normal"},
    {"index": 2, "text": "Key Metrics", "style": "Heading 2"}
  ],
  "total_paragraphs": 3
}

Example 2: Live editing with tracked changes (Windows)

Tool call: word_live_replace_text

{
  "filename": "report.docx",
  "find_text": "ABC Corporation",
  "replace_text": "XYZ Ltd",
  "match_case": true,
  "replace_all": true,
  "track_changes": true
}

Expected output:

{
  "status": "success",
  "replacements": 4,
  "message": "Replaced 4 occurrences (tracked changes enabled)"
}

The replacements appear as tracked changes in Word with strikethrough on "ABC Corporation" and underline on "XYZ Ltd".

Example 3: Add a comment anchored to text (cross-platform)

Tool call: add_comment

{
  "filename": "C:/Documents/contract.docx",
  "target_text": "payment within 30 days",
  "comment_text": "Should we extend this to 45 days?",
  "author": "Jane Smith"
}

Expected output:

{
  "status": "success",
  "message": "Comment added by Jane Smith on 'payment within 30 days'"
}

The comment appears in Word's Review panel, anchored to the specified text.

Tool Reference

115 tools across two modes — see the complete tool reference for details.

Category Count
Cross-platform (python-docx) 76
Windows Live (COM automation) 39

Requirements

  • Python 3.11+
  • python-docx, fastmcp, msoffcrypto-tool (installed automatically)
  • Windows Live tools only: Windows 10/11 + Microsoft Word + pywin32

The cross-platform tools work without Word installed — only python-docx is needed.

Contributing

See CONTRIBUTING.md for development setup, code style, and how to add new tools.

Found a bug? Open an issue. Have an idea? Request a feature.

Acknowledgments

Built on top of GongRzhe/Office-Word-MCP-Server by GongRzhe (MIT License).

Additional libraries: python-docx · FastMCP · pywin32

Privacy

This server runs entirely on your local machine. No data is collected, transmitted, or stored. See the full Privacy Policy.

Support

License

MIT License — see LICENSE for details.

Star History

Star History Chart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

word_mcp_live-1.5.0.tar.gz (169.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

word_mcp_live-1.5.0-py3-none-any.whl (148.1 kB view details)

Uploaded Python 3

File details

Details for the file word_mcp_live-1.5.0.tar.gz.

File metadata

  • Download URL: word_mcp_live-1.5.0.tar.gz
  • Upload date:
  • Size: 169.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for word_mcp_live-1.5.0.tar.gz
Algorithm Hash digest
SHA256 b2487dcca3e2b35491ea30f58c70fc5c605f09e4dc50875ef285be3dc1b744f7
MD5 462d9650799572a9c1219fe0f817f084
BLAKE2b-256 00cb8d35efd9e6c85d9af6b200a8d82b63bfc1b57ef3cb2c859f59fab673c0b3

See more details on using hashes here.

File details

Details for the file word_mcp_live-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: word_mcp_live-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 148.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for word_mcp_live-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81e89afe88ca75853cb0e6ef647572ec41b50468e499fe7569d2c2654542aa9f
MD5 3704712f6ad0e77869531fd6a11c3b06
BLAKE2b-256 2c4b78eaae54fdc654417d7d5278f7b2a829a9294d7019a67269ff4af2ecbd20

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page