使用说明

项目简介

MCP文档处理服务器(MCP Docling Server)是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型(LLM)应用提供文档处理能力。该服务器通过标准化的 MCP 协议与客户端通信,提供了一系列工具,使 LLM 能够便捷地处理各种文档,例如将文档转换为 Markdown 格式、提取表格数据、生成问答内容等。

主要功能点

  • 文档转换: 将各种格式的文档(如PDF、Word、网页等)转换为 Markdown 格式,方便 LLM 理解和处理文档内容。
  • 带图像文档转换: 除了转换文档内容为 Markdown,还能提取文档中嵌入的图片资源,为 LLM 提供更丰富的上下文信息。
  • 表格提取: 从文档中提取结构化的表格数据,方便 LLM 进行数据分析和处理。
  • 批量文档处理: 支持批量处理多个文档,提高处理效率。
  • 问答文档生成: 利用 IBM Watson X 服务,从文档中生成问答对,以 YAML 格式输出,帮助 LLM 理解文档的核心信息 (注意: 此功能依赖 IBM Watson X 服务,需要配置相关凭据)。
  • 系统信息查询: 提供查询服务器系统配置和加速状态的工具,方便监控和优化服务器性能。
  • 缓存机制: 内置缓存机制,对于重复请求的文档处理结果进行缓存,提高响应速度。
  • 多种传输协议: 支持 Stdio 和 SSE 两种传输协议,可以根据客户端需求灵活配置。

安装步骤

  1. 环境准备: 确保已安装 Python 环境(建议 Python 3.8+)。
  2. 安装依赖: 使用 pip 安装项目依赖。在仓库根目录下打开终端,执行以下命令:
    pip install -e .

服务器配置

MCP客户端需要配置以下信息以连接到 MCP文档处理服务器。以下是基于不同传输协议的配置示例:

1. Stdio 传输 (默认)

{
  "serverName": "mcp-docling-stdio",
  "command": "mcp-server-lls",
  "args": [],
  "transport": "stdio"
}
  • 'serverName': 服务器名称,可以自定义,用于在客户端标识服务器。
  • 'command': 启动服务器的命令,这里使用安装后可执行的 'mcp-server-lls' 命令。
  • 'args': 启动命令的参数,这里为空,表示使用默认的 stdio 传输。
  • 'transport': 传输协议类型,设置为 'stdio'。

2. SSE 传输 (通过 HTTP)

{
  "serverName": "mcp-docling-sse",
  "command": "mcp-server-lls",
  "args": ["--transport", "sse", "--port", "8000"],
  "transport": "sse",
  "port": 8000,
  "path": "/sse",
  "messagePath": "/messages/"
}
  • 'serverName': 服务器名称,可以自定义。
  • 'command': 启动服务器的命令。
  • 'args': 启动命令的参数,'--transport sse' 指定使用 SSE 传输,'--port 8000' 指定服务器监听端口为 8000。
  • 'transport': 传输协议类型,设置为 'sse'。
  • 'port': SSE 服务器端口,与启动参数 '--port' 的值一致。
  • 'path': SSE 连接路径,固定为 '/sse'。
  • 'messagePath': SSE 消息接收路径,固定为 '/messages/'。

注意: 如果使用 SSE 传输,请确保客户端能够访问到服务器的 IP 地址和端口。默认情况下,服务器监听 '0.0.0.0' 地址,即接受来自任何 IP 的连接。

基本使用方法

  1. 启动服务器:

    • Stdio 传输: 在终端中直接运行 'mcp-server-lls' 命令即可启动默认的 stdio 传输服务器。
    • SSE 传输: 在终端中运行 'mcp-server-lls --transport sse --port 8000' 命令,启动 SSE 传输服务器,监听 8000 端口。 (可以根据需要修改端口号)
  2. 客户端配置: 在 MCP 客户端中,根据选择的传输协议,配置相应的服务器连接信息 (如上述 JSON 配置示例)。

  3. 调用工具: 客户端连接到服务器后,可以调用服务器提供的工具来处理文档。例如,调用 'convert_document' 工具将指定 URL 或本地路径的文档转换为 Markdown 格式,或调用 'extract_tables' 工具提取文档中的表格数据。

  4. 查看结果: 服务器处理完成后,会将结果以 MCP 协议规定的格式返回给客户端,客户端可以解析并展示处理结果。

IBM Watson X 功能: 如果需要使用 'qna_from_document' 工具生成问答文档,需要提前配置 IBM Watson X 的凭据作为环境变量:'WATSONX_PROJECT_ID', 'WATSONX_APIKEY', 'WATSONX_URL'。具体配置方法请参考仓库 README 文档或 IBM Watson X 的官方文档。

信息

分类

AI与计算