Skip to content

MCP 调用

每个数据模式空间都可以把自己的 DataAgent 以 MCP(Model Context Protocol)服务器的形式对外提供——Claude、Cursor 或任何支持 MCP 的智能体,都能把这个空间的数据查询与分析能力当作工具直接调用。

仅数据模式

MCP 调用仅对数据模式空间开放;通用模式空间(及其 key)会被 MCP 端点拒绝——通用模式请使用开放 API

连接客户端

  1. 打开空间 → 点右上角 菜单 → MCP 调用
  2. 创建一个 API key(与「API 调用」共用同一套 key,任一入口创建或吊销均生效;完整 key 只显示一次)。
  3. 在 MCP 客户端里配置端点,并把 key 作为 Bearer token。

端点:https://console.datyo.ai/mcp(Streamable HTTP)

Claude Code

bash
claude mcp add --transport http datyo https://console.datyo.ai/mcp \
  --header "Authorization: Bearer sk-df-..."

Cursor~/.cursor/mcp.json,项目内用 .cursor/mcp.json

json
{
  "mcpServers": {
    "datyo": {
      "url": "https://console.datyo.ai/mcp",
      "headers": { "Authorization": "Bearer sk-df-..." }
    }
  }
}

Claude Desktopclaude_desktop_config.json——带鉴权头的远程服务需经 mcp-remote 桥接,需要 Node.js)

json
{
  "mcpServers": {
    "datyo": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://console.datyo.ai/mcp",
               "--header", "Authorization: Bearer sk-df-..."]
    }
  }
}

OpenAI(Responses API——把 MCP 服务器作为工具挂到模型调用)

python
from openai import OpenAI

client = OpenAI()
resp = client.responses.create(
    model="gpt-4.1",
    tools=[{
        "type": "mcp",
        "server_label": "datyo",
        "server_url": "https://console.datyo.ai/mcp",
        "headers": {"Authorization": "Bearer sk-df-..."},
        "require_approval": "never",
    }],
    input="各城市销量 Top 5",
)
print(resp.output_text)

JSON 配置(通用 Streamable HTTP——大多数其他客户端)

json
{
  "mcpServers": {
    "datyo": {
      "type": "streamable_http",
      "url": "https://console.datyo.ai/mcp",
      "headers": { "Authorization": "Bearer sk-df-..." }
    }
  }
}

工具列表

工具作用
list_datasets空间的数据集目录——名称、描述、列结构、引擎,以及 run_sql 中可直接 FROM 的 table / table_alias(必须逐字使用,中文表名加双引号,不要音译)
ask端到端自然语言问答:DataAgent 自主生成并执行 SQL、必要时生成图表,返回 {answer, sql, result, chart}
generate_sql问题 → 一条 DuckDB SQL(只生成、不执行)
run_sql对空间数据集执行一条 DuckDB SQL,返回 {columns, rows, took_ms}
make_chart为结果集挑选并生成 Datyo 图表配置(linebarpiescorecard 等),返回 {type, config}
generate_summary为结果集生成自然语言结论摘要

挂载了 SLSMaxCompute 数据集的空间还会额外提供 run_sls_query / run_maxcompute_query,契约与内置 Agent 工具完全一致。

典型编排:list_datasetsgenerate_sqlrun_sqlmake_chart / generate_summary;也可以直接调 ask,让 DataAgent 一步完成。

说明

  • 结果超过 500 行会被截断(truncated: true,并附 total_rows)。
  • 所有调用模型的工具(askgenerate_sqlmake_chartgenerate_summary) 都与普通对话一样计费与限流,用量计入 key 所有者的账户;list_datasets 与纯 SQL 执行类工具不调用模型、不产生消耗。
  • 吊销后的 key 立即失效。

Datyo · Agent 原生的智能数据分析底座