markitdown
📄 Professional MCP server for converting 29+ file formats to Markdown - Perfect for Claude Desktop and AI workflows!
claude mcp add --transport stdio trsdn-markitdown-mcp markitdown-mcp
How to use
MarkItDown MCP Server is a Python-based MCP server that converts a wide range of file formats into clean, structured Markdown using the MarkItDown library. It exposes MCP tools such as convert_file to process a single file, convert_directory to process all supported files in a directory, and list_supported_formats to query the formats it can handle. You can run the server directly (via the markitdown-mcp executable) or via a Python entry point (e.g., python run_server.py) depending on your setup. In Claude Desktop and other MCP clients, you typically configure the MCP server by specifying the command markitdown-mcp and an empty args array, allowing the client to communicate with the MCP server through the MCP protocol.
To use the tools, connect to the server from your MCP client and invoke the available commands. For example, convert_file accepts a file_path to translate a document into Markdown, list_supported_formats returns the supported file types, and convert_directory processes all compatible files within a given input directory and writes Markdown outputs while preserving the directory structure. The server also supports environment variable configuration via a .env file for deployment-time customization.
How to install
Prerequisites:
- Python 3.10 or newer
- Git
- Optional: pipx for easier tool installation
Option A: Install with pipx (recommended)
- Install the MCP server:
pipx install git+https://github.com/trsdn/markitdown-mcp.git
- Install all dependencies for full functionality:
pipx inject markitdown-mcp 'markitdown[all]' openpyxl xlrd pandas pymupdf pdfplumber
Option B: Direct usage / development install
- Clone the repository and install in editable mode:
git clone https://github.com/trsdn/markitdown-mcp.git
cd markitdown-mcp
pip install -e .
- If you want all features, install extra dependencies similarly:
pip install -e .[all]
Option C: Quick verification
- Start the MCP server:
markitdown-mcp --help
Or, if you’re running from source:
python run_server.py --help
Additional notes
Tips and common considerations:
- This MCP server relies on MarkItDown and many optional dependencies to support the widest range of formats (PDFs, Excel, images, audio, etc.). If you encounter MissingDependencyException errors, install the Complete Install dependencies as shown in the installation instructions.
- You can inject additional dependencies for specific formats using your MCP client or via pipx/pip installations, for example openpyxl xlrd pandas for Excel support, pymupdf and pdfplumber for PDF processing, and pydub/speechrecognition for audio transcription.
- Environment variables can influence behavior via a .env file. The server supports environment variable configuration to customize paths, API keys, or tool toggles as needed.
- Claude Desktop users should add the MCP server entry with command markitdown-mcp and an empty args array, as shown in the Quick Start, to integrate smoothly with Claude workflows.
- If you see UnicodeDecodeError with some Markdown outputs, it is a known limitation of the MarkItDown workflow; consider adjusting your environment or output encoding as needed.
- The server preserves directory structure in outputs and supports batch processing of entire directories with convert_directory.
Related MCP Servers
vikunja
Model Context Protocol server for Vikunja task management. Enables AI assistants to interact with Vikunja instances via MCP.
python-notebook
Lightweight Python Notebook MCP - Enable AI assistants to create, edit, and view Jupyter notebooks via Model Context Protocol
claude-additional-models
Reduce Claude Desktop consumption by 10x - Integrate Google's Gemini or Z.ai's GLM-5 (744B params) with Claude via MCP for intelligent task delegation
keycloak-model-context-protocol
MCP server implementation for Keycloak user management. Enables AI-powered administration of Keycloak users and realms through the Model Context Protocol (MCP). Seamlessly integrates with Claude Desktop and other MCP clients for automated user operations.
seq
A Model Context Protocol (MCP) server providing AI assistants with tools to search, stream, and analyze events from Seq structured logging servers.
gmail
A robust Model Context Protocol server for Gmail integration with intelligent authentication and comprehensive email operations