项目简介

Markdownify 是一个基于 Model Context Protocol (MCP) 构建的应用后端服务器。它专门用于接收来自大型语言模型 (LLM) 客户端的请求,并将各种文件类型(如 PDF、图像、音频、文档)和网页内容(如 YouTube 视频、网页、搜索结果)转换为易于阅读和分享的 Markdown 格式文本。通过标准化的 MCP 接口,它为 LLM 提供了强大的上下文信息获取和处理能力。

主要功能点

  • 文件格式转换: 支持将 PDF、图片、音频、DOCX、XLSX、PPTX 等多种本地文件转换为 Markdown 格式。
  • 网页内容转换: 能够抓取并转换网页内容,包括 YouTube 视频字幕、Bing 搜索结果页面和通用网页内容为 Markdown。
  • Markdown 文件读取: 可以根据文件路径读取现有的 Markdown 文件内容。
  • 工具化服务: 所有转换和读取功能都封装为可通过 MCP 协议调用的“工具”,方便 LLM 根据需求调用。

安装步骤

要运行 Markdownify MCP 服务器,您需要先安装 Node.js 和 pnpm。

  1. 克隆仓库: 从 GitHub 克隆项目代码到您的本地计算机。
    git clone https://github.com/voltagr/make.git
    cd make
  2. 安装依赖: 使用 pnpm 安装项目所需的全部依赖,这也会安装 Python 环境管理器 'uv' 及其相关依赖。
    pnpm install
  3. 构建项目: 编译 TypeScript 源代码。
    pnpm run build
  4. 启动服务器: 运行构建好的服务器代码。服务器将通过标准输入/输出 (Stdio) 协议等待 MCP 客户端连接。
    pnpm start

服务器配置

Markdownify MCP 服务器设计用于被 MCP 客户端(如桌面应用或其他 LLM 应用)作为子进程启动和管理。客户端需要配置如何启动这个服务器进程。

典型的 MCP 客户端配置会包含以下信息:

  • 服务器名称 (name): 用于标识该服务器,例如 'markdownify'。
  • 启动命令 (command): 启动服务器的可执行文件路径,例如 'node'。
  • 启动参数 (args): 传递给启动命令的参数,用于指定要运行的服务器脚本。对于 Markdownify,参数通常是服务器构建后的入口文件路径,例如 '{ABSOLUTE PATH TO FILE HERE}/dist/index.js'(请将 '{ABSOLUTE PATH TO FILE HERE}' 替换为项目在您系统中的绝对路径)。
  • 环境变量 (env - 可选): 如需要指定 'uv' 工具的路径,可以设置 'UV_PATH' 环境变量。

配置示例(提供给 MCP 客户端使用,用户无需手动创建此 JSON):

{
  "mcpServers": {
    "markdownify": {
      "command": "node",
      "args": [
        "/path/to/your/make/dist/index.js" // 替换为实际路径
      ],
      "env": {
        "UV_PATH": "/path/to/uv" // 如果uv不在默认路径,请指定
      }
    }
  }
}

MCP 客户端会读取此类配置,并自动启动并连接到 Markdownify 服务器。

基本使用方法

服务器启动后,它将监听标准输入,等待 MCP 客户端发送的 JSON-RPC 请求。您不需要直接与服务器的标准输入/输出交互。

您只需确保服务器正在运行(通过 'pnpm start' 或由 MCP 客户端启动),然后通过兼容的 MCP 客户端应用来使用它提供的工具(如调用 'pdf-to-markdown' 工具并传入 PDF 文件路径,或调用 'webpage-to-markdown' 工具并传入 URL)。客户端会负责构建 MCP 请求,发送给服务器,并处理服务器返回的 Markdown 结果。

信息

分类

生产力应用