docx-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_documentA | Read the content of a DOCX file. Returns paragraphs with indices, styles, and formatting hints. Use start_paragraph/end_paragraph for large documents. Use show_revisions to see tracked changes annotations. |
| get_document_infoA | Get metadata and structure overview of a DOCX file — paragraph count, headings outline, tables, comment count. |
| search_textB | Search for text in a DOCX file. Returns matching blocks with context. |
| replace_textsA | Apply one or more find/replace operations in a single open/save cycle. Use a one-element items array for a single substitution; use multiple items to batch many substitutions efficiently. Items are applied sequentially in the given order. |
| edit_paragraphsA | Replace the text content of multiple paragraphs in one operation. Opens and saves the file only once. Paragraph indices remain stable because edits don't change paragraph count. |
| insert_paragraphsA | Insert multiple paragraphs in one operation. Handles index shifting internally by processing in reverse order. Opens and saves the file only once. Supports numbering (num_id/num_level) and format copying (copy_format_from). |
| delete_paragraphsA | Delete multiple paragraphs or table blocks by their indices in one operation. Handles index reordering internally. |
| format_textB | Apply character formatting (bold, italic, underline, highlight, font, size, color) to all runs matching the search text. |
| set_paragraph_formatsB | Apply alignment, spacing, and indentation to one or more paragraphs in a single open/save cycle. Each group bundles a list of paragraph indices with the formatting to apply to them. |
| add_commentA | Add a comment to specific text in the document. The comment is anchored to the first occurrence of the anchor text. |
| add_commentsA | Add multiple comments to a document in a single operation. Opens and saves the file only once. Supports partial success: comments with unfound anchors are reported as failures without blocking the rest. |
| read_commentsA | Read all comments in a DOCX file. Shows threaded replies indented under parent comments when available. |
| reply_to_commentA | Reply to an existing comment, creating a threaded conversation. The reply appears under the parent comment in Word's comment pane. |
| delete_commentA | Delete a comment by its ID. Also removes range markers from the document. |
| create_documentB | Create a new DOCX file. Optionally provide initial content and title. |
| apply_document_presetA | Apply a named document style preset in one pass by updating styles.xml. Use this instead of repeated paragraph-level formatting when you want a document-wide baseline. |
| highlight_textB | Highlight all occurrences of text with a specified color. |
| insert_tableB | Insert a table at a specific position in the document. |
| set_headingsA | Convert multiple paragraphs to headings in one operation. Opens and saves the file only once. |
| accept_all_changesA | Accept all tracked changes in the document. Insertions become permanent text, deletions are removed. |
| reject_all_changesA | Reject all tracked changes in the document. Insertions are removed, deletions are restored to normal text. |
| get_page_layoutA | Get page size, margins, and orientation of a DOCX file. |
| set_page_layoutA | Set page size, margins, and orientation. Use presets (A4, LETTER, NARROW, etc.) or custom values in millimeters. |
| read_header_footerB | Read the content of headers and footers in a DOCX file. |
| edit_table_cellsA | Replace the text content of multiple table cells in one operation. Cells can span different tables. Opens and saves the file only once. |
| read_footnotesB | Read all footnotes in a DOCX file. |
| list_imagesA | List all images embedded in a DOCX file. Returns filename, dimensions, alt text, and block index for each image. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
Each tool targets a distinct operation on the document—creating, reading, editing paragraphs/tables, formatting, comments, changes, footnotes, headers/footers, and images. There is no functional overlap; even similarly named tools like format_text and highlight_text apply different types of formatting.
All tools follow a consistent verb_noun pattern in snake_case (e.g., create_document, edit_paragraphs, set_page_layout). Minor plural/singular variation (add_comment vs. add_comments) is clear and intentional, not a deviation.
With 27 tools, the server is on the high end for an MCP server. While each tool serves a distinct purpose for a comprehensive document editor, the count exceeds the typical 3-15 range and falls into the 'heavy' category, warranting a borderline score.
The server covers major areas: document creation, reading, editing paragraphs/tables, formatting, comments (CRUD plus threading), changes (accept/reject), search/replace, images, footnotes, and headers/footers. Minor gaps exist: footnotes and headers/footers are read-only, and there is no image insertion or deletion.