本项目是 Apache Doris 的模型上下文服务器 (MCP) 实现,旨在以标准化方式为大型语言模型 (LLM) 客户端提供访问 Apache Doris 数据库的能力。

主要功能点

  • MCP 协议支持: 实现标准 MCP 接口,支持工具调用、资源管理、Prompt 交互等功能。
  • 多种通信模式: 支持 SSE (Server-Sent Events) 和 Streamable HTTP,也支持可选的 Stdio 模式,提供灵活的客户端连接方式。
  • 数据库工具集: 提供一系列预定义的工具,用于与 Apache Doris 数据库交互,例如:
    • 执行 SQL 查询
    • 获取数据库和表列表
    • 检索表结构、注释和索引信息
    • 获取近期审计日志
  • 灵活配置: 通过 '.env' 文件配置数据库连接、服务器端口、日志级别等。
  • 元数据提取: 能够提取并管理数据库元数据。

安装步骤

  1. 克隆项目仓库到本地。
  2. 确保已安装 Python 3.12+ 和 pip 包管理器。
  3. 进入项目目录,安装所需的 Python 依赖:
    pip install -r requirements.txt
  4. 复制 '.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' 文件中的同名配置。

基本使用方法

  1. 根据您选择的通信模式(SSE 或 Stdio)启动 Doris MCP 服务器。
  2. 配置您的 MCP 客户端(如 Cursor),使其指向运行中的 Doris MCP 服务器。
  3. 通过客户端连接服务器。客户端可以发现服务器提供的工具列表。
  4. 利用客户端界面或功能调用 MCP 服务器提供的工具,例如执行 SQL 查询或获取数据库元数据。服务器将处理请求并将结果返回给客户端。

信息

分类

数据库与文件