JP
JP Codes
Change theme
AI Tools

How to Set Up the MarkItDown MCP Server

Microsoft's MarkItDown can convert PDFs, Word docs, PowerPoints, and more into clean Markdown. With the new MCP server, you can plug it directly into Claude Desktop or any MCP-compatible LLM client.

James Platt

James Platt

March 9, 2026 · 5 min read

5 min read
MarkItDown MCP Server Setup

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:

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:

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

James Platt

James Platt

Web Developer

James is a Microsoft-qualified C# .NET developer with extensive experience building robust, data-rich web applications. He writes about web development, software architecture, and best practices at JP Codes.

Read more about James

More articles