Add HTTP interface, templates, generate_from_template, unified Dockerfile
Continuous Integration / Test Suite (macos-latest, nightly) (push) Has been cancelled
Continuous Integration / Test Suite (macos-latest, stable) (push) Has been cancelled
Continuous Integration / Test Suite (ubuntu-latest, 1.70.0) (push) Has been cancelled
Continuous Integration / Test Suite (ubuntu-latest, beta) (push) Has been cancelled
Continuous Integration / Test Suite (ubuntu-latest, nightly) (push) Has been cancelled
Continuous Integration / Test Suite (ubuntu-latest, stable) (push) Has been cancelled
Continuous Integration / Test Suite (windows-latest, stable) (push) Has been cancelled
Continuous Integration / Security Audit (push) Has been cancelled
Continuous Integration / Code Coverage (push) Has been cancelled
Continuous Integration / Performance Benchmarks (push) Has been cancelled
Continuous Integration / Memory Safety Check (push) Has been cancelled
Continuous Integration / Docker Build Test (push) Has been cancelled
Continuous Integration / Release Readiness (push) Has been cancelled
Continuous Integration / Integration Tests (push) Has been cancelled
Continuous Integration / Stress Testing (push) Has been cancelled
Continuous Integration / Notify Results (push) Has been cancelled

This commit is contained in:
2026-06-13 00:22:02 +00:00
parent d3fbbcfd7c
commit f655336757
11 changed files with 1789 additions and 45 deletions
+153
View File
@@ -0,0 +1,153 @@
# docx-mcp Server - Deployment Quick Reference
## Key Facts
| Item | Value |
|------|-------|
| **Transport Method** | stdio (stdin/stdout) |
| **Network Port** | Not required for local use |
| **API Key** | Not required |
| **Authentication** | OS-level + container security |
---
## Port Requirements
### Local Deployment (Recommended)
**No port required** - the server communicates via stdin/stdout directly.
### Remote Deployment (Optional)
If remote access is needed, wrap with a stdio-to-network bridge:
| Bridge Type | Port | Protocol |
|-------------|------|----------|
| WebSocket | 8080 | ws:// |
| TCP | 8080 | tcp:// |
---
## Quick Start
### Build
```bash
# Minimal (recommended)
docker build -f Dockerfile.sandboxed -t docx-mcp:sandboxed .
# With LibreOffice (better PDF conversion)
docker build -f Dockerfile.libreoffice -t docx-mcp:libreoffice .
```
### Run (Local)
```bash
docker run --rm \
--name docx-mcp \
--read-only \
--cap-drop ALL \
--tmpfs /tmp/docx-mcp \
--memory 512m \
docx-mcp:sandboxed
```
### Run (Remote via Docker Compose)
```bash
docker-compose up -d
```
---
## MCP Client Configuration
### Claude Desktop
```json
{
"mcpServers": {
"docx": {
"command": "docker",
"args": [
"run", "--rm", "--read-only", "--cap-drop ALL",
"--tmpfs /tmp/docx-mcp", "--memory 512m",
"docx-mcp:sandboxed"
]
}
}
}
```
### Cursor
```json
{
"mcp": {
"servers": {
"docx": {
"command": "docker",
"args": [
"run", "--rm", "--read-only", "--cap-drop ALL",
"--tmpfs /tmp/docx-mcp", "--memory 512m",
"docx-mcp:sandboxed"
]
}
}
}
}
```
---
## Security Profiles
### Readonly Mode
```bash
docker run --rm \
-e DOCX_MCP_READONLY=true \
-e DOCX_MCP_WHITELIST="open_document,extract_text,get_metadata,search_text" \
docx-mcp:sandboxed
```
### Maximum Security
```bash
docker run --rm \
--read-only \
--cap-drop ALL \
--network none \
--tmpfs /tmp/docx-mcp \
-e DOCX_MCP_READONLY=true \
-e DOCX_MCP_SANDBOX=true \
-e DOCX_MCP_NO_EXTERNAL_TOOLS=true \
-e DOCX_MCP_NO_NETWORK=true \
docx-mcp:sandboxed
```
---
## Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `DOCX_MCP_READONLY` | `false` | Restrict to read-only operations |
| `DOCX_MCP_SANDBOX` | `true` | Restrict file operations to temp |
| `DOCX_MCP_NO_EXTERNAL_TOOLS` | `true` | Disable LibreOffice etc. |
| `DOCX_MCP_NO_NETWORK` | `true` | Disable network access |
| `DOCX_MCP_MAX_SIZE` | `52428800` | Max document size (bytes) |
| `DOCX_MCP_MAX_DOCS` | `20` | Max concurrent documents |
| `DOCX_MCP_WHITELIST` | - | Allowed tools (comma-separated) |
| `DOCX_MCP_BLACKLIST` | - | Blocked tools (comma-separated) |
---
## Files Created
| File | Description |
|------|-------------|
| `Dockerfile.sandboxed` | Minimal security-focused image |
| `Dockerfile.libreoffice` | Full features with LibreOffice |
| `docker-compose.yml` | Production deployment config |
| `DEPLOYMENT.md` | Comprehensive deployment guide |
---
## Summary
- **Port Required:** No (for local) / 8080 (for remote with bridge)
- **API Key:** No
- **Authentication:** Container isolation + OS controls
- **Recommended:** Local stdio transport with security features enabled