README
Full Word toolkit for LM Studio. Supports .docx and .docm β no Python required.
The plugin is available for download on the LM Studio Hub Warning: This plugin was created with Claude.ai. It is currently under development and may corrupt certain files. Tested only with qwen/qwen3.5-35b-a3b. An Excel version is available excel-tools
| Tool | Description |
|---|---|
word_read | Read paragraphs with style, runs, formatting |
word_write | Create a new .docx from structured content blocks |
word_append |
| Append headings, paragraphs, lists, tables to existing doc |
word_find_replace | Find & replace text (plain or regex) |
word_insert_after_heading | Insert content after a specific heading |
word_delete_paragraphs | Delete paragraphs by text match or style |
word_extract_tables | Extract all tables as JSON arrays |
word_insert_table | Insert a table at end or after a heading |
word_merge_docs | Merge multiple .docx files into one |
word_split_by_heading | Split document into files by heading level |
| Tool | Description |
|---|---|
word_format_text | Apply bold / italic / underline / color to matching text |
word_set_paragraph_style | Change paragraph style (Heading1, Normal, Quoteβ¦) |
word_add_header_footer | Set document header and/or footer |
word_set_page_layout | Change margins, orientation, paper size |
word_add_toc | Insert a Table of Contents (populated on open in Word) |
| Tool | Description |
|---|---|
word_info | File metadata + word count, paragraph count, image count |
word_list_headings | Extract document outline (all headings) |
word_extract_comments | Get all review comments with author & date |
word_extract_images | List embedded images; optionally extract to disk |
word_diff | Compare two documents (added / removed paragraphs) |
| Tool | Description |
|---|---|
word_read_vba | Extract VBA module info from .docm |
All destructive operations (append, find/replace, delete, format, layout) create a .bak copy before modifying.
[
{ "type": "heading", "level": 1, "text": "Report Title" },
{ "type": "paragraph", "text": "Introduction paragraph.", "bold": false },
{ "type": "list", "ordered": false, "items": ["Item A", "Item B"] },
{ "type": "table", "headers": ["Name", "Score"], "rows": [["Alice", "95"], ["Bob", "87"]] },
{ "type": "pagebreak" }
]