word-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PYTHONPATH | No | On Linux, set to the repository path when launching with the system interpreter via python3 -m wordmcp. | |
| WORD_MCP_BACKEND | No | Overrides the engine selection. Valid values are mac, win, or uno. By default the engine follows the platform: Word on macOS/Windows, LibreOffice on Linux. | |
| WORD_MCP_UNO_PORT | No | Sets the socket port used when the LibreOffice engine starts soffice headless. | |
| WORD_MCP_ALLOW_RAW | No | Set to 1 to register word_run_raw, which runs engine-native code (AppleScript on macOS, Python expressions over live application objects on Windows/Linux). This is arbitrary code execution; drop the variable once things settle. |
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
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| word_statusB | Report which word processor drives documents here and whether it answers. |
| word_openC | Open a document and make it the current one. |
| word_closeA | Close the current document, saving it or discarding changes. |
| word_saveB | Save the current document in place. |
| word_page_countC | Count the pages of a document as the word processor lays it out. |
| word_find_pageC | List the pages on which a piece of text occurs, in document order. |
| word_headingsC | List every heading with its outline level and the page it starts on. |
| word_outlineB | Give the start page and length of each top-level part of the document. Pass markers to define the parts by text instead of by heading level. |
| word_page_textC | Read the text that the word processor placed on a given page. |
| word_selftestC | Try every operation on a document and report which ones this machine supports. |
| word_update_fieldsC | Refresh fields and tables of contents so their page numbers become current. |
| word_format_paragraphsA | Set layout properties on every paragraph containing a string. keep_with_next ties a heading or a caption to what follows, keep_together forbids splitting a paragraph across pages, widow_control switches widow and orphan control on. Spacing is in points. Returns how many paragraphs changed. |
| word_export_pdfC | Export the document to PDF with the word processor's own engine. |
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 13 tools
Most tools target clearly distinct operations: lifecycle (open/close/save), page inspection, text search, outline extraction, formatting, field refresh, and PDF export. The main possible overlap is between word_headings and word_outline, but their descriptions distinguish all headings from customizable top-level parts.
All tools use a consistent word_ prefix and snake_case naming, making the family easy to recognize. The only minor deviation is that some names are noun-like (word_page_count, word_headings) while others are verb-like (word_open, word_find_page).
With 13 tools, the server sits comfortably in the well-scoped range. Each tool appears to cover a specific document operation or inspection task without excessive fragmentation.
The surface covers opening, saving, closing, layout inspection, page text reading, paragraph formatting, field updates, and PDF export. However, it lacks document creation and direct content editing operations such as inserting or replacing text, which are notable gaps for a Word automation server.