使用说明
项目简介
Markdownify Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,专注于将各种文件类型和网页内容转换为 Markdown 格式。它通过提供一系列工具,使得 LLM 客户端能够轻松地将 PDF 文档、图片、音频文件、Office文档、YouTube 视频、网页等内容转换为易于阅读和共享的 Markdown 文本。
主要功能点
- 多格式文件转 Markdown: 支持 PDF, 图片, 音频 (带转录), DOCX, XLSX, PPTX 等多种文件格式。
- 网页内容转 Markdown: 支持 YouTube 视频转录, Bing 搜索结果, 普通网页等。
- 获取 Markdown 文件: 支持直接读取已有的 Markdown 文件。
- MCP 标准协议: 遵循 MCP 协议,易于与各种 MCP 客户端集成。
- 工具化能力: 以工具 (Tools) 的形式提供各种转换功能,方便 LLM 按需调用。
安装步骤
- 克隆仓库
git clone https://github.com/briannaluna17/opposite cd opposite - 安装依赖
这个命令会安装项目依赖,包括 'uv' 和相关的 Python 依赖。pnpm install - 构建项目
pnpm run build - 启动服务器
服务器默认运行在标准输入输出 (stdio) 模式。pnpm start
服务器配置
对于 MCP 客户端,需要配置连接到 Markdownify Server 的信息。以下是一个典型的 JSON 格式配置示例,用于配置客户端连接到此 MCP 服务器:
{ "mcpServers": { "markdownify": { // 服务器名称,客户端内唯一标识 "command": "node", // 启动服务器的命令 "args": [ // 启动命令的参数 "{ABSOLUTE PATH TO FILE HERE}/dist/index.js" // index.js 文件的绝对路径,请替换为实际路径 ], "env": { // 环境变量(可选) "UV_PATH": "/path/to/uv" // uv 执行文件的路径,如果 uv 不在默认路径下,需要指定 } } } }
注意:
- '{ABSOLUTE PATH TO FILE HERE}/dist/index.js' 需要替换为 'dist/index.js' 文件在您本地文件系统中的绝对路径。您需要根据实际情况修改此路径。
- 'UV_PATH' 环境变量用于指定 'uv' 执行文件的路径。'uv' 是项目依赖的 Python 环境管理工具。如果您的 'uv' 可执行文件不在默认路径 '/usr/local/bin' 或 '~/.local/bin' 下,您需要设置此环境变量。您可以通过在终端运行 'which uv' 或 'where uv' 找到 'uv' 的路径。
基本使用方法
Markdownify Server 通过工具 (Tools) 提供功能。客户端可以列出服务器提供的工具,并调用相应的工具来执行转换任务。
可用工具列表:
- '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 文件内容。
调用工具示例 (假设使用 'pdf-to-markdown' 工具):
客户端需要构造符合 MCP 协议的 'CallToolRequest' 请求,指定工具名称 ('pdf-to-markdown') 和参数 ('filepath')。服务器会执行工具,并将转换后的 Markdown 内容作为 'CallToolResponse' 返回。
例如,调用 'pdf-to-markdown' 工具,需要提供 PDF 文件的绝对路径作为参数。服务器会将 PDF 文件转换为 Markdown,并在响应中返回转换后的文本内容和输出文件路径。
注意: 所有文件路径参数 (如 'filepath') 都必须是绝对路径。
信息
分类
开发者工具