Datus MCP Server

Datus MCP — 面向你数仓的 Model Context Protocol 服务

把 Agent 通过 MCP 暴露出去,让 Claude Desktop、Cursor 和 Windsurf 都能带着共享上下文查询、审计并推理你的数仓。

数据 Agent 为什么要用 MCP

但凡正经的 AI 客户端——Claude Desktop、Cursor、Windsurf、Cline——都讲 Model Context Protocol。Datus-MCP 把你的数仓变成这些客户端可以直接调用的原生工具源。

给的是数据工具,不是数据副本

Datus MCP 不会把表结构快照塞给模型,而是暴露一组工具供宿主按需调用——数仓始终是唯一事实来源,不存在过期元数据。

任意 MCP 宿主,一个服务端

Claude Desktop、Cursor、Windsurf、Cline——但凡正经的 AI 客户端都讲 MCP。Datus 跑一次,同一套工具就出现在团队偏好的任何宿主里。

受同一套策略治理

每一次工具调用都会经过与 CLI 相同的上下文、语义层与审计日志。送到宿主那边的,就是数据平台团队批准过的东西。

跨 AI 客户端的 MCP 使用场景

四种宿主集成——注册一次 Datus,同一套上下文工具就出现在团队日常写代码的地方。

在 Claude Desktop 里问你的数仓

注册一次 Datus。当你问「上周哪些订单延迟发货了?」,Claude 会调用 query_sql 去查你的 Snowflake,并在每次回答里带上血缘——这是 API 调用方看到的同一个受治理接口,也建立在 数据工程师维护的语义层之上。

把 Cursor 接进你的语义层

在改 dbt 模型?Cursor 会调用 explain_metric 直接给出定义、负责人与血缘——不用离开编辑器去翻文档。这就是 你在 CLI 里用的同一个编写工具,也被 编写这些模型的工程师复用。

在 Windsurf 里做可复现的分析

Windsurf 通过调用 draft_sql 起草 SQL。执行前你先审阅;每条被采纳的查询都会带着完整血缘写入工作区记录——这就是 分析师排查异常的同一套流程,只是搬进了 IDE,管道在 shell 里时也可以 从 CLI 走

自带任意兼容 MCP 的宿主

Cline、Continue,或者你自研的 MCP 客户端——Datus 注册一次,同一套工具就出现在团队偏好的任何地方,不用额外接线。在 自部署开源版并把自家宿主指向它时尤其好用。

mcp.jsonyaml
{
  "mcpServers": {
    "datus": {
      "command": "datus",
      "args": ["mcp", "serve"],
      "env": {
        "DATUS_WORKSPACE": "growth",
        "DATUS_DATASOURCE": "warehouse"
      }
    }
  }
}

任意 MCP 宿主,一份配置

Datus MCP 服务端只是一个二进制。在客户端配置里注册一次,同一套工具就会出现在 Claude Desktop、Cursor、Windsurf 和 Cline 里——不需要为每个宿主写适配。

MCP 三要素:工具、资源、提示词

Model Context Protocol 的三块基石——Datus 在你的技术栈之上把它们全部实现了。

TOOL

可调用工具

宿主携带结构化参数调用的动作——query_sql、draft_sql、explain_metric、list_tables。

RES

资源

只读引用——表结构、指标定义、历史会话——宿主可以把它们附加到对话里。

PROMPT

提示词

宿主可按名称调用的可复用提示词模板——「周报」「同期群分析」「值班巡检」。

MCP 工具箱:为 AI 宿主精选的数据工具

四个有主张的工具,把通用 AI 客户端变成懂数据的助手。

query_sql

把审核过的 SQL 送过上下文与安全层执行,返回数据行以及构建它们所用的血缘。

list_tables

浏览数据目录中的表与列。宿主会把结果作为 MCP 资源附加上去,随时可引用。

explain_metric

给出某个指标的语义定义、血缘与负责人——全部锚定在该工作区的上下文里。

draft_sql

先起草 SQL 供审阅再执行。宿主展示 diff,由用户确认后才运行。

MCP 接入:三步跑通一个工具

把服务端加进宿主配置,重启,然后开始调用 Datus 工具。

  1. 01

    安装 Agent

    从 PyPI 或 Homebrew 装上 Datus——CLI、API 与 MCP 服务端用的是同一个二进制。

  2. 02

    在客户端里注册

    把 Datus 加到 MCP 宿主的配置文件里(Claude Desktop、Cursor、Windsurf、Cline 用的都是同一套格式)。

  3. 03

    重启并挑个工具

    重启客户端,打开工具选择器,就可以开始调用 query_sql、explain_metric 等等了。

挑一个适合你团队的入口

四种入口,同一个 Agent。挑最适合你团队的那个。

CLI

在终端里探索数据、构建上下文并交付 SQL。

Web Chatbot

在浏览器里和子代理对话——零安装。

API Server

通过 REST 调用数据服务——与语言无关。

当前页面

MCP Server

接入 Claude Desktop、Cursor 及任意 MCP 客户端。

常见问题

常见问题

Datus 能配合哪些 MCP 客户端?

任何兼容 MCP 的客户端——Claude Desktop、Cursor、Cline、Continue,以及基于 MCP SDK 自研的客户端。Datus 同时支持 stdio 与 HTTP 两种传输方式。

相比直接把数仓账号给 Claude,这有什么好处?

Datus MCP 服务端用与 CLI 相同的上下文引擎、治理策略和已审核答案缓存把数仓包了一层——所以宿主 AI 看到的是受治理、有范围限制的工具,而不是一条敞开的 SQL 连接。

能把服务端限制到特定数据源或工具吗?

可以。每个服务实例都能单独配置暴露哪些工具、允许哪些数据源,以及是否只读。也可以为不同团队或受众启动多个 `datus-mcp` 进程。

MCP 服务端和 CLI、Chatbot 共享上下文吗?

共享。CLI、Chatbot、API、MCP 这四种入口都从同一份可演进的上下文存储读取并写回,因此在任何一处的改进都会在其他地方生效。

把 Datus 接进任意 MCP 客户端

一个服务端就能把你的数仓、语义层与数据目录暴露成 MCP 工具——Claude、Cursor,或者任何会讲这套协议的 Agent 都能用。