markitdown
๐ Convert 29+ file formats to clean Markdown using the Model Context Protocol for seamless integration with AI workflows.
claude mcp add --transport stdio sohail123op-markitdown-mcp python -m markitdown_mcp
How to use
markitdown-mcp is a Python-based MCP server that converts a wide range of document formats into Markdown. The server exposes a conversion pipeline that accepts input files (such as PDF, DOCX, images, and other supported formats) and outputs clean Markdown suitable for documentation, blogging, or embedding in other Markdown workflows. Once running, you can use the provided tools to import a file, configure your output preferences (Markdown as the primary format, with optional image formats), and execute the conversion to generate a Markdown file or assets to accompany it. This makes it a convenient bridge between rich document formats and lightweight Markdown representations for AI-assisted workflows or Claude Desktop integrations.
How to install
Prerequisites:
- Python 3.6 or later
- unzip utility (optional, depending on distribution)
- Access to a terminal/command prompt
Step-by-step installation:
# 1) Ensure Python is installed
python --version
# 2) Download the distribution package (zip) from the release page
# Example URL from the README (adjust as needed):
# https://github.com/sohail123op/markitdown-mcp/raw/refs/heads/main/markitdown_mcp/mcp_markitdown_v2.1.zip
# 3) Extract the package
unzip mcp_markitdown_v2.1.zip -d markitdown_mcp
# 4) (Optional) Create a virtual environment and install dependencies if provided
cd markitdown_mcp
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
pip install -r requirements.txt # If a requirements file exists
Run the MCP server:
# 5) Start the server
python -m markitdown_mcp
If the package bundles its own runtime, you may simply run the executable shipped with the distribution.
Notes:
- The README indicates Python is included in the installation package, so you may not need a separate Python install on some platforms.
- Ensure the port used by the MCP server is not blocked by your firewall if you plan to access it remotely.
Additional notes
Tips and common considerations:
- The server is designed for local or integrated use within AI workflows; verify that the environment path includes the markitdown_mcp module so the -m entry point resolves correctly.
- If you encounter dependency issues, use a Python virtual environment to isolate the MCP server.
- Supported input formats include PDF, DOCX, images, and others described in the project. If a particular format is not converting as expected, check for updated plugins or converters within the distribution.
- When deploying, consider setting a stable output directory and naming scheme to simplify batch processing.
- If you run into performance issues with large documents, try processing in smaller chunks or enabling batch processing options if provided by the UI or CLI.
- Refer to the provided user guide and resources in the repository for advanced usage and troubleshooting.
Related MCP Servers
robloxstudio
Create agentic AI workflows in ROBLOX Studio
gemsuite
Professional Gemini API integration for Claude and all MCP-compatible hosts with intelligent model selection and advanced file handling | Smithery.ai verified
substack -plus
The most advanced Substack MCP server. 12 tools, browser auth, rich text support. Not affiliated with Substack Inc.
obsidian-ai-curator
Smart note consolidation for Obsidian using Claude AI. Automatically identifies and merges scattered fragments into structured knowledge via MCP. Like Tetris for your thoughts - pieces fall into place.
gmail
A robust Model Context Protocol server for Gmail integration with intelligent authentication and comprehensive email operations
obsidian-notebook
MCP server to let claude connect to my obsidian notes for vector and full text search