本项目是 Apache Doris 的模型上下文服务器 (MCP) 实现,旨在以标准化方式为大型语言模型 (LLM) 客户端提供访问 Apache Doris 数据库的能力。
主要功能点
- MCP 协议支持: 实现标准 MCP 接口,支持工具调用、资源管理、Prompt 交互等功能。
- 多种通信模式: 支持 SSE (Server-Sent Events) 和 Streamable HTTP,也支持可选的 Stdio 模式,提供灵活的客户端连接方式。
- 数据库工具集: 提供一系列预定义的工具,用于与 Apache Doris 数据库交互,例如:
- 执行 SQL 查询
- 获取数据库和表列表
- 检索表结构、注释和索引信息
- 获取近期审计日志
- 灵活配置: 通过 '.env' 文件配置数据库连接、服务器端口、日志级别等。
- 元数据提取: 能够提取并管理数据库元数据。
安装步骤
- 克隆项目仓库到本地。
- 确保已安装 Python 3.12+ 和 pip 包管理器。
- 进入项目目录,安装所需的 Python 依赖:
pip install -r requirements.txt - 复制 '.env.example' 文件为 '.env',根据您的 Apache Doris 数据库信息(主机、端口、用户、密码、数据库名)和服务配置修改 '.env' 文件。
服务器配置 (供 MCP 客户端使用)
MCP 客户端(如 Cursor)需要通过配置来连接本服务器。配置信息通常是 JSON 格式,指定客户端如何启动或连接 MCP 服务器。
-
对于 SSE 模式: 您需要先独立启动服务器,然后客户端配置连接服务器的 URL。配置大致如下:
- 'url': MCP 服务器的 SSE 初始化端点 URL,例如 'http://127.0.0.1:3000/sse'。请根据您的实际部署修改主机名和端口。
-
对于 Stdio 模式: 客户端将直接启动和管理服务器进程。您需要在客户端配置中指定服务器的可执行命令和参数。配置大致如下:
- 'command': 启动服务器的命令,例如 'uv'。
- 'args': 传递给命令的参数列表,例如 '["--project", "/path/to/your/doris-mcp-server", "run", "doris-mcp"]'。请将 '/path/to/your/doris-mcp-server' 替换为项目实际的绝对路径。
- 'env': 环境变量字典,用于传递数据库连接信息等敏感配置,例如 '{"DB_HOST": "...", "DB_PORT": "...", "DB_USER": "...", "DB_PASSWORD": "...", "DB_DATABASE": "..."}'。这些配置将覆盖 '.env' 文件中的同名配置。
基本使用方法
- 根据您选择的通信模式(SSE 或 Stdio)启动 Doris MCP 服务器。
- 配置您的 MCP 客户端(如 Cursor),使其指向运行中的 Doris MCP 服务器。
- 通过客户端连接服务器。客户端可以发现服务器提供的工具列表。
- 利用客户端界面或功能调用 MCP 服务器提供的工具,例如执行 SQL 查询或获取数据库元数据。服务器将处理请求并将结果返回给客户端。
信息
分类
数据库与文件