使用说明
项目简介
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' 和代码结构,我们可以推断安装步骤如下:
-
安装 Docling 依赖: Docling-mcp 依赖于 'docling' 库。你需要确保环境中安装了 'docling' 及其依赖。 根据 Docling 仓库 的说明安装 Docling。通常可能需要 Python 环境和一些系统依赖(例如 libmagic)。
# 假设你已经安装了 Python 和 pip pip install docling -
安装 Docling-mcp 依赖: Docling-mcp 本身也声明了 'mcp' 库作为依赖。
pip install mcp-server # 或者根据实际情况安装 mcp 库,如果 docling-mcp 有 requirements.txt 文件,建议使用 pip install -r requirements.txt 安装 -
下载 Docling-mcp 仓库: 将 GitHub 仓库 'https://github.com/Deep070203/docling-mcp' 克隆到本地。
git clone https://github.com/Deep070203/docling-mcp cd docling-mcp -
运行服务器: 在仓库根目录下,可以直接运行 '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 服务器。
基本使用方法
-
启动 Docling-mcp 服务器: 按照上述安装步骤和服务器配置启动 Docling-mcp 服务器。服务器启动后,会监听来自 MCP 客户端的请求。
-
配置 MCP 客户端: 在你的 MCP 客户端(例如 Claude),配置 'mcpServers',添加 Docling-mcp 服务器的配置信息,包括服务器名称、启动命令和参数。
-
在 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 } -
接收转换结果: Docling-mcp 服务器在接收到 'call_tool' 请求后,会调用 Docling 进行文档转换,并将转换结果以 MCP 响应的形式返回给客户端。 响应可能包含转换后的 Markdown 文本内容,或者指示转换结果保存的文件路径(如果指定了 'destination' 参数)。根据 'server.py' 代码,返回的是包含转换结果通知的 'TextContent'。
注意: Docling-mcp 当前版本仅支持文档到 Markdown 的转换。 输入文档格式取决于 Docling 软件本身支持的格式。 请参考 Docling 的文档以了解支持的输入格式。
信息
分类
生产力应用