@usejunior/safe-docx 0.21.2 → 0.21.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -3
- package/package.json +2 -2
- package/server.json +2 -2
package/README.md
CHANGED
|
@@ -1,10 +1,79 @@
|
|
|
1
1
|
# @usejunior/safe-docx
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Edit Word and OpenDocument files with coding agents.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@usejunior/safe-docx)
|
|
6
|
+
[](https://github.com/UseJunior/safe-docx/blob/main/LICENSE)
|
|
7
|
+
|
|
8
|
+
Safe Docx is a local MCP server and CLI for reading, searching, editing, comparing, converting, and saving document files. It preserves DOCX structure and can produce clean or tracked-changes output. Documents are processed on your machine.
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
Ask your coding agent:
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
Edit NDA.docx. Change the governing law from New York to Delaware.
|
|
16
|
+
Save a clean copy and a tracked-changes copy. Do not change anything else.
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Safe Docx finds the clause, applies the targeted edit, and writes both files for review. The rest of the document stays outside the requested edit.
|
|
20
|
+
|
|
21
|
+
Follow the complete [editing walkthrough](https://github.com/UseJunior/safe-docx/blob/main/docs/tutorial.md).
|
|
22
|
+
|
|
23
|
+
## Install
|
|
4
24
|
|
|
5
25
|
```bash
|
|
6
26
|
npm install --global @usejunior/safe-docx
|
|
7
|
-
safe-docx
|
|
27
|
+
safe-docx --help
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The package installs both `safe-docx` and `safedocx`; use `safe-docx` in new configurations.
|
|
31
|
+
|
|
32
|
+
## Configure An MCP Client
|
|
33
|
+
|
|
34
|
+
Locate the installed executable with `command -v safe-docx` (`where safe-docx` on Windows). Desktop applications may not inherit your terminal's `PATH`, so configure clients with that absolute path. The server takes no arguments and uses `stdio`.
|
|
35
|
+
|
|
36
|
+
Claude Code:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
claude mcp add safe-docx -- /absolute/path/to/safe-docx
|
|
8
40
|
```
|
|
9
41
|
|
|
10
|
-
|
|
42
|
+
JSON-based clients, including Antigravity CLI (`~/.gemini/config/mcp_config.json`):
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"mcpServers": {
|
|
47
|
+
"safe-docx": {
|
|
48
|
+
"command": "/absolute/path/to/safe-docx",
|
|
49
|
+
"args": []
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
See [installation and verification](https://github.com/UseJunior/safe-docx/blob/main/docs/installation.md) for pinning a version, inspecting the package before install, and building from source.
|
|
56
|
+
|
|
57
|
+
## Tools
|
|
58
|
+
|
|
59
|
+
- **Read and navigate:** `read_file`, `get_document_outline`, `get_sections`, `grep`
|
|
60
|
+
- **Edit:** `replace_text`, `insert_paragraph`, `batch_edit`, `clear_formatting`
|
|
61
|
+
- **Format:** `format_layout`, `format_numbering`, `format_section`, `insert_section_break`
|
|
62
|
+
- **Tracked changes:** `has_tracked_changes`, `extract_revisions`, `accept_changes`, `accept_ai_edits`, `reject_ai_edits`
|
|
63
|
+
- **Compare:** `compare_documents`
|
|
64
|
+
- **Comments and footnotes:** `add_comment`, `get_comments`, `delete_comment`, `get_footnotes`, `add_footnote`, `update_footnote`, `delete_footnote`
|
|
65
|
+
- **Save and convert:** `save`, `export`, `convert_to_odt`, `get_file_status`, `close_file`
|
|
66
|
+
|
|
67
|
+
Parameters and behavior for each tool are in the [tool reference](https://github.com/UseJunior/safe-docx/blob/main/packages/docx-mcp/docs/tool-reference.generated.md).
|
|
68
|
+
|
|
69
|
+
## Not Optimized For
|
|
70
|
+
|
|
71
|
+
Safe Docx is not a visual editor or layout engine. It does not provide browser rendering, real-time collaboration, or pixel-level pagination guarantees. `.dotx` templates must be converted to `.docx` before use.
|
|
72
|
+
|
|
73
|
+
## Links
|
|
74
|
+
|
|
75
|
+
- [Repository](https://github.com/UseJunior/safe-docx)
|
|
76
|
+
- [Changelog](https://github.com/UseJunior/safe-docx/blob/main/CHANGELOG.md)
|
|
77
|
+
- [TypeScript library (`@usejunior/docx-core`)](https://www.npmjs.com/package/@usejunior/docx-core)
|
|
78
|
+
- [Standards conformance](https://usejunior.com/engineering/safe-docx/conformance)
|
|
79
|
+
- [Issues](https://github.com/UseJunior/safe-docx/issues)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usejunior/safe-docx",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.3",
|
|
4
4
|
"description": "Edit Word (.docx) and OpenDocument (.odt) files with tracked changes, redlines, and formatting preservation. Built for AI coding agents. Apache-2.0 licensed, 100% local processing.",
|
|
5
5
|
"mcpName": "io.github.UseJunior/safe-docx",
|
|
6
6
|
"type": "module",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"safedocx": "./bin/safe-docx.js"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@usejunior/docx-mcp": "^0.21.
|
|
28
|
+
"@usejunior/docx-mcp": "^0.21.3"
|
|
29
29
|
},
|
|
30
30
|
"engines": {
|
|
31
31
|
"node": ">=18.0.0"
|
package/server.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.UseJunior/safe-docx",
|
|
4
4
|
"title": "Safe Docx",
|
|
5
5
|
"description": "AI-native surgical editing of Word .docx and OpenDocument .odt files with formatting preservation",
|
|
6
|
-
"version": "0.21.
|
|
6
|
+
"version": "0.21.3",
|
|
7
7
|
"websiteUrl": "https://usejunior.com/developer-tools/safe-docx",
|
|
8
8
|
"icons": [
|
|
9
9
|
{
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
{
|
|
19
19
|
"registryType": "npm",
|
|
20
20
|
"identifier": "@usejunior/safe-docx",
|
|
21
|
-
"version": "0.21.
|
|
21
|
+
"version": "0.21.3",
|
|
22
22
|
"transport": {
|
|
23
23
|
"type": "stdio"
|
|
24
24
|
},
|