Microsoft's MarkItDown project has quickly become one of the most useful tools for converting documents into clean, LLM-friendly Markdown. The newest addition — an MCP (Model Context Protocol) server — takes things to a whole new level.
If you're using Claude Desktop, OpenAI-compatible clients, or any LLM that supports MCP, you can now integrate MarkItDown directly into your workflow and convert files on demand. This guide walks you through what the MCP server is, how to install it, and how to connect it to your LLM environment.
What Is the MarkItDown MCP Server?
The MCP server exposes MarkItDown's document-conversion capabilities through the Model Context Protocol, allowing LLM apps to:
- Convert PDFs, Word docs, PowerPoints, images, audio, and more into Markdown
- Access structured text content directly inside the LLM context
- Automate ingestion of documents without writing custom scripts
- Use MarkItDown as a "document-to-Markdown engine" inside your AI tools
Step 1 — Install MarkItDown
MarkItDown requires Python 3.10+. Start by creating a virtual environment, then install with all optional dependencies:
python -m venv .venv
source .venv/bin/activate
pip install "markitdown[all]"
The [all] extras ensure support for PDFs, DOCX, PPTX, images, audio transcription, YouTube transcripts, and more.
Step 2 — Install the MCP Server Package
The MCP server lives in a companion package called markitdown-mcp:
pip install markitdown-mcp
Or install from source if you prefer:
git clone https://github.com/microsoft/markitdown.git
cd markitdown/packages/markitdown-mcp
pip install -e .
Step 3 — Configure Your LLM Client
Claude Desktop supports MCP natively. Open your Claude MCP config file:
| OS | Config path |
|---|---|
| macOS | ~/Library/Application Support/Claude/mcp.json |
| Windows | %APPDATA%/Claude/mcp.json |
| Linux | ~/.config/Claude/mcp.json |
Add the MarkItDown server entry:
{
"mcpServers": {
"markitdown": {
"command": "markitdown-mcp"
}
}
}
Save the file and restart Claude Desktop. Claude will automatically detect the server and expose MarkItDown tools inside the app.
Step 4 — Use MarkItDown Inside Your LLM
Once connected, you can ask your LLM to convert files directly in the chat. For example:
"Convert this PDF to Markdown using the MarkItDown MCP tool."
The MCP server handles the conversion and returns clean, structured Markdown. You can also:
- Drag-and-drop documents and request Markdown output
- Build workflows that automatically extract structured text
- Use MarkItDown as a preprocessing step for RAG pipelines
Optional: Test the MCP Server Manually
Confirm the server is working before connecting your client:
markitdown-mcp --help
# Or start in debug mode
markitdown-mcp --debug
Advanced: Use MarkItDown Programmatically
Even with MCP enabled, you can still use the Python API directly — useful for hybrid workflows combining MCP automation with custom scripts:
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("example.pdf")
print(result.text_content)
Summary
With the MCP server installed and connected, you have a powerful document-conversion engine built directly into your AI tools. Whether you're processing PDFs, extracting tables, converting PowerPoints, or transcribing audio, MarkItDown gives you clean Markdown that LLMs understand natively — no custom scripts required.
Tags