================== /// MCP /// /// MCP /// ================== [server:online] [protocol:ready]
mcp-pandoc
by vivekVells
Model-Context-Protocol (MCP) server that wraps Pandoc to convert documents between Markdown, HTML, PDF, DOCX, LaTeX, reStructuredText, EPUB, ODT, IPYNB and TXT formats.
338
44
Open Source01
convert-contents
Transforms document content or files between supported formats (e.g., markdown, HTML, PDF, DOCX, RST, LaTeX, EPUB, TXT, IPYNB, ODT) using Pandoc.
Installation
1. Install Pandoc (required by the server)
• macOS: brew install pandoc
• Ubuntu: sudo apt-get install pandoc
• Windows: Download installer from https://pandoc.org/install.html
2. Install the server package from PyPI
pip install --upgrade mcp-pandoc
3. (Optional) Create a virtual-env first so the package and its dependencies are isolated:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
4. Run the development server
mcp-pandoc serve # CLI entry-point installed with the package
# or explicitly with uvicorn
uvicorn mcp_pandoc.app:app --host 0.0.0.0 --port 8000
5. Verify it is running
-F "input=@sample.md" \
-F "from=markdown" \
-F "to=pdf" -o sample.pdf
curl -X POST http://localhost:8000/convert \
6. Docker (alternative deploy)
docker pull ghcr.io/vivekVells/mcp-pandoc:latest
docker run -p 8000:8000 ghcr.io/vivekVells/mcp-pandoc:latest
Required environment variables (optional overrides)
PANDOC_PATH – Absolute path to pandoc binary if not on PATH
PORT – HTTP port (default 8000)
Documentation
License: MIT License
Updated 7/30/2025