首页/数据库/doris-mcp-server

doris-mcp-server

查看源码
2025-5-12
Words 1655Read Time 5 min
Score:85

为Apache Doris数据库提供安全的只读查询接口,支持LLM应用通过MCP协议访问数据库资源。

📖 Doris-MCP-Server

一个轻量级的 MCP 服务器,专为连接 Apache Doris 或其他 MySQL 兼容 的数据库模式而设计,为 LLM 应用程序提供工具和提示。
该服务器使 LLM 和 MCP 客户端能够通过标准化的、安全的 MCP 接口探索数据库模式、运行只读 SQL 查询,并利用预构建的分析提示。
[!WARNING] 这是 doris-mcp-server 的早期开发者版本。某些功能可能无法正常运行,且可能存在一些小错误。如有任何问题,请提交 issue

🚀 功能

🛠️ 工具

  • 对 Doris 数据库执行 只读 SQL 查询
  • 执行 数据分析操作,如检索年度、月度、日度使用数据。
  • 查询元数据,如 数据库模式表结构资源使用情况

🧠 提示

  • 内置提示模板,帮助 LLM 提出 分析问题
  • 支持 用户自定义通用 的 SQL 分析提示。

🗂️ 资源

  • 将 Doris 数据库模式 作为 结构化资源 暴露。
  • 允许 LLM 上下文访问 表和字段定义,以提高查询理解能力。

📦 安装选项

我们推荐使用 uv 来管理 Python 环境。

选项 1: 通过 shell 脚本安装

推荐用于服务器部署
这是最简单的安装方式。请复制项目中的 setup.sh 文件并在本地运行。更多信息请参考:Doris MCP 安装指南
  1. setup.sh 复制到本地。
  1. 使脚本可执行:
  1. 运行脚本:
该脚本将自动安装服务器并引导您完成数据库配置。

选项 2: 通过 pip 安装

推荐用于生产环境
✅ 安装完成后,命令行工具 server 将可用,用于启动 MCP 服务器。

选项 3: 克隆源码并手动安装

推荐用于修改服务器
  1. Fork 并克隆仓库:
  1. 使用 uv 设置本地 Python 环境:
  1. 将此服务器添加到您的 LLM 客户端或运行服务器:

选项 4: 直接使用 uv 安装

用于本地可编辑安装

⚙️ 安装后配置

步骤 1: 配置 .env 文件

Doris-MCP-Server 使用 .env 文件来配置数据库连接信息。请按照以下步骤完成配置:

通过 shell 脚本配置

这是最推荐且最简单的方式。请参考 Doris MCP 安装指南。

手动配置

安装后,导航到项目目录中的 doris_mcp_server/config/ 目录。如果使用 pip 安装,您的包将安装在 Python 的 site-packages 中:
  • Mac/Linux: /Users/YOUR_USERNAME/.local/lib/python3.x/site-packages/doris_mcp_server/config/
  • Windows: C:\Users\YOUR_USERNAME\AppData\Local\Programs\Python\Python3x\Lib\site-packages\doris_mcp_server\config\
您可以通过以下命令查找 pip 安装位置:
您会找到一个 .env.example 文件:
  1. 复制 .env.example.env
  1. 编辑 .env 以设置您的 Doris 数据库连接信息:
[!NOTE] 如果 .env 文件缺失,服务器将尝试从 .env.example 自动创建,但您必须手动填写正确的凭据。

步骤 2: 配置 MCP 客户端

要将此服务器连接到兼容 MCP 的客户端(例如 Claude Desktop、CherryStudio、Cline),您需要修改 MCP 客户端的配置 JSON。
例如,如果您使用 CherryStudio:
  • name: doris-mcp-server
  • type: stdio
  • command: absolute/path/to/your/uv
  • arguments:
例如,如果您使用 pip 安装(mcp_setting.json):
或者,如果您更喜欢更健壮的形式:
如果您使用源码安装或使用 setup.sh
有关如何配置客户端的更多信息,请参考:
✅ 现在,您的 LLM 客户端将通过 MCP 服务器发现 Doris Analytics 工具、提示和资源。

🖥️ 使用

测试 MCP 服务器

在开始之前,您可以在项目 src/doris-mcp-server 目录中运行 test.py,直接调用 MCP Server 的功能接口来测试资源、工具等,而无需使用 LLM(如 Claude、GPT 等模型)。您可以通过命令行传递参数来控制测试哪些功能。
测试服务器暴露的所有资源:
或测试服务器提供的所有工具:
或一次性测试资源、工具和提示词的所有功能:

测试数据库连接并运行服务器

通过运行以下命令启动 MCP 服务器:
或手动启动:
服务器会立即尝试连接数据库。如果连接成功,启动后您应该会看到:
您现在可以在 MCP 客户端中使用工具和提示。

📚 项目结构概览

📜 许可证

本项目遵循 MIT License。

🌟 致谢

  • 灵感来自 MCP 官方示例和最佳实践。

🤝 贡献

欢迎贡献!请随时提交 issue 或 pull request。
上一篇
mcp-server-code-runner
下一篇
mcp-k8s-eye