
Markdownify MCP Server
MCPConverts PDF, Word, Excel, PowerPoint, images, audio, web pages and YouTube transcripts into Markdown that agents can read and cite. Built on Microsoft MarkItDown; the Docker image lacks audio transcription and image recognition, so build locally for full features.
Markdownify MCP Server

Markdownify is a Model Context Protocol (MCP) server that converts various file types and web content to Markdown format. It provides a set of tools to transform PDFs, images, audio files, web pages, and more into easily readable and shareable Markdown text.
Features
- Convert multiple file types to Markdown:
- Images
- Audio (with transcription)
- DOCX
- XLSX
- PPTX
- Convert web content to Markdown:
- YouTube video transcripts
- Bing search results
- General web pages
- Retrieve existing Markdown files
Getting Started
-
Clone this repository
-
Install dependencies:
bun installThe
preinstallstep creates a Python virtual environment at.venvand installsmarkitdown[all]. -
Build the project:
bun run build -
Start the server:
bun start
Development
- Use
bun run devto start the TypeScript compiler in watch mode - Modify
src/server.tsto customize server behavior - Add or modify tools in
src/tools.ts
Usage with Desktop App
To integrate this server with a desktop app, add the following to your app's server configuration:
{
"mcpServers": {
"markdownify": {
"command": "node",
"args": [
"{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
]
}
}
}
Environment variables
All paths default to sensible values; override only when the defaults don't fit your install layout.
| Variable | Default | Purpose |
|---|---|---|
MARKITDOWN_PATH | <project>/.venv/bin/markitdown, then markitdown on PATH | Absolute path to the markitdown executable. Set this when you've installed markitdown system-wide (e.g. pipx install "markitdown[pdf]") instead of using the bundled venv. |
REPOMIX_PATH | <project>/node_modules/.bin/repomix, then repomix on PATH | Absolute path to the repomix executable used by git-repo-to-markdown. |
MD_ALLOWED_PATHS | unset (unrestricted) | Path-delimiter-separated list (: on POSIX, ; on Windows) of directories the server is allowed to read. When set, all file-input tools (pdf-to-markdown, get-markdown-file, etc.) reject paths outside these directories. |
MD_SHARE_DIR | unset | Deprecated alias for MD_ALLOWED_PATHS (single directory). Still honored for backward compatibility. |
Usage with Docker
Build and run:
docker build -t markdownify-mcp .
docker run --rm -i \
-v "$HOME/Documents:/data:ro" \
-e MD_ALLOWED_PATHS=/data \
markdownify-mcp
Notes for the Docker MCP catalog (mcp/markdownify):
- Mount any host directories you want the server to read into the container, then pass the container paths to the tools (e.g.
/data/foo.pdf, not/Users/you/Documents/foo.pdf). - Set
MD_ALLOWED_PATHSto the colon-separated list of mounted directories so the server enforces a read boundary that matches the bind mount. - The published Docker image installs
markitdown[pdf]only — audio transcription and image OCR (audio-to-markdown,image-to-markdown) require the[all]extras and will fail in the slim image. Use the local install (bun install) for the full feature set.
Available Tools
-
youtube-to-markdown: Convert YouTube videos to Markdown -
pdf-to-markdown: Convert PDF files to Markdown -
bing-search-to-markdown: Convert Bing search results to Markdown -
webpage-to-markdown: Convert web pages to Markdown -
image-to-markdown: Convert images to Markdown with metadata -
audio-to-markdown: Convert audio files to Markdown with transcription -
docx-to-markdown: Convert DOCX files to Markdown -
xlsx-to-markdown: Convert XLSX files to Markdown -
pptx-to-markdown: Convert PPTX files to Markdown -
get-markdown-file: Retrieve an existing Markdown file. File extension must end with: *.md, *.markdown.OPTIONAL: set
MD_ALLOWED_PATHSto restrict every file-input tool to a list of directories, e.g.MD_ALLOWED_PATHS=/data/in:/data/out bun start.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Recursos relacionados

MarkItDown-MCP
MCPFrom Microsoft: converts PDF, Word, Excel, PowerPoint, HTML and other files or URLs to Markdown so agents can read and search them. A single convert_to_markdown tool over STDIO or local HTTP.
microsoft/markitdown191k
mcp-pandoc
MCPConverts between Markdown, Word, HTML, LaTeX, EPUB and more with Pandoc, exports PDF and PPTX, and can apply a Word template for consistent styling, handy for formatting manuscripts and handouts. Needs Pandoc and uv; PDF export also needs TeX Live.
vivekVells/mcp-pandoc583
calibre
CLIOpen-source e-book manager whose command-line tools (ebook-convert, ebook-meta, calibredb) batch-convert between EPUB, MOBI, AZW3, PDF, DOCX and more and manage library metadata. The install command is Linux-only; on macOS and Windows use the installer.
kovidgoyal/calibre26.2k
anydoc
CLIFrom Firecrawl: converts Word, PowerPoint, Excel, PDF, EPUB, RTF and more into clean Markdown locally in milliseconds, keeping headings, tables, footnotes and formulas so agents can read attachments. Needs Node.js; optional Firecrawl cloud OCR for scans uploads the whole file.
firecrawl/anydoc22.9k
LaTeX Document Skill
SkillDescribe what you need and get a typeset PDF: turn handwritten notes or scanned textbooks into LaTeX handouts and cheat sheets, make exams with answer keys, write papers, theses, posters, resumes and letters. 27 templates plus chart and mail-merge scripts. Needs TeX Live (install script included).
ndpvt-web/latex-document-skill787
PaddleOCR MCP Server
MCPOfficial PaddleOCR MCP: text recognition and layout parsing for images and PDFs (PP-OCR, PP-StructureV3, PaddleOCR-VL), returning text or Markdown. Runs inference locally, or calls the official API or a self-hosted service.
PaddlePaddle/PaddleOCR91.2k