Extract text, images, metadata from Word, Excel, PowerPoint
</Card>
<Card title="Legacy Support" icon="puzzle">
Process `.doc`, `.xls`, `.ppt` files from the 90s
</Card>
<Card title="MCP Resources" icon="list-format">
Index documents and fetch chapters/sheets on demand
</Card>
<Card title="Smart Fallbacks" icon="rocket">
Multiple extraction methods with automatic fallback
</Card>
</CardGrid>
## Hosted vs Local
| Feature | Hosted | Local (uvx) |
|---------|--------|-------------|
| Installation | None | `uvx mcwaddams` |
| File Access | URL only | Local + URL |
| Speed | Network latency | Instant |
| Privacy | Files processed on server | Files stay local |
| Availability | Requires internet | Works offline |
<Aside type="caution" title="Privacy Note">
When using the hosted server, your documents are transmitted to and processed on our server. For sensitive documents, use the local installation instead.
</Aside>
## Using with URLs
The hosted server can process documents from URLs directly:
```python
# Extract text from a public document
result = await session.call_tool("extract_text", {
"file_path": "https://example.com/report.docx"
})
```
This is particularly useful for processing documents already hosted online.
## Self-Hosting
Want the convenience of HTTP without using our server? Self-host your own:
### Docker Compose
```yaml
services:
mcwaddams:
image: ghcr.io/ryanmalloy/mcwaddams:latest
environment:
- MCP_TRANSPORT=streamable-http
- MCP_HOST=0.0.0.0
- MCP_PORT=8000
ports:
- "8000:8000"
```
### With Caddy Reverse Proxy
Clone the repo and use our docker-compose with caddy-docker-proxy labels: