Markdown转换服务器

Markdownify MCP服务器是一个将多种文件类型和网页内容转换为Markdown格式的工具,支持PDF、图像、音频文件、网页等内容的转换。

  • by zcaceres
  • TypeScript
  • 本地部署
  • 2996 星标
  • 更新于
在 GitHub 查看 zcaceres/markdownify-mcp

使用说明

标记MCP服务器

Markdownify是一个模型上下文协议(MCP)服务器,它将各种文件类型和web内容转换为Markdown格式。它提供了一套工具,可以将PDF、图像、音频文件、网页等转换为易于阅读和共享的Markdown文本。

特性

  • 将多种文件类型转换为Markdown:
    • PDF
    • 图像
    • 音频(带转录)
    • DOCX 文件
    • XLSX文件
    • PPT文件
  • 将网页内容转换为Markdown:
    • YouTube视频转录
    • Bing搜索结果
    • 一般网页
  • 检索现有的Markdown文件

入门指南

  1. 克隆此存储库

  2. 安装依赖项:

    bun install
    

    这 preinstall 步骤在以下位置创建Python虚拟环境 .venv 并安装 markitdown[all].

  3. 构建项目:

    bun run build
    
  4. 启动服务器:

    bun start
    

发展

  • 使用 bun run dev 在监视模式下启动TypeScript编译器
  • 修改 src/server.ts 自定义服务器行为
  • 在中添加或修改工具 src/tools.ts

使用桌面应用程序

要将此服务器与桌面应用程序集成,请将以下内容添加到应用程序的服务器配置中:

{
  "mcpServers": {
    "markdownify": {
      "command": "node",
      "args": [
        "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
      ]
    }
  }
}

环境变量

所有路径默认为合理值;仅当默认设置不适合您的安装布局时才进行覆盖。

变量 默认值 用途
MARKITDOWN_PATH <project>/.venv/bin/markitdown那么 markitdown 上 PATH 通往的绝对路径 markitdown 可执行。在系统范围内安装markitdown时设置此项(例如。 pipx install "markitdown[pdf]")而不是使用捆绑的venv。
REPOMIX_PATH <project>/node_modules/.bin/repomix那么 repomix 上 PATH 通往的绝对路径 repomix 可执行文件由使用 git-repo-to-markdown.
MD_ALLOWED_PATHS unset(无限制) 路径分隔符分隔列表(: 在POSIX上, ; 在Windows上)允许服务器读取的目录。设置后,所有文件输入工具(pdf-to-markdown, get-markdown-file等等)拒绝这些目录之外的路径。
MD_SHARE_DIR unset 已弃用的别名 MD_ALLOWED_PATHS (单个目录)。仍然因向后兼容性而受到表彰。

使用Docker

构建并运行:

docker build -t markdownify-mcp .
docker run --rm -i \
  -v "$HOME/Documents:/data:ro" \
  -e MD_ALLOWED_PATHS=/data \
  markdownify-mcp

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)对于完整的功能集。

可用工具

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

    可选:设置 MD_ALLOWED_PATHS 将每个文件输入工具限制在目录列表中,例如。 MD_ALLOWED_PATHS=/data/in:/data/out bun start.

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。