/ Directory / Playground / Office Word MCP
● Community GongRzhe ⚡ Instant

Office Word MCP

by GongRzhe · GongRzhe/Office-Word-MCP-Server

Read, edit, and create real .docx files from Claude — paragraphs, tables, headings, comments, and track-changes-grade output.

Office Word MCP wraps python-docx to give Claude full read/write access to Word documents. Useful for report generation, contract redlining, batch document creation, and converting structured data into properly-formatted Word output for non-technical recipients. Handles tables, headings, styles, images, and comments.

Why use it

Key features

Live Demo

What it looks like in practice

office-word-mcp.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "office-word-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "office-word-mcp-server",
        "word_mcp_server"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "office-word-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "office-word-mcp-server",
        "word_mcp_server"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "office-word-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "office-word-mcp-server",
        "word_mcp_server"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "office-word-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "office-word-mcp-server",
        "word_mcp_server"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "office-word-mcp",
      "command": "uvx",
      "args": [
        "--from",
        "office-word-mcp-server",
        "word_mcp_server"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "office-word-mcp": {
      "command": {
        "path": "uvx",
        "args": [
          "--from",
          "office-word-mcp-server",
          "word_mcp_server"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add office-word-mcp -- uvx --from office-word-mcp-server word_mcp_server

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use Office Word MCP

Generate weekly status reports as polished Word docs

👤 PMs, analysts, consultants who deliver in .docx ⏱ ~25 min beginner

When to use: Your client expects Word, not Markdown or PDF, and you don't want to copy-paste every week.

Prerequisites
  • Template doc to copy styling from — Save your standard report as ~/templates/status-report.docx
Flow
  1. Open the template
    Use word-mcp. Open ~/templates/status-report.docx and tell me its structure (headings + table count).✓ Copied
    → Outline returned — H1, H2 list, table dimensions
  2. Fill with this week's data
    Save a copy as week-of-2026-04-27.docx. Replace placeholder tables with this week's numbers (paste data). Leave the cover page intact.✓ Copied
    → Copy saved, tables updated, cover untouched
  3. Add a summary paragraph
    Under 'Executive Summary', insert 3 paragraphs covering top wins, blockers, and asks. Match the existing paragraph style.✓ Copied
    → Paragraphs added with correct style

Outcome: A delivery-ready Word report regenerated each week without manual formatting.

Pitfalls
  • Custom template fonts not embedded — python-docx writes references; if the recipient lacks fonts, embed via Word UI or stick to system fonts
Combine with: filesystem

Redline a contract draft with comments

👤 Legal-adjacent roles reviewing third-party drafts ⏱ ~30 min intermediate

When to use: You receive a contract draft and want Claude to flag risky clauses with anchored comments.

Flow
  1. Ingest the doc
    Read contract.docx. List the section headings and any clauses with payment terms or liability caps.✓ Copied
    → Section index plus highlighted clauses
  2. Add comments at risk points
    For each risky clause, add a comment from 'Claude' explaining the concern and a suggested redline.✓ Copied
    → Comments visible when opening in Word

Outcome: Marked-up draft ready to forward to actual counsel.

Pitfalls
  • Anchoring drifts on long paragraphs — Anchor by sentence not paragraph; verify by reopening in Word

Mail-merge style: generate 50 personalized letters from a CSV

👤 Ops/HR/admin sending personalized communications ⏱ ~20 min beginner

When to use: You have a list of recipients and a templated letter; you want one .docx per person.

Prerequisites
  • Recipient list as CSV — Columns: name, email, custom_field
Flow
  1. Map fields
    Open template.docx. Show me every {{placeholder}} and ask which CSV column maps to each.✓ Copied
    → Placeholder list, mapping prompt
  2. Run the merge
    For each row in recipients.csv, render template.docx into ./output/<lastname>.docx. Confirm count at the end.✓ Copied
    → N files written; report match between rows and files

Outcome: Per-recipient .docx files ready to attach to email.

Pitfalls
  • Special characters in names break filenames — Slugify before saving
Combine with: filesystem

Combinations

Pair with other MCPs for X10 leverage

office-word-mcp + office-powerpoint-mcp

Generate a Word report and matching slide deck from one source

Take the same data — produce status.docx for the long form and status.pptx for the readout.✓ Copied
office-word-mcp + filesystem

Read CSV input then write per-row docx outputs

Read recipients.csv via filesystem; render template.docx per row via word-mcp.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
create_document filename, title?, author? Start a new document 0
get_document_text filename Read existing content 0
add_paragraph filename, text, style? Append body text 0
add_heading filename, text, level Section structure 0
add_table filename, rows, cols, data? Tabular content 0
search_and_replace filename, find, replace Bulk text changes / template fill 0
add_comment filename, paragraph_index, text, author Redlining 0

Cost & Limits

What this costs to run

API quota
N/A — local
Tokens per call
100–500 per call
Monetary
Free (MIT)
Tip
Use search_and_replace instead of streaming whole-doc rewrites

Security

Permissions, secrets, blast radius

Minimum scopes: filesystem-read filesystem-write
Credential storage: None
Data egress: None

Troubleshooting

Common errors and fixes

PermissionError on save

File is open in Word — close it before letting Claude write

Style not applied

Style names are case-sensitive in python-docx; check the original template's style names

Comments not appearing

Make sure Word opens with comments pane visible; comments are saved in the .docx XML correctly

Alternatives

Office Word MCP vs others

AlternativeWhen to use it insteadTradeoff
Office PowerPoint MCPYou need slides, not docsDifferent surface, by same author
Excel MCP ServerYou need spreadsheetsExcel is for tabular; Word is for prose

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills