Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"safe-docx": {
"args": [
"-y",
"@usejunior/safe-docx"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
English | Español | 简体中文 | Português (Brasil) | Deutsch
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y '@usejunior/safe-docx' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked @usejunior/safe-docx against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in writing / productivity
Persistent memory using a knowledge graph
Dynamic problem-solving through sequential thought chains
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
A markdown editor — and the bridge to your LLM. Local-first, MIT, ~15 MB. Bundled MCP server lets Claude Code / Codex / Cursor drive your vault directly. 14 AI providers BYOK.
MCP Security Weekly
Get CVE alerts and security updates for io.github.UseJunior/safe-docx and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
English | Español | 简体中文 | Português (Brasil) | Deutsch
%%{init: {"flowchart": {"htmlLabels": true, "curve": "basis", "nodeSpacing": 30, "rankSpacing": 50}, "themeVariables": {"fontSize": "14px"}} }%%
flowchart LR
DocInLeft["<b>Existing .docx</b><br/>on disk"]
subgraph Server["@usejunior/safe-docx — local MCP server"]
direction LR
subgraph ReadParse["<b>1. Read</b>"]
direction TB
RPTool["<code>read_file(file_path,<br/> format)</code>"]
end
subgraph Locate["<b>2. Locate</b>"]
direction TB
LocTool["<code>grep(file_path,<br/> pattern)</code>"]
end
subgraph Edit["<b>3. Edit</b>"]
direction TB
EditTool["<code>replace_text(<br/> target_paragraph_id,<br/> old_string, new_string,<br/> instruction)</code>"]
end
subgraph Save["<b>4. Save</b>"]
direction TB
SaveTool["<code>save(save_to_local_path,<br/> save_format)</code>"]
end
ReadParse --> Locate
Locate --> Edit
Edit --> Save
end
DocInRight["<b>Saved .docx output</b><br/>on disk"]
subgraph Client [" "]
direction TB
Prompt["<b>Prompt</b><br/>'Change NDA governing law to Delaware'"]
Agent["<b>Coding agent / MCP client</b><br/>Claude Code · Cursor · Gemini CLI"]
Prompt --> Agent
end
DocInLeft --> RPTool
SaveTool --> DocInRight
Agent <-->|tool call / tool result| Server
classDef io fill:#f5f5f5,stroke:#888,color:#222
classDef server fill:#eff6ff,stroke:#3b82f6,color:#1e3a8a
classDef stage fill:#eef2ff,stroke:#6366f1,color:#1e1b4b
classDef tools fill:#ecfdf5,stroke:#10b981,color:#064e3b
classDef ext fill:#ddd6fe,stroke:#7c3aed,color:#3b0764
classDef hidden fill:none,stroke:none
class DocInLeft,DocInRight io
class Server server
class ReadParse,Locate,Edit,Save stage
class RPTool,LocTool,EditTool,SaveTool tools
class Prompt,Agent ext
class Client hidden
Safe Docx is an open-source TypeScript stack for surgical editing of existing Microsoft Word .docx files. It is built for workflows where an agent proposes changes and a human still needs reliable, formatting-preserving document edits.
If you review contracts with AI, the slowest step is often applying accepted recommendations in Word. Safe Docx turns that into deterministic tool calls.
AI coding CLIs are great with code and text files but weak on brownfield .docx editing. Business and legal workflows still run on Word documents, so we built a native TypeScript path for: