点击上方 蓝字 关注数据微光👆 免费获取Doris+AI知识库
在智能助手与数据库打通的场景中,常常会因为接口麻烦、开发成本高,或者响应速度慢而头疼。
MCP(Message‑based Control Plane)正是为了解决这些问题而生——它在智能助手和 Doris 之间架起一条“高速公路”,让 SQL 请求能够迅速、稳定地直达数据库,帮助你更专注于业务逻辑,而不是基础设施搭建。
安装依赖
pip install mcp-doris-server
网络与权限
Doris的快速搭建和ssb数据集可以看看官网文档:
https://doris.apache.org/zh-CN/docs/gettingStarted/quick-start
https://doris.apache.org/zh-CN/docs/benchmark/ssb
在终端执行以下命令,即可启动服务:
doris-mcp-server \
--transport http \
--host 0.0.0.0 \
--port 3000 \
--db-host 127.0.0.1 \
--db-port 9030 \
--db-user root \
--db-password your_password
--host
/ --port
:MCP 服务监听地址及端口--db-host
/ --db-port
:Doris 实例所在地址及端口--db-user
/ --db-password
:数据库账号和密码当控制台开始输出如下日志时,MCP Server 即已正常启动。
若 Dify 和 MCP Server 位于不同网络,需要外部调用 MCP 服务,可借助 ngrok 等工具进行内网穿透。若二者已在同一网络,则可跳过此步。
安装后,进入该插件的配置页,填入 MCP Server 地址,如果你的云端dify和你的Doris MCP Server网络不互通的话就需要用到内网穿透,否则直接用本地ip即可,例如:
{
"doris_mcp_server": {
"transport": "streamable_http",
"url": "http://<你的服务器>/mcp"
}
}
保存配置后,若看到绿色的 “已授权” 提示,说明 Dify 已与 MCP Server 成功连通。
Doris ChatBI
)。这里使用 DeepSeek-V3;若尚未购买,可选用免费注册即送 2000 万 tokens 的硅基流动,满足日常使用需求。
https://cloud.siliconflow.cn/i/QWR7w5Lj
在 Dify 的 Instruction 区域,粘贴以下内容:
<instruction>
请尽可能使用 MCP 工具完成任务,仔细阅读每个工具的注解与参数说明。操作步骤:
1. 分析用户需求,从工具列表中匹配最合适的工具。
2. 调用工具时,工具名、方法名与参数须与注释完全一致,不可随意更改。
3. 传参需严格遵循注释要求,格式示例:{"mcp_sse_call_tool": {"tool_name": "$tool_name", "arguments": "{}"}}
4. 输出结果仅保留纯文本,不含任何 XML 标签。
<input>
用户问题:user_query
</input>
<output>
返回工具调用结果或最终答案,并附上简要分析。
</output>
</instruction>
在 工具 面板,点击 添加,分别添加两次 MCP 工具。
这里回复的是英文我之前一直在用英文问大模型,可以看到agent自动调用mcp去获取工具列表并找到合适的工具来完成任务
2. 在ssb数据库中过去十年的销售趋势如何,哪一年的增长速率最快?
可以看到,Agent 起初假设存在某个能够直接完成任务的工具,但在调用工具列表后发现并没有这样的工具。随后,它注意到有一个名为 exec-query 的工具,可以用来执行 SQL 查询,从而间接实现目标。
进一步地,它还发现,表中的数据并不涵盖完整的过去十年,仅包含了 1992年至 1998 年的记录。但即便如此,Agent 依然基于可用数据进行了合理的计算和结果输出。值得一提的是,这是在表结构中完全没有注释说明的前提下完成的,已经表现得非常出色了。
MCP Server 将智能助手与数据库打通,为 SQL 查询提供了秒级响应能力。
清晰的表注释,能进一步提升 SQL 生成的准确性;随着大模型不断进化,MCP 的可用性也会日益增强。
希望本教程能帮你快速搭建起高效的数据查询通道,有任何问题,欢迎在评论区交流!