markitdown-mcp
An MCP server for the "markitdown" library.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.10; MCP client (e.g., Claude Desktop) needed to call the server's convert_to_markdown tool.
- 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 · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; suitable for most projects.
last release 2025-05-23 (448 days) · last repo commit 2026-07-29 · 173,788 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 196,167 downloads/mo, #9,796 on PyPI
Alternatives
Verify before relying
pip install markitdown-mcp
markitdown-mcp
# Or with HTTP/SSE:
markitdown-mcp --http --host 127.0.0.1 --port 3001- 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
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 on it.
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
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.
Requires Python >=3.10; MCP client (e.g., Claude Desktop) needed to call the server's convert_to_markdown tool.
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
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 packagesmarkitdownmcp |
| 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 |
| Classifiers | Development Status :: 4 - BetaProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy |
Evidence: markitdown_mcp-0.0.1a4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “mcp server markdown conversion”
- markitdown-mcpExposes MarkItDown's document-to-markdown conversion as an MCP…
- mcp-server-fetchProvides a Model Context Protocol server that fetches web pages and…
- doclingDocling parses diverse document formats—PDF, DOCX, PPTX, XLSX, HTML,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Markup packages
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
A Python markdown parser that converts markdown to HTML following the CommonMark specification, with support for plugins and custom syntax rules.
Install it if you need reliable markdown-to-HTML conversion.
Beautiful Soup parses HTML and XML documents into a navigable tree, providing Pythonic methods to search, iterate, and modify the parsed content.
Install it if you need to parse or extract data from markup documents.
et_xmlfile writes large XML files with minimal memory overhead by serializing elements to disk as they are created, rather than holding the entire tree in memory.
Install it if incremental XML writing fits your use case; skip it if your XML documents are small or you already use lxml.
Parses and edits TOML files while preserving formatting, comments, and structure, then serializes them back with layout intact.
Install it if you're building tools that touch TOML files and user readability of the source matters.
Parses Python docstrings in ReST, Google, Numpydoc, and Epydoc formats, extracting structured information like descriptions, parameters, return types, and exceptions.
Install it if you need to programmatically read and extract structured data from Python docstrings.
See also markitdown · mcp-proxy · markitdown-no-magika · duckduckgo-mcp-server · mcp-server-fetch · mcpo · excel-mcp-server · pagerduty-mcp · mcp · minimax-coding-plan-mcp