Doris MCP Server 使用说明

项目简介

Doris MCP Server 是一个基于 Python 开发的服务框架,旨在为 LLM 应用提供后端数据访问能力。它通过自然语言处理技术,将用户的自然语言查询转化为 Apache Doris 数据库的 SQL 查询,并支持集成多种主流 LLM 服务商,为用户提供灵活、高效的 NL2SQL 服务。

主要功能点

  • 自然语言到 SQL (NL2SQL) 转换: 将自然语言查询转换为可执行的 SQL 语句。
  • 多 LLM 服务商支持: 支持包括 OpenAI、DeepSeek、Qwen、Ollama、MLX 等多种 LLM 服务商,用户可以根据需求灵活配置。
  • 多 LLM 阶段配置: 允许在不同处理阶段配置不同的 LLM 提供商和模型,优化性能和成本。
  • 数据库连接与查询执行: 能够连接 Apache Doris 数据库,并执行生成的 SQL 查询,返回查询结果。
  • 元数据提取与管理: 支持从数据库中提取元数据,用于 NL2SQL 转换和业务分析。
  • 灵活的配置系统: 通过 '.env' 文件进行灵活的配置,包括 LLM 服务商、API 密钥、数据库连接信息等。
  • SSE 协议支持: 通过 SSE (Server-Sent Events) 协议与客户端通信,支持流式数据传输。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/FreeOnePlus/doris-mcp-server.git
    cd doris-mcp-server
  2. 安装依赖:

    pip install -r requirements.txt

    如果使用 Apple MLX,请安装 'requirements-mlx.txt':

    pip install -r requirements-mlx.txt
  3. 配置环境变量: 复制 '.env.example' 文件并重命名为 '.env',根据需要编辑 '.env' 文件,配置数据库连接信息、LLM 服务商 API 密钥等。

  4. 运行服务器:

    python src/main.py

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 才能建立连接。以下是 Doris MCP Server 的典型配置信息(JSON 格式):

{
  "serverName": "doris-mcp-server",
  "command": "python",
  "args": [
    "src/main.py"
  ],
  "transport": "sse",
  "baseURL": "http://localhost:3000/mcp"
}

参数说明:

  • 'serverName': 服务器名称,可以自定义。
  • 'command': 启动服务器的命令,这里使用 'python'。
  • 'args': 启动命令的参数,指定主程序入口 'src/main.py'。
  • 'transport': 传输协议,指定为 'sse' (Server-Sent Events)。
  • 'baseURL': MCP 服务器的根 URL,客户端通过此 URL 建立 SSE 连接。

请确保 MCP 客户端能够访问到运行 Doris MCP Server 的服务器地址和端口。

基本使用方法

  1. 启动 Doris MCP Server 后,客户端可以通过配置的 'baseURL' 建立连接。
  2. 客户端发送符合 MCP 协议的 JSON-RPC 请求到服务器的 '/mcp/messages' 端点。
  3. 服务器接收请求,调用相应的工具(如 NL2SQL 服务),处理后将结果通过 SSE 流式返回给客户端。
  4. 客户端可以根据接收到的 JSON-RPC 响应和通知进行后续处理,例如展示 SQL 查询结果、可视化分析等。

具体 API 调用方法和参数,请参考仓库中的 'examples' 目录下的示例代码,以及 'docs' 目录下的文档。

信息

分类

数据库与文件