MarkItDown is Microsoft's utility for converting files — PDF, Word, PowerPoint, Excel, images, HTML and more — into clean Markdown that LLMs read well. Its MCP server exposes that as a tool so your agent can ingest documents directly. Here is the no-Docker setup.
Setup — npx (no Docker)
The official MarkItDown MCP ships as a Python package, but an npx wrapper runs it without Docker and auto-manages the Python environment:
{
"mcpServers": {
"markitdown": {
"command": "npx",
"args": ["-y", "markitdown-mcp-npx"]
}
}
}
The -y flag is required so npx does not hang on an install prompt inside the client. Requires Node 16+ and Python 3.10+ (the wrapper handles the Python venv). Restart the client; see MCP config file location.
What it exposes
A single tool, convert_to_markdown, that takes a file path or URI and returns Markdown — handling a wide range of formats. Great for feeding reports, slide decks or scanned docs into an agent.
Verify
Ask: "Convert ~/Downloads/report.pdf to Markdown and summarise the key points." Clean Markdown back means it works.
Common problems
- Server hangs on start — you dropped the
-yflag; add it. python: command not found/ version error — Python 3.10+ must be on PATH; the wrapper needs it.- First run is slow — it builds a virtual environment once, then reuses it.
- No tools in client — see Claude Desktop MCP not loading.
Going further
MarkItDown pairs naturally with a filesystem server (read the files) and works in any document workflow. Browse the developer tools category or curated loadouts. For PDFs specifically, it is a clean alternative to bespoke parsers.