markdownify-mcp
Markdownify MCP is a TypeScript-based server that converts PDFs, images, audio, web pages, and office documents into Markdown format. It integrates with Claude and other AI models via the Model Context Protocol, enabling automated content extraction and transformation.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | zcaceres/markdownify-mcp |
| Owner | zcaceres |
| Primary language | TypeScript |
| License | MIT — OSI-approved |
| Stars | 2.8k |
| Forks | 233 |
| Open issues | 21 |
| Latest release | v1.1.0 (2026-05-01) |
| Last updated | 2026-07-02 |
| Source | https://github.com/zcaceres/markdownify-mcp |
What markdownify-mcp is
A Node.js/TypeScript MCP server wrapping the Python markitdown library and additional CLI tools (repomix) to provide 10+ conversion tools across file types and web sources. Uses environment-based path restrictions and supports Docker deployment with configurable extras.
Get the markdownify-mcp source
Clone the repository and explore it locally.
git clone https://github.com/zcaceres/markdownify-mcp.gitcd markdownify-mcp# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires bun (or Node.js) and Python virtual environment; setup script creates `.venv` automatically but adds first-run complexity.
- Audio transcription and image OCR depend on `markitdown[all]` extras; slim deployments fail silently without them. Audit feature requirements before deployment.
- Set `MD_ALLOWED_PATHS` to restrict file-input tool access; production deployments should never run unrestricted.
- External API calls (YouTube, Bing) may introduce rate limits or require auth tokens—document upstream dependencies.
- Output quality varies by source type; test conversion quality on representative samples before automation.
When to avoid it — and what to weigh
- Requires pixel-perfect formatting preservation — Markdown output trades layout fidelity for readability; complex PDFs with multi-column layouts, charts, or precise spacing may lose structural information.
- Handling sensitive/proprietary documents offline-only — Some tools (e.g., Bing search, YouTube transcription) require external API calls; if data exfiltration is a concern, audit network configuration and consider self-hosted alternatives.
- Production use without path sandboxing — The `MD_ALLOWED_PATHS` feature is optional; deploying without it exposes arbitrary filesystem read access. Requires explicit hardening in production.
- Audio transcription without external dependency management — Audio and OCR features require optional Python extras; Docker slim image omits them. Adds operational overhead for dependency versioning.
License & commercial use
Licensed under MIT (permissive OSI license). Source is freely available; no proprietary or copyleft restrictions.
MIT license permits commercial use, modification, and distribution with attribution and liability waiver. No license fees or vendor lock-in. Review upstream dependencies (markitdown, repomix) for their own license compatibility if bundling.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
File access: `MD_ALLOWED_PATHS` enforces directory sandbox; omitting it allows unrestricted reads. External APIs: YouTube and Bing calls leak request metadata upstream. Subprocess execution (markitdown): standard Python library risk if inputs are untrusted. Secrets: no credential management evident; audio/search features may require API keys (not documented). Requires review of upstream libraries (markitdown, repomix) for known CVEs.
Alternatives to consider
Pandoc + custom wrapper
Mature document converter with wider format support, but lacks web/audio tools; requires custom MCP glue code.
Unstructured.io (library)
Purpose-built document ingestion for LLMs; more feature-rich but heavier dependency and different licensing model.
Claude Files API + native document parsing
Native Claude integration; no server deployment needed, but limited format coverage and Anthropic pricing/ToS apply.
Build on markdownify-mcp with DEV.co software developers
Evaluate markdownify-mcp for your document ingestion pipeline. Test feature completeness, set up path sandboxing, and review upstream dependencies before production deployment.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
markdownify-mcp FAQ
Can I use this in production without path restrictions?
Why do audio and OCR features fail in the Docker slim image?
What happens if an external API (YouTube, Bing) is unavailable?
Is this suitable for processing sensitive/proprietary documents?
Work with a software development agency
DEV.co is a software development agency delivering custom software development services to companies building on open source. Our software developers and web developers design, integrate, and ship production systems — spanning web development, APIs, AI, data, and cloud. If markdownify-mcp is part of your mcp servers roadmap, our team can implement, customize, migrate, and maintain it.
Ready to automate content extraction?
Evaluate markdownify-mcp for your document ingestion pipeline. Test feature completeness, set up path sandboxing, and review upstream dependencies before production deployment.