MarkItDown:一款好用的将文件和办公文档转换为Markdown的AI工具!
MarkItDown是什么?
MarkItDown是一款由微软支持的能够将多种文件格式(比如 PDF、Word、Excel、PowerPoint、图像、音频、网页等)转换为 Markdown 格式的开源工具。它还特别针对LLM的应用进行了优化,使输出的内容不仅适合人工阅读,也是 LLM 的理想输入格式。
MarkItDown功能特点
多格式支持:支持转换 PDF、Word、Excel、ppt、图片(含 OCR 识别)、音频(语音转文字)、HTML、网页(如 YouTube 链接)等格式为结构化 Markdown。并且保留标题层级、表格结构等核心内容,适合 ai 理解与分析。
MCP 协议集成:作为 MCP 服务器,允许 AI 工具(如 Claude Desktop)通过标准协议调用文件转换功能,无需编程即可实现“语音指令转文件处理”。例如,用户说“将这份 PDF 转成 Markdown”,AI 可自动调用 MarkItDown 完成转换。
MarkItDown应用场景
学术研究:快速转换论文、文献为 Markdown,便于文本分析。
办公自动化:将会议录音、PPT 等转为结构化笔记。
AI 工作流:结合 LLM 实现“语音指令→文件处理→内容总结”全链路自动化。
MarkItDown如何安装使用?
1. 安装与启动
命令行模式:
pip install markitdown-mcp markitdown-mcp # 启动 STDIO 模式 markitdown-mcp --sse --host 127.0.0.1 --port 3001 # 启动 SSE 服务[2,4,5](@ref)
Docker 部署:
docker build -t markitdown-mcp:latest . docker run -it --rm markitdown-mcp:latest # 默认 STDIO 模式 docker run -it --rm -v /本地目录:/workdir markitdown-mcp:latest # 挂载本地文件[4,5](@ref)
2. 与 Claude Desktop 配置
在 claude_desktop_config.json 中添加以下配置,启用 MarkItDown MCP 服务:
{ "mcpServers": { "markitdown": { "command": "docker", "args": ["run", "--rm", "-i", "-v", "/本地目录:/workdir", "markitdown-mcp:latest"] } } }
配置后,Claude 可直接调用文件转换功能。
3. Python API 调用
from markitdown import MarkItDown md = MarkItDown(enable_plugins=True) result = md.convert("input.pdf") # 转换为 Markdown 文本 print(result.text_content)
支持通过 llm_client 参数接入 LLM 模型(如 GPT-4o)优化输出。
github:https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp