Markdownify MCP Server 是一个 Model Context Protocol(MCP)服务器,用于将各种文件类型和网络内容转换为 Markdown 格式。它提供一组工具,可将 PDF、图片、音频文件、网页等内容转换为易于阅读和分享的 Markdown 文本。
用途
该项目旨在解决将不同来源的内容统一转换为 Markdown 的需求,便于后续阅读、整理或分享。适用于需要将文档、网页、多媒体内容快速转为 Markdown 的场景,例如笔记整理、内容归档、资料收集等。
主要能力
- 将多种文件类型转换为 Markdown:PDF、图片、音频(带转录)、DOCX、XLSX、PPTX。
- 将网络内容转换为 Markdown:YouTube 视频字幕、Bing 搜索结果、普通网页。
- 检索已有的 Markdown 文件。
提供的工具
youtube-to-markdown:将 YouTube 视频转换为 Markdown。pdf-to-markdown:将 PDF 文件转换为 Markdown。bing-search-to-markdown:将 Bing 搜索结果转换为 Markdown。webpage-to-markdown:将网页转换为 Markdown。image-to-markdown:将图片转换为带有元数据的 Markdown。audio-to-markdown:将音频文件转换为带转录的 Markdown。docx-to-markdown:将 DOCX 文件转换为 Markdown。xlsx-to-markdown:将 XLSX 文件转换为 Markdown。pptx-to-markdown:将 PPTX 文件转换为 Markdown。get-markdown-file:检索已有的 Markdown 文件。文件扩展名必须以*.md或*.markdown结尾。
使用方式
项目主页提供了基本的使用步骤:
- 克隆仓库。
- 安装依赖:
bun install。预安装步骤会在.venv创建 Python 虚拟环境并安装markitdown[all]。 - 构建项目:
bun run build。 - 启动服务器:
bun start。
可使用 bun run dev 以监听模式启动 TypeScript 编译器。修改 src/server.ts 可自定义服务器行为,在 src/tools.ts 中添加或修改工具。
与桌面应用集成
若要将该服务器与桌面应用集成,可将以下内容添加到应用的服务器配置中(具体配置内容官方文本未提供)。
环境变量
所有路径都有合理的默认值,仅在默认值不适用于你的安装布局时进行覆盖。可通过设置 MD_ALLOWED_PATHS 来限制所有文件输入工具只能访问特定目录列表,例如 MD_ALLOWED_PATHS=/data/in:/data/out bun start。
Docker 使用说明
针对 Docker MCP 目录(mcp/markdownify)的说明:
- 将希望服务器读取的主机目录挂载到容器中,然后将容器路径传递给工具(例如
/data/foo.pdf,而不是/Users/you/Documents/foo.pdf)。 - 将
MD_ALLOWED_PATHS设置为挂载目录的冒号分隔列表,以便服务器强制执行与绑定挂载匹配的读取边界。 - 发布的 Docker 镜像仅安装
markitdown[pdf]—— 音频转录和图片 OCR(audio-to-markdown、image-to-markdown)需要[all]额外组件,在精简镜像中会失败。如需完整功能,请使用本地安装(bun install)。
适用场景与限制
Markdownify MCP Server 适用于需要将多种文件或网络内容统一转为 Markdown 的用户,特别是使用支持 MCP 的桌面应用或开发环境的场景。其限制包括:Docker 精简镜像不支持音频转录和图片 OCR;文件工具可通过 MD_ALLOWED_PATHS 限制访问目录;get-markdown-file 仅支持特定扩展名。项目采用 MIT 许可证。