零基础上手!用 Dify + DeepSeek + Doris MCP Server,实现秒级 SQL 调用

前言:为什么选择 MCP?
在智能助手与数据库打通的场景中,常常会因为接口麻烦、开发成本高,或者响应速度慢而头疼。
MCP(Message‑based Control Plane)正是为了解决这些问题而生——它在智能助手和 Doris 之间架起一条“高速公路”,让 SQL 请求能够迅速、稳定地直达数据库,帮助你更专注于业务逻辑,而不是基础设施搭建。
一、准备工作
- 安装依赖
pip install mcp-doris-server - 网络与权限
- 确保 Doris 服务对外可达(检查防火墙和网络策略)。
- 准备好具有查询权限的数据库账号和密码。
Doris的快速搭建和ssb数据集可以看看官网文档:
https://doris.apache.org/zh-CN/docs/gettingStarted/quick-start
https://doris.apache.org/zh-CN/docs/benchmark/ssb
二、启动 MCP Server
在终端执行以下命令,即可启动服务:
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 等工具进行内网穿透。若二者已在同一网络,则可跳过此步。
四、在 Dify 中安装 & 配置插件
- 可以直接使用云端dify:https://cloud.dify.ai/,也可以使用docker本地部署dify进行使用。登录 Dify 控制台 → 插件市场,搜索 “MCP‑SSE ”,并点击安装。

- 安装后,进入该插件的配置页,填入 MCP Server 地址,如果你的云端dify和你的Doris MCP Server网络不互通的话就需要用到内网穿透,否则直接用本地ip即可,例如:
{
“doris_mcp_server”: {
“transport”: “streamable_http”,
“url”: “http://<你的服务器>/mcp”
}
} - 保存配置后,若看到绿色的 “已授权” 提示,说明 Dify 已与 MCP Server 成功连通。

五、创建 Dify 应用
- 在控制台右上角点击 新建空白应用 。

- 选择 Agent 模板,为应用起一个易记的名字(例如:
Doris ChatBI
)。 - 应用创建完成后,即可进行下一步的指令与工具配置。
六、配置大模型与指令
选择大模型

这里使用 DeepSeek-V3;若尚未购买,可选用免费注册即送 2000 万 tokens 的硅基流动,满足日常使用需求。
https://cloud.siliconflow.cn/i/QWR7w5Lj
填写 Instruction
在 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 工具
在 工具 面板,点击 添加,分别添加两次 MCP 工具。

七、实战演示:典型调用
- 查询数据库中有哪些表
这里回复的是英文我之前一直在用英文问大模型,可以看到agent自动调用mcp去获取工具列表并找到合适的工具来完成任务

2. 在ssb数据库中过去十年的销售趋势如何,哪一年的增长速率最快?

可以看到,Agent 起初假设存在某个能够直接完成任务的工具,但在调用工具列表后发现并没有这样的工具。随后,它注意到有一个名为 exec-query 的工具,可以用来执行 SQL 查询,从而间接实现目标。
进一步地,它还发现,表中的数据并不涵盖完整的过去十年,仅包含了 1992年至 1998 年的记录。但即便如此,Agent 依然基于可用数据进行了合理的计算和结果输出。值得一提的是,这是在表结构中完全没有注释说明的前提下完成的,已经表现得非常出色了。
小结
MCP Server 将智能助手与数据库打通,为 SQL 查询提供了秒级响应能力。
清晰的表注释,能进一步提升 SQL 生成的准确性;随着大模型不断进化,MCP 的可用性也会日益增强。
希望本教程能帮你快速搭建起高效的数据查询通道,有任何问题,欢迎在评论区交流!