📖 Doris-MCP-Server
一个轻量级的 MCP 服务器,专为连接 Apache Doris 或其他 MySQL 兼容 的数据库模式而设计,为 LLM 应用程序提供工具和提示。
该服务器使 LLM 和 MCP 客户端能够通过标准化的、安全的 MCP 接口探索数据库模式、运行只读 SQL 查询,并利用预构建的分析提示。
🚀 功能
🛠️ 工具
- 对 Doris 数据库执行 只读 SQL 查询。
- 执行 数据分析操作,如检索年度、月度、日度使用数据。
- 查询元数据,如 数据库模式、表结构 和 资源使用情况。
🧠 提示
- 内置提示模板,帮助 LLM 提出 分析问题。
- 支持 用户自定义 和 通用 的 SQL 分析提示。
🗂️ 资源
- 将 Doris 数据库模式 作为 结构化资源 暴露。
- 允许 LLM 上下文访问 表和字段定义,以提高查询理解能力。
📦 安装选项
选项 1: 通过 shell 脚本安装
推荐用于服务器部署
这是最简单的安装方式。请复制项目中的
setup.sh
文件并在本地运行。更多信息请参考:Doris MCP 安装指南- 将
setup.sh
复制到本地。
- 使脚本可执行:
- 运行脚本:
该脚本将自动安装服务器并引导您完成数据库配置。
选项 2: 通过 pip
安装
推荐用于生产环境
✅ 安装完成后,命令行工具
server
将可用,用于启动 MCP 服务器。选项 3: 克隆源码并手动安装
推荐用于修改服务器
- Fork 并克隆仓库:
- 使用 uv 设置本地 Python 环境:
- 将此服务器添加到您的 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
文件:- 复制
.env.example
为.env
:
- 编辑
.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 Python SDK 构建。
- 灵感来自 MCP 官方示例和最佳实践。
🤝 贡献
欢迎贡献!请随时提交 issue 或 pull request。
- Author:waytomcp
- URL:https://www.waytomcp.com/article/NomotoK/doris-mcp-server
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!