项目简介
Markdownify Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,专注于将各种类型的文件和网络内容转换为 Markdown 格式。它通过提供一系列工具,使得 LLM 应用能够方便地获取和处理结构化的 Markdown 文本内容,从而更好地理解和利用非结构化数据。
主要功能点
- 多种文件格式转换: 支持将 PDF, 图片, 音频 (自动转录), DOCX, XLSX, PPTX 等多种文件格式转换为 Markdown。
- 网页内容抓取与转换: 可以将 YouTube 视频的文字稿、Bing 搜索结果和普通网页内容转换为 Markdown。
- 本地 Markdown 文件读取: 能够读取服务器本地已有的 Markdown 文件内容。
- 工具化调用: 所有转换功能都以独立工具的形式提供,方便 MCP 客户端按需调用。
安装步骤
- 克隆仓库:
git clone https://github.com/elmozapanta/compound cd compound - 安装依赖:
pnpm install- 此命令将安装项目依赖,包括 'uv' 和相关的 Python 依赖。'uv' 是项目依赖的外部工具,用于执行文件格式转换。
- 构建项目:
pnpm run build - 启动服务器:
pnpm start
服务器配置
为了让 MCP 客户端能够连接到 Markdownify Server,需要在客户端的服务器配置中添加以下信息。请注意,您需要将 '{ABSOLUTE PATH TO FILE HERE}' 替换为 'compound' 仓库 'dist/index.js' 文件的绝对路径。
{ "mcpServers": { "markdownify": { "command": "node", "args": [ "{ABSOLUTE PATH TO FILE HERE}/dist/index.js" ], "env": { // 'UV_PATH' 环境变量用于指定 'uv' 工具的路径。 // 默认情况下,服务器会尝试使用 'uv' 的默认安装位置。 // 如果您的 'uv' 安装在非默认路径,请在此处指定正确的路径。 "UV_PATH": "/path/to/uv" } } } }
配置参数说明:
- 'server name': 'markdownify' (服务器名称,客户端据此名称引用该服务器)
- 'command': 'node' (启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件)
- 'args': '["{ABSOLUTE PATH TO FILE HERE}/dist/index.js"]' (命令参数,指向服务器入口文件 'dist/index.js' 的绝对路径)
- 'env': '{ "UV_PATH": "/path/to/uv" }' (环境变量配置,'UV_PATH' 用于指定 'uv' 工具的路径)
基本使用方法
-
启动 Markdownify Server: 按照上述安装步骤启动服务器。
-
配置 MCP 客户端: 在您的 MCP 客户端应用中,根据上述 “服务器配置” 部分的说明,配置 Markdownify Server 连接信息。
-
调用工具: 客户端成功连接服务器后,即可调用服务器提供的工具。可用的工具包括:
- '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 文件
调用工具时,请参考 'src/tools.ts' 文件中定义的工具参数,例如 'pdf-to-markdown' 工具需要提供 PDF 文件的绝对路径 'filepath'。
信息
分类
生产力应用