Apache Doris MCP(Model Context Protocol)Server 是一个基于 Python 和 FastAPI 构建的后端服务,旨在通过模型上下文协议(MCP)与 Apache Doris 数据库无缝集成。它为 AI 代理和客户端提供标准化的接口,支持自然语言转 SQL(NL2SQL)、SQL 查询执行、元数据管理和数据分析等功能。该项目是 Apache Doris 社区的重要扩展,特别适用于需要高效数据交互和智能分析的业务场景。
自 2025 年发布 0.3.0 版本以来,项目经历了重大架构更新,从基于 SSE(Server-Sent Events)的通信迁移到统一的 Streamable HTTP 协议,新增了企业级安全框架和性能优化功能。项目的核心目标是通过 MCP 协议桥接 AI 系统与 Apache Doris 数据库,实现智能化数据探索和分析。
Apache Doris MCP Server 提供以下主要功能:
自然语言转 SQL(NL2SQL)
SQL 查询执行
exec_query
工具支持直接执行 SQL 命令,可自定义数据库选择、行数限制和超时设置。元数据管理
get_all_databases
, get_database_tables
)。get_table_schema
, get_table_comment
, get_column_comments
, get_table_indexes
)。get_catalog_list
)。审计日志查询
get_recent_audit_logs
获取最近的审计记录,支持自定义时间范围和记录限制。企业级安全框架
性能优化
performance_stats
)。多通信模式
/mcp
端点支持请求/响应和流式传输(src/streamable_server.py
)。/sse
和 /mcp/messages
端点通信(src/sse_server.py
)。src/stdio_server.py
)。实验性功能
column_analysis
),提供数据洞察。项目的架构设计模块化且高效,主要包括以下组件:
/mcp
端点处理所有请求,简化集成。doris_mcp_server/utils/db.py
:提供数据库连接(get_db_connection
)和查询执行(execute_query
, execute_query_df
)功能。doris_mcp_server/utils/schema_extractor.py
:MetadataExtractor
类负责元数据提取,包含缓存机制。doris_mcp_server/utils/sql_executor_tools.py
:execute_sql_query
函数封装查询逻辑,包含安全检查和结果序列化。DB_HOST
, DB_PORT
, DB_USER
, DB_PASSWORD
)。架构变迁:0.3.0 版本移除约 300 行 SSE 遗留代码,迁移至 Streamable HTTP,统一工具命名(移除
mcp_doris_
前缀),提升模块化程度。
uv
或 pip
)克隆仓库:
git clone https://github.com/apache/doris-mcp-server.git
cd doris-mcp-server
安装依赖:
使用 uv
(推荐)或 pip
安装:
uv sync
或
pip install -r requirements.txt
配置环境变量:
创建 .env
文件或直接设置环境变量:
export DORIS_HOST=<doris-host>
export DORIS_PORT=<port>
export DORIS_USER=<doris-user>
export DORIS_PASSWORD=<doris-pwd>
export SERVER_PORT=3000
启动服务器:
uv run --with mcp-doris --python 3.13 mcp-doris
或
python -m mcp_doris.mcp_server
验证启动:
启动成功后,可通过 MCP 客户端(如 Cursor)或内置 MCP 浏览器(http://localhost:5173
)交互。
运行测试脚本验证数据库连接:
python src/doris-mcp-server/test.py
预期输出:
🚀 Doris MCP Server is starting...
[DorisConnector] Connected to 127.0.0.1:9030
✅ Database connection successful.
[DorisConnector] Connection closed.
实时数据分析
元数据探索
AI 驱动的业务智能
安全合规性管理
多目录环境
column_analysis
)为实验性,可能存在 bug。Apache Doris MCP Server 是一个功能强大且灵活的工具,桥接了 Apache Doris 数据库与 AI 驱动的分析需求。其 NL2SQL、元数据管理、安全性和性能优化等特性使其在实时数据分析、业务智能和企业级应用中具有广泛潜力。