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) 协议与客户端通信,支持流式数据传输。
安装步骤
-
克隆仓库:
git clone https://github.com/FreeOnePlus/doris-mcp-server.git cd doris-mcp-server -
安装依赖:
pip install -r requirements.txt如果使用 Apple MLX,请安装 'requirements-mlx.txt':
pip install -r requirements-mlx.txt -
配置环境变量: 复制 '.env.example' 文件并重命名为 '.env',根据需要编辑 '.env' 文件,配置数据库连接信息、LLM 服务商 API 密钥等。
-
运行服务器:
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 的服务器地址和端口。
基本使用方法
- 启动 Doris MCP Server 后,客户端可以通过配置的 'baseURL' 建立连接。
- 客户端发送符合 MCP 协议的 JSON-RPC 请求到服务器的 '/mcp/messages' 端点。
- 服务器接收请求,调用相应的工具(如 NL2SQL 服务),处理后将结果通过 SSE 流式返回给客户端。
- 客户端可以根据接收到的 JSON-RPC 响应和通知进行后续处理,例如展示 SQL 查询结果、可视化分析等。
具体 API 调用方法和参数,请参考仓库中的 'examples' 目录下的示例代码,以及 'docs' 目录下的文档。
信息
分类
数据库与文件