Word MCP Live
PYPI · WORD-MCP-LIVE · SCANNED SEP 20
Live Microsoft Word editing via MCP — tracked changes, undo, comments, 40+ tools
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security99
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 5 of 36 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (MIT License) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 113 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability71
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 10091 tokens (~96/item across 105 items; 105 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage68
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 5% of tool parameters carry a description.Partial
Tool Safety90
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 6 of 10 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "merge_table_cells" implies "merge" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
- An AI judge read all 105 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the Word MCP Live server?
Word MCP Live runs locally as a PyPI package, launched with uvx word-mcp-live. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · word-mcp-live
claude mcp add ykarapazar-word-mcp-live -- uvx word-mcp-live
{
"mcpServers": {
"ykarapazar-word-mcp-live": {
"command": "uvx",
"args": [
"word-mcp-live"
]
}
}
} {
"servers": {
"ykarapazar-word-mcp-live": {
"command": "uvx",
"args": [
"word-mcp-live"
]
}
}
} codex mcp add ykarapazar-word-mcp-live -- uvx word-mcp-live
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ykarapazar-word-mcp-live": {
"type": "local",
"command": [
"uvx",
"word-mcp-live"
],
"enabled": true
}
}
} openclaw mcp add ykarapazar-word-mcp-live --command uvx --arg word-mcp-live
mcp_servers:
ykarapazar-word-mcp-live:
command: "uvx"
args: ["word-mcp-live"] {
"McpServers": {
"ykarapazar-word-mcp-live": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"word-mcp-live"
]
}
}
} assistant mcp add ykarapazar-word-mcp-live -t stdio -c uvx -a word-mcp-live
{
"mcpServers": {
"ykarapazar-word-mcp-live": {
"command": "uvx",
"args": [
"word-mcp-live"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- Stability: 0.97 → pass security
- 16 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- 14 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 12 Sept 26 −3
- Stability: pass → 0.80 functional
- 11 Sept 26 +1
- Stability: 0.97 → pass security
- 9 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 7 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/word-mcp-live@1.2.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 36 packages
| Packages resolved | 36 |
|---|---|
| Stale | 4 |
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
manage_hyperlinks Manage Hyperlinks ~108
Add or manage hyperlinks in a Word document. Finds the specified text and converts it to a clickable hyperlink with blue underline.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Action to perform ("add" to add a hyperlink) |
| filename | string | yes | Path to Word document |
| paragraph_index | integer | – | If specified, only search in this paragraph (0-based) |
| text | string | – | Text to convert to a hyperlink |
| url | string | – | URL the hyperlink should point to |
No output schema declared.
No examples provided.
merge_documents Merge Documents ~45
Merge multiple Word documents into a single target document.
| Name | Type | Req | Description |
|---|---|---|---|
| add_page_breaks | boolean | – | – |
| source_filenames | array | yes | – |
| target_filename | string | yes | – |
No output schema declared.
No examples provided.
merge_table_cells Merge Table Cells ~66
Merge cells in a rectangular area of a table.
| Name | Type | Req | Description |
|---|---|---|---|
| end_col | integer | yes | – |
| end_row | integer | yes | – |
| filename | string | yes | – |
| start_col | integer | yes | – |
| start_row | integer | yes | – |
| table_index | integer | yes | – |
No output schema declared.
No examples provided.
merge_table_cells_horizontal Merge Cells Horizontally ~57
Merge cells horizontally in a single row.
| Name | Type | Req | Description |
|---|---|---|---|
| end_col | integer | yes | – |
| filename | string | yes | – |
| row_index | integer | yes | – |
| start_col | integer | yes | – |
| table_index | integer | yes | – |
No output schema declared.
No examples provided.
merge_table_cells_vertical Merge Cells Vertically ~57
Merge cells vertically in a single column.
| Name | Type | Req | Description |
|---|---|---|---|
| col_index | integer | yes | – |
| end_row | integer | yes | – |
| filename | string | yes | – |
| start_row | integer | yes | – |
| table_index | integer | yes | – |
No output schema declared.
No examples provided.
protect_document Protect Document ~30
Add password protection to a Word document.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
| password | string | yes | – |
No output schema declared.
No examples provided.
reject_tracked_changes Reject Tracked Changes ~54
Reject tracked changes: remove insertions and restore deleted text. Optionally filter by author or specific change IDs.
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | – | – |
| change_ids | array | – | – |
| filename | string | yes | – |
No output schema declared.
No examples provided.
replace_block_between_manual_anchors Replace Block Between Anchors ~85
Replace all content between start_anchor_text and end_anchor_text (or next logical header if not provided).
| Name | Type | Req | Description |
|---|---|---|---|
| end_anchor_text | string | – | – |
| filename | string | yes | – |
| match_fn | string | – | – |
| new_paragraph_style | string | – | – |
| new_paragraphs | array | yes | – |
| start_anchor_text | string | yes | – |
No output schema declared.
No examples provided.
replace_paragraph_block_below_header Replace Block Below Header ~67
Reemplaza el bloque de párrafos debajo de un encabezado, evitando modificar TOC.
| Name | Type | Req | Description |
|---|---|---|---|
| detect_block_end_fn | string | – | – |
| filename | string | yes | – |
| header_text | string | yes | – |
| new_paragraphs | array | yes | – |
No output schema declared.
No examples provided.
search_and_replace Search and Replace ~40
Search for text and replace all occurrences.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
| find_text | string | yes | – |
| replace_text | string | yes | – |
No output schema declared.
No examples provided.
set_page_layout Set Page Layout ~100
Set page layout (orientation, size, margins) for a document section.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
| margin_bottom_inches | number | – | – |
| margin_left_inches | number | – | – |
| margin_right_inches | number | – | – |
| margin_top_inches | number | – | – |
| orientation | string | – | – |
| page_height_inches | number | – | – |
| page_width_inches | number | – | – |
| section_index | integer | – | – |
No output schema declared.
No examples provided.
set_paragraph_spacing Set Paragraph Spacing ~118
Set paragraph spacing (before/after/line) for one or a range of paragraphs. line_spacing_rule: single, 1.5_lines, double, exactly, at_least, multiple.
| Name | Type | Req | Description |
|---|---|---|---|
| end_paragraph | integer | – | – |
| filename | string | yes | – |
| line_spacing | number | – | – |
| line_spacing_rule | string | – | – |
| paragraph_index | integer | – | – |
| space_after_pt | number | – | – |
| space_before_pt | number | – | – |
| start_paragraph | integer | – | – |
No output schema declared.
No examples provided.
set_table_alignment_all Set Table Alignment ~49
Set text alignment for all cells in a table.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
| horizontal | string | – | – |
| table_index | integer | yes | – |
| vertical | string | – | – |
No output schema declared.
No examples provided.
set_table_cell_alignment Set Cell Alignment ~64
Set text alignment for a specific table cell.
| Name | Type | Req | Description |
|---|---|---|---|
| col_index | integer | yes | – |
| filename | string | yes | – |
| horizontal | string | – | – |
| row_index | integer | yes | – |
| table_index | integer | yes | – |
| vertical | string | – | – |
No output schema declared.
No examples provided.
set_table_cell_padding Set Cell Padding ~87
Set padding/margins for a specific table cell.
| Name | Type | Req | Description |
|---|---|---|---|
| bottom | number | – | – |
| col_index | integer | yes | – |
| filename | string | yes | – |
| left | number | – | – |
| right | number | – | – |
| row_index | integer | yes | – |
| table_index | integer | yes | – |
| top | number | – | – |
| unit | string | – | – |
No output schema declared.
No examples provided.
set_table_cell_shading Set Table Cell Shading ~67
Apply shading/filling to a specific table cell.
| Name | Type | Req | Description |
|---|---|---|---|
| col_index | integer | yes | – |
| filename | string | yes | – |
| fill_color | string | yes | – |
| pattern | string | – | – |
| row_index | integer | yes | – |
| table_index | integer | yes | – |
No output schema declared.
No examples provided.
set_table_column_width Set Column Width ~57
Set the width of a specific table column.
| Name | Type | Req | Description |
|---|---|---|---|
| col_index | integer | yes | – |
| filename | string | yes | – |
| table_index | integer | yes | – |
| width | number | yes | – |
| width_type | string | – | – |
No output schema declared.
No examples provided.
set_table_column_widths Set Column Widths ~49
Set the widths of multiple table columns.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
| table_index | integer | yes | – |
| width_type | string | – | – |
| widths | array | yes | – |
No output schema declared.
No examples provided.
set_table_width Set Table Width ~47
Set the overall width of a table.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
| table_index | integer | yes | – |
| width | number | yes | – |
| width_type | string | – | – |
No output schema declared.
No examples provided.
track_delete Track Delete ~87
Mark text content as deleted (tracked deletion). This changes TEXT CONTENT only — it does not change formatting. Args: filename: Path to Word document. text: Text to mark as deleted. author: Author name for the tracked change. Returns: JSON string with result
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | – | – |
| filename | string | yes | – |
| text | string | yes | – |
No output schema declared.
No examples provided.
track_insert Track Insert ~117
Insert text content after a specific string, marked as a tracked insertion. This changes TEXT CONTENT only — it does not change formatting. Args: filename: Path to Word document. after_text: Text to search for; new text is inserted right after this. insert_text: Text to insert. author: Author name for the tracked change. Returns: JSON string with result
| Name | Type | Req | Description |
|---|---|---|---|
| after_text | string | yes | – |
| author | string | – | – |
| filename | string | yes | – |
| insert_text | string | yes | – |
No output schema declared.
No examples provided.
track_replace Track Replace ~138
Replace text content with tracked changes (marks old as deleted, new as inserted). This changes TEXT CONTENT only — it does not change formatting (font, highlight, style). To change formatting, use word_live_format_text instead. Args: filename: Path to Word document. old_text: Text to find and mark as deleted. new_text: Replacement text to insert (must differ from old_text). author: Author name for the tracked change. Returns: JSON string with result
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | – | – |
| filename | string | yes | – |
| new_text | string | yes | – |
| old_text | string | yes | – |
No output schema declared.
No examples provided.
unprotect_document Unprotect Document ~31
Remove password protection from a Word document.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
| password | string | yes | – |
No output schema declared.
No examples provided.
validate_document_footnotes Validate Footnotes ~45
Validate all footnotes in document for coherence and compliance. Returns detailed report on ID conflicts, orphaned content, missing styles, etc.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
No output schema declared.
No examples provided.
verify_document Verify Document ~30
Verify document protection and/or digital signature.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
| password | string | – | – |
No output schema declared.
No examples provided.
word_live_accept_revisions Word Live Accept Revisions ~60
[Windows only] Accept tracked changes in a Word document open in Word. Filter by author or specific revision IDs. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | – | – |
| filename | string | – | – |
| revision_ids | array | – | – |
No output schema declared.
No examples provided.
word_live_add_bookmark Word Live Add Bookmark ~64
[Windows only] Add a named bookmark at a paragraph in a Word document open in Word. Paragraph is 1-indexed. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| bookmark_name | string | – | – |
| filename | string | – | – |
| paragraph_index | integer | – | – |
No output schema declared.
No examples provided.
word_live_add_comment Word Live Add Comment ~85
[Windows only] Add a comment to a Word document open in Word. Specify start/end character positions or paragraph_index (1-indexed). Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | – | – |
| end | integer | – | – |
| filename | string | – | – |
| paragraph_index | integer | – | – |
| start | integer | – | – |
| text | string | – | – |
No output schema declared.
No examples provided.
word_live_add_header_footer Word Live Add Header/Footer ~82
[Windows only] Add header and/or footer to a section in a Word document open in Word. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | – | – |
| footer_alignment | string | – | – |
| footer_text | string | – | – |
| header_alignment | string | – | – |
| header_text | string | – | – |
| section_index | integer | – | – |
No output schema declared.
No examples provided.
word_live_add_page_numbers Word Live Add Page Numbers ~85
[Windows only] Add page numbers to header or footer in a Word document open in Word. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| alignment | string | – | – |
| filename | string | – | – |
| include_total | boolean | – | – |
| position | string | – | – |
| prefix | string | – | – |
| section_index | integer | – | – |
| suffix | string | – | – |
No output schema declared.
No examples provided.
word_live_add_section_break Word Live Add Section Break ~58
[Windows only] Add a section break (new_page, continuous, even_page, odd_page) to a Word document open in Word. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| break_type | string | – | – |
| filename | string | – | – |
No output schema declared.
No examples provided.
word_live_add_table Word Live Add Table ~129
[Windows only] Add a table to a Word document open in Word. Optionally provide data as 2D list. Default style is 'Table Grid' with autofit to window width. Set style=None for no style, autofit=None for legacy fixed behavior. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| autofit | string | – | – |
| cols | integer | – | – |
| data | array | – | – |
| filename | string | – | – |
| position | string | – | – |
| rows | integer | – | – |
| style | string | – | – |
| track_changes | boolean | – | – |
No output schema declared.
No examples provided.
word_live_add_watermark Word Live Add Watermark ~77
[Windows only] Add a diagonal text watermark to a Word document open in Word. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | – | – |
| font_color | string | – | – |
| font_size | integer | – | – |
| rotation | integer | – | – |
| section_index | integer | – | – |
| text | string | – | – |
No output schema declared.
No examples provided.
word_live_apply_list Word Live Apply List ~377
[Windows only] Apply or remove bullet/numbered/multilevel list formatting on paragraphs. Args: filename: Document name or path (None = active document). start_paragraph: First paragraph to format (1-indexed, required). end_paragraph: Last paragraph to format (1-indexed, defaults to start_paragraph). list_type: "bullet", "number", or "multilevel" (outline numbered). level: Indentation level (0 = first level, 1 = second level, etc.). For multilevel, this sets the list level per paragraph. remove: If True, removes list formatting from the range. continue_previous: If True, continues numbering from a previous list above. number_format: (multilevel only) Dict mapping level (int) to format string. Example: {1: "%1.", 2: "%1.%2."} → "5.", "5.1." Keys are 1-indexed levels. If not provided, defaults to {1: "%1.", 2: "%1.%2."}. start_at: (multilevel only) Dict mapping level (int) to starting number. Example: {1: 5} → numbering starts at 5. If not provided, starts at 1. track_changes: Track changes as revisions. Returns: JSON with result info.
| Name | Type | Req | Description |
|---|---|---|---|
| continue_previous | boolean | – | – |
| end_paragraph | integer | – | – |
| filename | string | – | – |
| level | integer | – | – |
| list_type | string | – | – |
| number_format | object | – | – |
| remove | boolean | – | – |
| start_at | object | – | – |
| start_paragraph | integer | – | – |
| track_changes | boolean | – | – |
No output schema declared.
No examples provided.
word_live_delete_text Word Live Delete Text ~63
[Windows only] Delete text from a Word document open in Word. Specify start/end character positions. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| end | integer | – | – |
| filename | string | – | – |
| start | integer | – | – |
| track_changes | boolean | – | – |
No output schema declared.
No examples provided.
word_live_diagnose_layout Word Live Diagnose Layout ~202
[Windows only] Scan an open Word document for common layout problems. Performs a single-pass scan of all paragraphs and reports issues that cause unexpected layout behavior (empty pages, content pushed to wrong page, etc.). Checks performed: 1. keep_with_next chains: 5+ consecutive paragraphs with keep_with_next=true push content to the next page as a block (severity: high). 2. Heading styles on body text: Heading style on paragraphs >100 chars (medium). 3. PageBreakBefore on non-headings: may cause unexpected blank space (medium). 4. Manual page break count: ^m characters found via Find (info). 5. Style summary: count of paragraphs per style, flags if >50% use Heading styles. Args: filename: Document name or path (None = active document). Returns: JSON with issues array, style_summary dict, and issue_count.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | – | – |
No output schema declared.
No examples provided.
word_live_find_text Word Live Find Text ~136
[Windows only] Find text in a Word document open in Word. Returns positions and context. With use_wildcards=True, supports ^m (page break), ^t (tab), ^p (paragraph mark) and Word wildcards. context_chars controls how many characters of surrounding context to return (default 60). Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| context_chars | integer | – | – |
| filename | string | – | – |
| match_case | boolean | – | – |
| max_results | integer | – | – |
| search_text | string | – | – |
| use_wildcards | boolean | – | – |
| whole_word | boolean | – | – |
No output schema declared.
No examples provided.
word_live_format_table Word Live Format Table ~449
Format a table in an open Word document via COM. Supports border removal, cell formatting, column sizing, and table alignment. Use table_index=-1 for the last table, 1 for the first, etc. Args: filename: Document name or path (None = active document). table_index: 1-based table index, or -1 for the last table. border_style: Border style for all edges: "none", "single", "double", "dotted", "dashed", "thick". "none" removes all borders. cell_bold: List of [row, col, bold] entries (1-indexed) to set bold on cell text. Example: [[1, 1, true], [1, 2, true]] bolds row 1 cells. cell_alignment: List of [row, col, alignment] entries. alignment: "left", "center", "right", "justify". Row 0 = all rows, Col 0 = all cols. column_widths: List of column widths in points (1-indexed order). Example: [200, 200] sets col 1 to 200pt, col 2 to 200pt. table_alignment: Table alignment on page: "left", "center", "right". cell_shading: List of [row, col, color_hex] entries. color_hex as "#RRGGBB". Row 0 = all rows. Example: [[1, 0, "#DDDDDD"]] shades entire row 1. autofit: "window" (fit to page width), "content" (fit to cell content), "fixed" (fixed column widths). Returns: JSON with result info.
| Name | Type | Req | Description |
|---|---|---|---|
| autofit | string | – | – |
| border_style | string | – | – |
| cell_alignment | array | – | – |
| cell_bold | array | – | – |
| cell_shading | array | – | – |
| column_widths | array | – | – |
| filename | string | – | – |
| table_alignment | string | – | – |
| table_index | integer | – | – |
No output schema declared.
No examples provided.
word_live_format_text Word Live Format Text ~675
[Windows only] Format text in an open Word document: font, color, highlight, style, alignment, page breaks. Use this tool for any visual/formatting change that does NOT alter the text content itself. Two addressing modes (provide one): - start/end: Character positions (from word_live_find_text or word_live_get_page_text). - start_paragraph/end_paragraph: 1-indexed paragraph range (from word_live_get_text etc.). Args: filename: Document name or path (None = active document). start: Start character position. end: End character position. start_paragraph: First paragraph index (1-indexed). Alternative to start/end. end_paragraph: Last paragraph index (1-indexed, defaults to start_paragraph). bold: Set bold (True/False). italic: Set italic (True/False). underline: Set underline (True/False). font_name: Font family (e.g., "Arial", "Times New Roman"). font_size: Font size in points (e.g., 12). font_color: Text color as "#RRGGBB" hex (e.g., "#FF0000" for red). highlight_color: Text highlight background color index. 0 = remove highlight, 1 = black, 2 = blue, 3 = turquoise, 4 = bright green, 5 = pink, 6 = red, 7 = yellow, 8 = white, 9 = dark blue, 10 = teal, 11 = green, 12 = violet, 13 = dark red, 14 = dark yellow, 15 = gray, 16 = light gray. Common: 7=yellow (add), 0=none (remove). style_name: Apply a named Word style (e.g., "Heading 1", "Normal"). paragraph_alignment: Paragraph alignment — "left" (0), "center" (1), "right" (2), "justify" (3). Applies to ALL paragraphs in the selected range. page_break_before: Set or clear PageBreakBefore on paragraphs in range (True/False). preserve_direct_formatting: When True and style_name is set, saves font/size/bold/italic/ alignment/spacing before applying the style and restores them after. Useful for changing a paragraph's style (e.g., Heading 5 → Normal) without losing its visual formatting. track_ch…
| Name | Type | Req | Description |
|---|---|---|---|
| bold | boolean | – | – |
| end | integer | – | – |
| end_paragraph | integer | – | – |
| filename | string | – | – |
| font_color | string | – | – |
| font_name | string | – | – |
| font_size | number | – | – |
| highlight_color | integer | – | – |
| italic | boolean | – | – |
| page_break_before | boolean | – | – |
| paragraph_alignment | string | – | – |
| preserve_direct_formatting | boolean | – | – |
| start | integer | – | – |
| start_paragraph | integer | – | – |
| style_name | string | – | – |
| track_changes | boolean | – | – |
| underline | boolean | – | – |
No output schema declared.
No examples provided.
word_live_get_comments Word Live Get Comments ~36
[Windows only] Get all comments from a Word document open in Word. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | – | – |
No output schema declared.
No examples provided.
word_live_get_info Word Live Get Info ~45
[Windows only] Get document info (pages, words, sections, etc.) from a Word document open in Word. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | – | – |
No output schema declared.
No examples provided.
word_live_get_page_text Word Live Get Page Text ~179
[Windows only] Get text from specific page(s) of an open Word document. Returns paragraphs on the requested page(s) with char_start/char_end offsets that can be passed directly to word_live_format_text, word_live_delete_text, etc. Uses Word's GoTo API to find page boundaries. For long legal documents, this is much more efficient than reading all paragraphs. Args: filename: Document name or path (None = active document). page: Page number to read (1-indexed, required). end_page: Last page to read (inclusive). If None, reads only `page`. Returns: JSON with paragraphs list, each containing index, text, char_start, char_end.
| Name | Type | Req | Description |
|---|---|---|---|
| end_page | integer | – | – |
| filename | string | – | – |
| page | integer | – | – |
No output schema declared.
No examples provided.
word_live_get_paragraph_format Word Live Get Paragraph Format ~330
[Windows only] Inspect paragraph formatting properties for diagnostics. Returns detailed formatting info for each paragraph in the range. Essential for debugging layout issues like unexpected page breaks (caused by keep_with_next chains), broken list formatting, wrong styles, or inconsistent fonts. Per-paragraph fields returned: index, text_preview (first 80 chars), char_start, char_end, style, font_name, font_size, bold, italic, alignment, space_before_pt, space_after_pt, line_spacing, line_spacing_rule, page_break_before, keep_with_next, keep_together. Also: list_type, list_level, list_string (if paragraph is in a list), highlight_color. When include_runs=True, each paragraph also includes a "runs" array with per-run formatting: text, bold, italic, font_name, font_size. Consecutive words with identical formatting are grouped into a single run. Useful for detecting which specific words are bold/italic (e.g., bold sub-clause numbers in otherwise normal text). Args: filename: Document name or path (None = active document). start_paragraph: First paragraph (1-indexed, required). end_paragraph: Last paragraph (1-indexed, defaults to start_paragraph). include_runs: Include per-run (word-level) formatting detail (default False). Returns: JSON with formatting details per paragraph.
| Name | Type | Req | Description |
|---|---|---|---|
| end_paragraph | integer | – | – |
| filename | string | – | – |
| include_runs | boolean | – | – |
| start_paragraph | integer | – | – |
No output schema declared.
No examples provided.
word_live_get_text Word Live Get Text ~40
[Windows only] Get all text from a Word document open in Word, paragraph by paragraph. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | – | – |
No output schema declared.
No examples provided.
word_live_get_undo_history Word Live Get Undo History ~47
[Windows only] Get the undo stack from a Word document open in Word. Shows MCP tool operations as named entries. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | – | – |
No output schema declared.
No examples provided.
word_live_insert_text Word Live Insert Text ~81
[Windows only] Insert text into a Word document that is open in Word. Position: 'start', 'end', 'cursor', or character offset. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| bookmark | string | – | – |
| filename | string | – | – |
| position | string | – | – |
| text | string | – | – |
| track_changes | boolean | – | – |
No output schema declared.
No examples provided.
word_live_list_revisions Word Live List Revisions ~42
[Windows only] List all tracked changes (revisions) in a Word document open in Word. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | – | – |
No output schema declared.
No examples provided.
word_live_modify_table Word Live Modify Table ~424
[Windows only] Modify a table in an open Word document. Operations: get_info, set_cell, add_column, delete_column, add_row, delete_row, merge_cells, autofit. All row/col indices are 1-based (Word COM standard). Args: filename: Document name or path (None = active document). table_index: 1-based table index (default 1). operation: One of: get_info, set_cell, add_column, delete_column, add_row, delete_row, merge_cells, autofit. row: Row index for set_cell, delete_row. col: Column index for set_cell, delete_column. text: Text for set_cell. before_row: Insert row before this index (add_row). None = append at end. before_col: Insert column before this index (add_column). None = append at end. header: Header text for new column (add_column, placed in row 1). cells: List of cell values for new row/column. start_row: Start row for merge_cells. start_col: Start column for merge_cells. end_row: End row for merge_cells. end_col: End column for merge_cells. autofit_mode: 'content', 'window', or 'fixed' (autofit operation). track_changes: Track modifications as revisions. Returns: JSON with operation result.
| Name | Type | Req | Description |
|---|---|---|---|
| autofit_mode | string | – | – |
| before_col | integer | – | – |
| before_row | integer | – | – |
| cells | array | – | – |
| col | integer | – | – |
| end_col | integer | – | – |
| end_row | integer | – | – |
| filename | string | – | – |
| header | string | – | – |
| operation | string | – | – |
| row | integer | – | – |
| start_col | integer | – | – |
| start_row | integer | – | – |
| table_index | integer | – | – |
| text | string | – | – |
| track_changes | boolean | – | – |
No output schema declared.
No examples provided.
word_live_reject_revisions Word Live Reject Revisions ~61
[Windows only] Reject tracked changes in a Word document open in Word. Filter by author or specific revision IDs. Requires Word running.
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | – | – |
| filename | string | – | – |
| revision_ids | array | – | – |
No output schema declared.
No examples provided.
word_live_replace_text Word Live Replace Text ~282
[Windows only] Find and replace text in an open Word document. Uses Word's native Find & Replace, which works across tracked change boundaries (unlike manual delete+insert). Supports Word special characters when use_wildcards=True: ^m (manual page break), ^t (tab), ^p (paragraph mark), and Word wildcard syntax. Args: filename: Document name or path (None = active document). find_text: Text to find. With use_wildcards=True, supports ^m, ^t, ^p and Word wildcards. replace_text: Replacement text. Use "" to delete matches. match_case: Case-sensitive search. match_whole_word: Match whole words only (ignored when use_wildcards=True). use_wildcards: Enable Word wildcards and special characters. replace_all: Replace all occurrences (True) or just the first one (False). track_changes: Track replacements as revisions. Returns: JSON with count of replacements made.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | – | – |
| find_text | string | – | – |
| match_case | boolean | – | – |
| match_whole_word | boolean | – | – |
| replace_all | boolean | – | – |
| replace_text | string | – | – |
| track_changes | boolean | – | – |
| use_wildcards | boolean | – | – |
No output schema declared.
No examples provided.
What is the Word MCP Live server?
Word MCP Live is listed in the public MCP registry as io.github.ykarapazar/word-mcp-live. Live Microsoft Word editing via MCP, tracked changes, undo, comments, 40+ tools. This page covers its PyPI package (word-mcp-live).
Is the Word MCP Live server safe to use?
Word MCP Live scores 75 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Word MCP Live server expose?
Word MCP Live exposes 105 tools: create_document, copy_document, get_document_info, get_document_text, get_document_outline, and 100 more. Their descriptions and schemas cost roughly 10,091 tokens of context every time the server is loaded.
Is the Word MCP Live server still maintained?
Word MCP Live is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.