Document text extraction MCP server for Claude/OpenClaw agents.
Author: Terry kim goandonh@gmail.com Co-Author: Claudie Version: 0.1.0
FastMCP server that extracts plain text from various document formats. Used by agents to read documents during research and content creation workflows.
Parsing logic ported from terryragsys/crawler.py.
| Format | Extension | Library |
|---|---|---|
| HWP (한글 워드프로세서) | .hwp |
olefile (binary parsing) |
| HWPX (한글 XML) | .hwpx |
python-hwpx / BeautifulSoup fallback |
| Microsoft Word | .docx |
kreuzberg |
| Microsoft Excel | .xlsx |
kreuzberg |
| Microsoft PowerPoint | .pptx |
kreuzberg |
.pdf |
kreuzberg (PDFium) | |
| Plain text | .txt, .md, .py, .js, .ts, .yaml, .yml, .json, .csv, .log, .ini, .toml |
built-in |
Extract text content from a document file.
{
"file_path": "/path/to/document.pdf",
"max_chars": 50000
}Returns extracted plain text. max_chars is optional (default: no limit).
Get file metadata without extracting full text.
{
"file_path": "/path/to/document.hwp"
}Returns {name, size_bytes, extension, supported, format}.
cd h:/Git/terrydocmcp # Windows
# or
cd ~/git/terrydocmcp # macOS (Mac Mini)
pip install -r requirements.txt# Direct
python server.py
# Via MCP (stdio transport — used by OpenClaw/blog-agent)
python server.pyRegistered in mcporter as terry-doc:
/Users/terry/git/terrydocmcp/server.py
Python: /opt/homebrew/bin/python3.13
Configured in blog-agent-api/orchestrator.py as an SSH stdio MCP server:
servers["terry-doc"] = {
"type": "stdio",
"command": "ssh",
"args": [..., "/opt/homebrew/bin/python3.13", "/Users/terry/git/terrydocmcp/server.py"],
}Available to: researcher, writer agents.
| Item | Value |
|---|---|
| Python | 3.13 (Mac Mini: /opt/homebrew/bin/python3.13) |
| Transport | stdio (FastMCP default) |
| Mac Mini path | /Users/terry/git/terrydocmcp/server.py |
| Version | Date | Notes |
|---|---|---|
| 0.1.0 | 2026-03-08 | Initial release — HWP/HWPX/DOCX/XLSX/PPTX/PDF/text support |