markitdown-mcp
An MCP server for the "markitdown" library.
What it is and what it does
markitdown-mcp wraps the markitdown library as a Model Context Protocol server, making document-to-markdown conversion available to MCP clients like Claude Desktop. It exposes a single tool, convert_to_markdown(uri), that accepts URIs pointing to local files, remote HTTP/HTTPS resources, or embedded data, and returns the markdown equivalent. The server can run in three modes: STDIO (default, suitable for local integration), Streamable HTTP with SSE (for remote access), or Docker (recommended for Claude Desktop integration).
The package is designed for developers and AI assistants who need to ingest documents in various formats and work with them as markdown. It handles the transport layer and MCP protocol details, leaving the actual conversion to markitdown. Early beta status means the tool interface or command-line options may change; the repository is actively maintained and the underlying markitdown library is widely used.
Use it for:
- Integrate document conversion into Claude Desktop workflows by running the MCP server in Docker and configuring it in claude_desktop_config.json.
- Build a local markdown conversion service accessible over HTTP/SSE for applications that need to batch-convert web pages or files.
- Enable AI assistants to read and analyze documents in their native formats (PDF, Word, HTML) by converting them to markdown on-the-fly.
- Debug MCP server behavior using the mcpinspector tool to test the convert_to_markdown tool against various URIs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Exposes MarkItDown's document-to-markdown conversion as an MCP server, callable via STDIO, HTTP, or SSE with a single tool that accepts http, https, file, or data URIs.
Yes, if you need to expose MarkItDown's conversion capability to an MCP client (especially Claude Desktop) or build a markdown conversion microservice. The low install friction, active maintenance, and permissive license make it a straightforward choice. Be aware it is in early beta (0.0.1a4), so expect possible API changes; also note the server has no built-in authentication, so bind HTTP/SSE modes to localhost in production.
Install
markitdown-mcp on PyPI
pip
pip install markitdown-mcpuv
uv add markitdown-mcppoetry
poetry add markitdown-mcpInstalling markitdown-mcp
Before you install
Low friction install with two lightweight runtime dependencies. Active maintenance with recent commits; early beta status (0.0.1a4) means the API may shift.
License in practice
MIT license permits commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install markitdown-mcp
markitdown-mcp
# Or with HTTP/SSE:
markitdown-mcp --http --host 127.0.0.1 --port 3001
Requires Python >=3.10; MCP client (e.g., Claude Desktop) needed to call the server's convert_to_markdown tool.
Verify before relying
- Whether the package handles all document types that markitdown itself supports (PDF, Word, HTML, images, etc.)
- Performance characteristics when converting large documents or remote URIs
- Whether error handling and timeouts are documented for network failures
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — markitdown, mcp |
| Maintenance | actively maintained — 448 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 196,167/month — #9,796 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: markitdown_mcp-0.0.1a4-py3-none-any.whl
Tags
More Markup packages
PyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
markdown-it-pyA Python markdown parser that converts markdown…
permissive · top 100 on PyPI
beautifulsoup4Beautiful Soup parses HTML and XML documents…
permissive · top 100 on PyPI
et-xmlfileet_xmlfile writes large XML files with minimal…
permissive · top 1,000 on PyPI
tomlkitParses and edits TOML files while preserving…
permissive · top 1,000 on PyPI
docstring-parserParses Python docstrings in ReST, Google,…
permissive · top 1,000 on PyPI
markitdownConverts various file formats (PDF, Excel,…
permissive · top 5,000 on PyPI
mcp-proxymcp-proxy bridges Model Context Protocol (MCP)…
permissive · top 5,000 on PyPI
markitdown-no-magikaConverts various file formats (PDF, Excel,…
permissive · top 15,000 on PyPI
duckduckgo-mcp-serverProvides web search and content fetching…
permissive · top 15,000 on PyPI
mcp-server-fetchProvides a Model Context Protocol server that…
permissive · top 5,000 on PyPI
mcpoExposes MCP (Model Context Protocol) servers as…
unclear · top 15,000 on PyPI
excel-mcp-serverProvides a Model Context Protocol server that…
unclear · top 15,000 on PyPI
pagerduty-mcpAn MCP (Model Context Protocol) server that…
unclear · top 15,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
minimax-coding-plan-mcpAn MCP server that connects MiniMax's AI APIs…
permissive · top 15,000 on PyPI