f655336757
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
154 lines
3.3 KiB
Markdown
154 lines
3.3 KiB
Markdown
# 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
|