使用说明

项目简介

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 按需调用。

安装步骤

  1. 克隆仓库
    git clone https://github.com/briannaluna17/opposite
    cd opposite
  2. 安装依赖
    pnpm install
    这个命令会安装项目依赖,包括 'uv' 和相关的 Python 依赖。
  3. 构建项目
    pnpm run build
  4. 启动服务器
    pnpm start
    服务器默认运行在标准输入输出 (stdio) 模式。

服务器配置

对于 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') 都必须是绝对路径

信息

分类

开发者工具