word-mcp-live

word-mcp-live

Enables AI assistants to edit Microsoft Word documents live while they are open, with full support for tracked changes, comments, formatting, and 124 tools.

Category
Visit Server

README

<div align="center">

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 · 124 tools · Cross-platform

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

</div>


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.

<table> <tr> <td width="50%">

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

</td> <td width="50%">

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

</td> </tr> </table>

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.
  • 124 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

<details open> <summary><b>Claude Desktop</b></summary>

Add to your claude_desktop_config.json:

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

</details>

<details> <summary><b>Claude Code</b></summary>

Add to your .mcp.json:

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

</details>

<details> <summary><b>Cursor</b></summary>

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

</details>

<details> <summary><b>VS Code / Copilot</b></summary>

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

</details>

<details> <summary><b>Windsurf</b></summary>

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

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

</details>

<details> <summary><b>Docker</b></summary>

{
  "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.

</details>

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

Two Modes

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

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

macOS Live Editing (New in v1.5.0)

Live tools now work on macOS via JavaScript for Automation (JXA). Same tool names, same parameters — the server detects your platform and uses the right automation backend.

Feature Windows macOS
Text read/write/find/replace COM JXA
Formatting (bold, font, style) COM JXA
Track changes & revisions COM JXA
Comments (add, delete, list) COM JXA
Tables (read, write, add rows) COM JXA
Page layout, headers, bookmarks COM JXA
Equations, cross-references COM JXA
Threaded comment replies COM Not available
Comment resolve/unresolve COM Not available
Undo history inspection COM Not available
Watermarks COM Not available

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

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

Category Count
Cross-platform (python-docx) 80
Windows Live (COM automation) 44
macOS Live (JXA automation) 40 (of the 44 live tools)

Requirements

  • Python 3.11+
  • python-docx, fastmcp, msoffcrypto-tool (installed automatically)
  • Windows Live tools: Windows 10/11 + Microsoft Word + pywin32 (installed automatically)
  • macOS Live tools: macOS + Microsoft Word for Mac (uses built-in JXA — no extra dependencies)

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

<a href="https://star-history.com/#ykarapazar/word-mcp-live&Date"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=ykarapazar/word-mcp-live&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=ykarapazar/word-mcp-live&type=Date" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=ykarapazar/word-mcp-live&type=Date" /> </picture> </a>

<!-- mcp-name: io.github.ykarapazar/word-mcp-live -->

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured