项目简介
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。
- 克隆仓库:
从 GitHub 克隆项目代码到您的本地计算机。
git clone https://github.com/voltagr/make.git cd make - 安装依赖:
使用 pnpm 安装项目所需的全部依赖,这也会安装 Python 环境管理器 'uv' 及其相关依赖。
pnpm install - 构建项目:
编译 TypeScript 源代码。
pnpm run build - 启动服务器:
运行构建好的服务器代码。服务器将通过标准输入/输出 (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 结果。
信息
分类
生产力应用