使用说明

项目简介

Docling-mcp 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)客户端提供文档转换功能。它使用 IBM 开发的 Docling 软件作为文档处理引擎,能够将多种文档格式转换为 Markdown 文本。当前版本专注于提供文档到 Markdown 的转换服务,作为一个 MCP 工具集成到 LLM 应用中,扩展 LLM 的文档处理能力。

主要功能点

  • 文档格式转换: 支持多种文档格式(Docling 支持的格式)转换为 Markdown 格式。
  • MCP 工具集成: 作为一个 MCP 服务器,可以被支持 MCP 协议的 LLM 客户端(如 Claude)发现和调用。
  • 标准化接口: 通过 MCP 协议的 'call_tool' 方法提供文档转换功能,输入和输出符合 MCP 标准。

安装步骤

由于该仓库没有提供明确的安装步骤,根据其 'README.md' 和代码结构,我们可以推断安装步骤如下:

  1. 安装 Docling 依赖: Docling-mcp 依赖于 'docling' 库。你需要确保环境中安装了 'docling' 及其依赖。 根据 Docling 仓库 的说明安装 Docling。通常可能需要 Python 环境和一些系统依赖(例如 libmagic)。

    # 假设你已经安装了 Python 和 pip
    pip install docling
  2. 安装 Docling-mcp 依赖: Docling-mcp 本身也声明了 'mcp' 库作为依赖。

    pip install mcp-server  # 或者根据实际情况安装 mcp 库,如果 docling-mcp 有 requirements.txt 文件,建议使用 pip install -r requirements.txt 安装
  3. 下载 Docling-mcp 仓库: 将 GitHub 仓库 'https://github.com/Deep070203/docling-mcp' 克隆到本地。

    git clone https://github.com/Deep070203/docling-mcp
    cd docling-mcp
  4. 运行服务器: 在仓库根目录下,可以直接运行 'src/docling_mcp/init.py' 中的 'main' 函数来启动服务器。

    python -m src.docling_mcp

    或者,如果你安装了 'uvx' (根据 README 配置),可以使用 'uvx docling-mcp' 命令,但前提是你需要配置 'uvx' 并使其能够找到 'docling-mcp' 包。更通用的方式是直接使用 'python -m src.docling_mcp'。

服务器配置

MCP 服务器是为 MCP 客户端设计的,客户端需要配置服务器的启动信息才能连接和使用。对于 Docling-mcp,根据 'README.md' 提供的 Claude 配置示例,你需要配置 MCP 客户端,例如 Claude 的配置文件,添加如下服务器配置信息:

{
  "mcpServers": {
    "docling-mcp": {  // 服务器名称,客户端用于标识和引用
      "command": "python", // 启动服务器的命令,这里使用 python 解释器
      "args": ["-m", "src.docling_mcp"] // 命令参数,-m src.docling_mcp 表示运行 src/docling_mcp 包作为模块
      // 注意:command 和 args 需要根据你的实际环境和 Docling-mcp 的安装位置进行调整。
      // 如果你将 docling-mcp 安装为 Python 包,并且 'docling-mcp' 可以直接作为命令运行 (例如通过 setup.py 配置了 entry_points),
      // 那么 command 可以简化为 "docling-mcp",args 可以为空数组 []。
      // 但根据仓库信息,使用 "python -m src.docling_mcp" 更为直接和通用。
    }
  }
}

配置说明:

  • '"docling-mcp"': 服务器的名称,客户端使用此名称来引用该服务器。可以自定义,但需要与客户端配置保持一致。
  • '"command": "python"': 指定用于启动服务器的命令。这里假设使用 Python 解释器来运行服务器脚本。
  • '"args": ["-m", "src.docling_mcp"]': 传递给 'command' 的参数。'"-m src.docling_mcp"' 告诉 Python 解释器将 'src.docling_mcp' 目录作为一个 Python 模块来运行,这会执行 'src/docling_mcp/init.py' 文件中的 'main' 函数,从而启动 MCP 服务器。

重要提示: 你需要根据你的实际环境调整 'command' 和 'args'。例如,如果你的 Python 可执行文件路径不是默认的 'python',你需要修改 'command' 为正确的路径。 确保 MCP 客户端能够通过配置的命令和参数成功启动 Docling-mcp 服务器。

基本使用方法

  1. 启动 Docling-mcp 服务器: 按照上述安装步骤和服务器配置启动 Docling-mcp 服务器。服务器启动后,会监听来自 MCP 客户端的请求。

  2. 配置 MCP 客户端: 在你的 MCP 客户端(例如 Claude),配置 'mcpServers',添加 Docling-mcp 服务器的配置信息,包括服务器名称、启动命令和参数。

  3. 在 MCP 客户端中调用 'convert' 工具: 当客户端需要进行文档转换时,可以调用 Docling-mcp 服务器提供的 'convert' 工具。 调用工具时,需要提供工具所需的参数,例如 'source' (输入文件路径) 和可选的 'destination' (输出文件路径)。

    例如,客户端可能发送如下的 JSON-RPC 请求来调用 'convert' 工具:

    {
      "jsonrpc": "2.0",
      "method": "call_tool",
      "params": {
        "serverName": "docling-mcp", // 指定要调用的 MCP 服务器名称
        "toolName": "convert",      // 指定要调用的工具名称
        "toolParams": {           // 工具的参数
          "source": "/path/to/your/document.pdf", // 输入文档路径
          "destination": "/path/to/output/markdown.md" // 可选的输出 Markdown 文件路径
        }
      },
      "id": 1
    }
  4. 接收转换结果: Docling-mcp 服务器在接收到 'call_tool' 请求后,会调用 Docling 进行文档转换,并将转换结果以 MCP 响应的形式返回给客户端。 响应可能包含转换后的 Markdown 文本内容,或者指示转换结果保存的文件路径(如果指定了 'destination' 参数)。根据 'server.py' 代码,返回的是包含转换结果通知的 'TextContent'。

注意: Docling-mcp 当前版本仅支持文档到 Markdown 的转换。 输入文档格式取决于 Docling 软件本身支持的格式。 请参考 Docling 的文档以了解支持的输入格式。

信息

分类

生产力应用