SuperAPI AI 工具集

doris-mcp-server

Apache Doris MCP Server 是基于 MCP(Model Context Protocol)协议的开源服务器,用于把 Apache Doris 这一基于 MPP 架构的实时数据仓库能力暴露给 MCP Host 与 AI 智能体,且仅提供只读能力。当前包版本为 1.0.0,兼容 MCP 2026-07-28 协议,在 Streamable HTTP 与 stdio 传输上为 GA。1.0 版本用八个稳定域和五十五个渐进披露的子能力替代了原有的大型扁平工具面,并明确运行时可用性、授权、输入输出 schema 与失败行为。使用需 Python 3.12 或更高版本、Apache Doris 2.0.0 或更高版本,以及到 Doris FE MySQL 端点(通常为 9030 端口)的网络访问。

访问官网

工具介绍

用途

Apache Doris MCP Server 是一个 MCP Server,用于将 Apache Doris(基于 MPP 的实时数据仓库)的只读能力通过 MCP 2026-07-28 协议暴露给 MCP Hosts 与 AI 智能体。程序包版本为 1.0.0。

主要能力

  • 1.0 版本以八个稳定域和五十四个(文档中并列表述为 fifty-five 个)渐进披露的子能力替代了原有的大型扁平工具面。
  • 在默认的分层模式下,以空参数 {} 调用某个域,可发现该域下已授权的子能力及其准确 schema;随后携带 child_tool、arguments 和返回的 manifest_version 再次调用同一域。
  • 无法使用渐进披露的 Host 可在启动前设置 MCP_TOOL_EXPOSURE_MODE=flat,以无冲突的正式名称暴露同样的子能力,且不会恢复 1.0 之前的别名。
  • 支持 Streamable HTTP 与 stdio 两种传输方式;master 分支的 MCP 2026-07-28 协议兼容性在 Streamable HTTP 和 stdio 上为 GA(该 GA 声明仅针对协议兼容性)。

使用方式

环境要求:Python 3.12 或更高版本;Apache Doris 2.0.0 或更高版本;访问 Doris FE MySQL 端点(通常为 9030 端口)的网络。

安装固定发行版本后,doris-mcp-server 启动服务器,doris-mcp-client 是独立的客户端,两者不可互换。

在环回地址上启动 Streamable HTTP 后:

  • MCP: POST http://127.0.0.1:3000/mcp
  • legacy MCP(需显式开启): POST http://127.0.0.1:3000/mcp/legacy
  • liveness: GET http://127.0.0.1:3000/live
  • Doris 支撑的 ready 检查: GET http://127.0.0.1:3000/ready

仅支持握手时期 Streamable HTTP 的 Host(包括使用 MCP 2025-06-18 的 Dify 1.16.1)必须设置 ENABLE_LEGACY_HTTP_ADAPTER=true 并连接 /mcp/legacy。该适配器只改变协议边界,保持相同的 1.0 工具、授权、能力门控与只读执行。

也可为本地 Host 运行 stdio。

安全边界

  • 内置 1.0 目录为只读;doris_admin 为保留项且未注册。
  • 支持静态令牌、JWT、外部 OAuth/OIDC 以及 Doris 支撑的 OAuth,前提是配置边界经过相互校验。
  • 域发现与子能力执行使用精确的授权标识符。
  • Doris RBAC 仍是可见对象与数据的最终权威。
  • 在数据离开 Server 之前,会对 SQL 形态、标识符、参数、超时、行数、字节数与结果 schema 施加边界限制。
  • 公开结果与日志中会脱敏密钥和后端错误。
  • 非环回 HTTP 需要认证,除非启用显式的危险开发覆盖。

适用场景

适用于需要让 MCP Host 或 AI 智能体以只读方式访问 Apache Doris 数据仓库的集成与查询场景,包括支持渐进披露的 Host 以及只能使用握手时期 Streamable HTTP 的 Host。

可靠性边界与已知限制

Server 采用确定性 manifest 与错误、签名的过期游标、路由感知的能力快照、有界陈旧回退、按请求的连接路由、多 FE 故障转移、liveness/readiness 分离、输出 Schema 校验以及脱敏的链路追踪传播。不支持或配置错误的能力仍可被发现,但其 callable=false,被调用时会失败关闭。

当前限制包括:进程本地的 Doris 支撑 OAuth;显式仅用的 ADBC,默认禁用且在令牌绑定路由上失败关闭;可选的只读 Ossie grounding;可选的 MetricFlow 编译器 sidecar,其 SQL 必须通过有界 MCP 查询运行时执行;以及尽力而为的原生血缘投递。

许可

Apache License 2.0,详见 LICENSE.txt 与 NOTICE。