SuperAPI AI 工具集

markdownify-mcp

Markdownify MCP Server 是一个基于 Model Context Protocol(MCP)的服务器,旨在将多种文件类型和网络内容转换为 Markdown 格式。它提供一系列工具,可将 PDF、图像、音频(含转录)、DOCX、XLSX、PPTX 文件以及 YouTube 视频字幕、Bing 搜索结果、普通网页等转换为易于阅读和分享的 Markdown 文本,并支持获取已有的 Markdown 文件。

访问官网

工具介绍

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 结尾。

使用方式

项目主页提供了基本的使用步骤:

  1. 克隆仓库。
  2. 安装依赖:bun install。预安装步骤会在 .venv 创建 Python 虚拟环境并安装 markitdown[all]。
  3. 构建项目:bun run build。
  4. 启动服务器: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 许可证。