Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| open_document | Open a .docx file for reading and editing. Unpacks the DOCX archive, parses all XML parts, and caches them in memory. Only one document can be open at a time; opening a new one closes the previous. Args: path: Absolute path to the .docx file. |
| close_document | Close the current document and clean up temporary files. |
| get_document_info | Get overview stats: paragraph count, headings, footnotes, comments, images. |
| get_headings | Get the document heading structure with levels, text, and paraIds. Returns a list of headings in document order, each with:
|
| search_text | Search for text across the document body, footnotes, and comments. Args: query: Text to search for (case-insensitive), or a regex pattern. regex: If true, treat query as a Python regular expression. Returns matching paragraphs with their paraId, source part, and context. |
| get_paragraph | Get the full text and style of a specific paragraph by its paraId. Args: para_id: The 8-character hex paraId (e.g., "1A2B3C4D"). |
| get_footnotes | List all footnotes with their ID and text content. |
| add_footnote | Add a footnote to a paragraph. Creates the footnote definition in footnotes.xml and adds a superscript reference number at the end of the target paragraph. Args: para_id: paraId of the paragraph to attach the footnote to. text: Footnote text content. |
| validate_footnotes | Cross-reference footnote IDs between document.xml and footnotes.xml. Checks that every footnote reference in the document body has a matching definition, and flags orphaned definitions with no reference. |
| validate_paraids | Check paraId uniqueness across all document parts. ParaIds must be unique across document.xml, footnotes.xml, headers, footers, and comments. They must also be valid 8-digit hex values < 0x80000000. |
| remove_watermark | Remove VML watermarks (e.g., DRAFT) from all document headers. Detects and removes <v:shape> elements with <v:textpath> inside header XML files — the standard pattern for Word watermarks. |
| audit_document | Run a comprehensive structural audit of the document. Checks:
Returns a detailed report with an overall valid/invalid status. |
| insert_text | Insert text with Word track-changes markup (appears as a green underlined insertion in Word). Args: para_id: paraId of the target paragraph. text: Text to insert. position: Where to insert — "start", "end", or a substring to insert after. author: Author name for the revision (shown in Word's review pane). |
| delete_text | Mark text as deleted with Word track-changes markup (appears as red strikethrough in Word). Finds the exact text within the paragraph and wraps it in deletion markup. The text must exist within a single run (formatting span). Args: para_id: paraId of the target paragraph. text: Exact text to mark as deleted. author: Author name for the revision. |
| get_comments | List all comments with their ID, author, date, and text. |
| add_comment | Add a comment anchored to a paragraph. Creates the comment in comments.xml and adds range markers (commentRangeStart/End) around the paragraph content. Args: para_id: paraId of the paragraph to comment on. text: Comment text. author: Author name (shown in Word's comment sidebar). |
| reply_to_comment | Reply to an existing comment (creates a threaded reply). Args: parent_id: ID of the comment to reply to. text: Reply text. author: Author name. |
| save_document | Save all changes back to a .docx file. Serializes modified XML parts and repacks into a DOCX archive. Args: output_path: Path for the output file. If empty, overwrites the original. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |