写点什么

与 ClickHouse MCP 的集成:打造面向智能体的高效数据体验

ClickHouse

  • 2025-06-30
    北京
  • 本文字数:3130 字

    阅读完需:约 10 分钟

大小:1.31M时长:07:39
与 ClickHouse MCP 的集成:打造面向智能体的高效数据体验

Meetup 活动

ClickHouse 杭州第二届 Meetup 火热报名中,详见文末海报!


MCP(Model Connected Protocol)是一种新兴协议,用于将数据库、API、工具等第三方服务接入大语言模型(LLM)体系。通过部署 MCP 服务器,可以定义客户端如何与您的服务交互。MCP 客户端(如 Claude Desktop、ChatGPT、Cursor、Windsurf 等)连接到该服务器后,就能让 LLM 与这些服务进行实时交互。随着 MCP 快速成为行业默认标准,我们也在今年早些时候发布了 ClickHouse 的官方 MCP 服务器:mcp-clickhouse [https://github.com/ClickHouse/mcp-clickhouse]。


自然语言接口正在几乎所有领域快速普及,ClickHouse 的用户群体也不例外。无论是软件工程师、数据工程师还是分析工程师,大家都在开始使用自然语言和智能体式(agentic)界面来完成部分日常任务。无论你是否精通 SQL,如今都可以通过这种新方式更轻松地与数据交互。我们正看到一个趋势:LLM 正在帮助每个人扩展自己的技能边界 —— 软件工程师能处理更多数据任务,数据工程师能更深入参与开发流程。数据,正以前所未有的方式被更广泛地使用。


在所有这些新型用户体验中,“快速响应”与“流畅交互”成为核心诉求。用户不再是周五下午发出查询,顺道买份 Bánh mì,然后等到周一再来看结果。他们与 LLM 进行的是实时对话式交互,响应必须在数秒内完成,并且支持连续提问与迭代。这个过程中如果引入第三方服务,它们必须跟得上这种交互节奏。如果用户希望通过自然语言与数据库对话,那么底层系统就必须具备这种响应能力。


这正是 ClickHouse 成为智能体驱动数据工作流理想数据库的原因所在。ClickHouse 天生就是为极致性能而设计的分析型数据库 —— 不浪费一丝存储空间、不浪费一毫秒执行时间。甚至在 LLM 与智能体时代到来之前,ClickHouse 就已经在支持大规模交互式分析方面走在前列。我们从未刻意追求成为 Agentic AI 的标配数据库,但有时候,美好的结果就是这么“刚刚好”。


未来的使用场景


尽管智能体接口正快速流行,但整个生态仍处于早期阶段,相关工具、工作流和应用方式都在迅速演进中。我们看到,越来越多用户开始跳过传统的 SQL 查询界面和 BI 工具,直接通过 Claude Desktop、ChatGPT 等自然语言界面与数据交互,不写 SQL 就能生成分析结果和可视化图表。同时,我们也注意到,许多没有数据背景的开发者正在构建面向终端用户的数据产品,借助大语言模型不仅实现前端生成,还能辅助数据建模与查询优化,应对高并发访问需求。


随着 ClickHouse 成为 Observability 2.0 的首选平台,越来越多的 SRE 和 DevOps 团队也开始借助 LLM 查询日志、指标和链路追踪数据。他们无需掌握复杂的查询语法,就能实现全文搜索与数据分析的融合体验。


更进一步地,我们也在构想下一个可能场景:未来的大语言模型,或许可以自动读取可观测性数据,自主生成架构优化建议、性能调优方案甚至 bug 修复建议 —— 用户无需明确提示具体错误,LLM 就能主动感知系统变化并给出反馈。


为了让这一切更加易用,ClickHouse Cloud 即将上线远程 MCP 服务器,作为默认的智能体交互接口。这意味着所有 MCP 客户端都可以直接接入你的云端实例,无需额外本地配置。


想第一时间试用这些 AI 功能?欢迎访问 clickhouse.ai,注册内测候补名单[https://clickhouse.com/ai]。


ClickHouse MCP 智能体示例


为了帮助开发者快速上手,我们准备了一系列集成示例,展示如何将主流库与 ClickHouse MCP 服务器对接。


这些示例基于开源的 mcp-clickhouse 服务器即可运行。如果你想了解它在更宏观 AI 架构中的定位,也可以查看我们的 AgentHouse 演示[https://clickhouse.com/blog/agenthouse-demo-clickhouse-llm-mcp],以及我们对“面向 Agent 的分析”方式的一些探索与思考[https://clickhouse.com/blog/agent-facing-analytics]。


全部五个示例可在 ClickHouse/examples 仓库中获取[https://github.com/ClickHouse/examples/tree/main/ai/mcp]。它们默认连接至 ClickHouse SQL Playground [https://sql.clickhouse.com/],你可以根据以下配置快速部署并运行。


在示例中我们也使用了 Anthropic 的模型,并通过 ANTHROPIC_API_KEY 环境变量设置访问凭证。


1.Agno 示例


我们从 Agno(原名 PhiData)开始说起 —— 它是一个轻量级、高性能的 AI 智能体开发库。



使用 Agno 的 API 十分简洁。我们只需通过命令启动本地 MCP 服务器并初始化 MCPTools 工具集,所有工具会自动注册至 mcp_tools 变量。接下来只需将这些工具传入智能体并调用,即可完成交互流程。


查看完整 Agno 示例[https://github.com/ClickHouse/examples/tree/main/ai/mcp/agno]。


2.DSPy


DSPy 用于语言模型编程的斯坦福框架。



相比其他框架,DSPy 的集成稍显复杂。我们同样需要初始化 MCP 服务器,但与其他框架直接传入命令字符串不同,DSPy 要求将启动命令和参数分别传入。


此外,DSPy 要求每次交互都定义一个 Signature 类,其中明确列出输入字段和输出字段。这个 Signature 类在智能体构建时作为参数传入,并通过 DSPy 提供的 ReAct 类进行智能体初始化。


所谓 ReAct,即“推理与执行” —— 它让 LLM 判断是否需要调用某个工具,或者直接结束对话流程;一旦需要调用工具,模型将决定使用哪个工具,并自动生成所需参数。


在集成过程中,我们需要遍历 MCP 工具列表,并将其转换为 DSPy 所支持的格式。


查看完整 DSPy 示例[https://github.com/ClickHouse/examples/tree/main/ai/mcp/dspy]


3.LangChain


LangChain 构建 LLM 应用的开发框架。



LangChain 的接入方式与 DSPy 类似:初始化 MCP 服务器,调用 ReAct 函数创建智能体,并传入 MCP 工具集合。为了让输出更清晰易读,我们(其实是 Claude!)还写了一段自定义渲染逻辑 UltaCleanStreamHandler,用于格式化返回内容。


查看完整 LangChain 示例[https://github.com/ClickHouse/examples/tree/main/ai/mcp/langchain]


4.LlamaIndex


LlamaIndex 为 LLM 构建的数据框架。



同样遵循标准流程:先初始化 MCP 服务端,再将工具和 LLM 一起初始化为智能体。在实际测试中,我们发现默认的 max_function_calls 设置为 5 次时不足以完成一次完整交互,因此手动将其提升至 10 次以获得更好的效果。


查看完整 LlamaIndex 示例[https://github.com/ClickHouse/examples/tree/main/ai/mcp/llamaindex]


5.PydanticAI


PydanticAI 面向生产环境的 Python 智能体框架。



PydanticAI 提供了最简洁的 API 设计。我们只需初始化 MCP 服务器并将其传入智能体对象。框架会以异步上下文管理器方式运行服务,用户只需在该上下文中发出请求,即可与智能体进行对话。


查看完整 PydanticAI 示例[https://github.com/ClickHouse/examples/tree/main/ai/mcp/pydanticai]


欢迎体验:MCP + ClickHouse 的无限可能


我们对 MCP 与 ClickHouse 的集成探索才刚刚开始,特别期待听到你在项目中如何使用 mcp-clickhouse,也欢迎分享你的实践经验。


立即试用以上集成示例,动手构建属于你的智能体应用吧!如果你遇到任何问题,或者有功能建议,欢迎通过 GitHub 提交 issue,或在 Slack 社区与我们直接交流[https://clickhousedb.slack.com/join/shared_invite/zt-2nvsplppi-I7FnTTjR9zCLAbOZnyqb4g#/shared-invite/email]。


Meetup 活动报名通知


好消息:ClickHouse Hangzhou User Group 第 2 届 Meetup 火热报名中,将于 2025 年 07 月 05 日在杭州西溪万怡酒店(杭州市西湖区蒋村街道文二西路 770 号.中国五村园 8 号楼)举行,扫码免费报名。



征稿启示


面向社区长期正文,文章内容包括但不限于关于 ClickHouse 的技术研究、项目实践和创新做法等。建议行文风格干货输出 &图文并茂。质量合格的文章将会发布在本公众号,优秀者也有机会推荐到 ClickHouse 官网。请将文章稿件的 WORD 版本发邮件至:Tracy.Wang@clickhouse.com。



2025-06-30 15:315323

评论

发布
暂无评论

【直播预告】HarmonyOS 极客松赋能直播第六期:产品创新从哪里来?

HarmonyOS开发者

HarmonyOS

非常小的一个东西,Spring依赖注入Bean类型的8种情况

不在线第一只蜗牛

前端 spring-boot

主流开源分析引擎梳理,看看你最中意谁?| StoneDB数据库观察

StoneDB

MySQL 数据库 StoneDB

制造行业全面预算可以这样管!

用友BIP

全面预算

国企采购堡垒机就选行云管家!优势多多!

行云管家

云计算 云安全 堡垒机 国企

驱动您的在线成功:解密香港云主机的关键优势

一只扑棱蛾子

香港云主机

Stable Diffusion AIGC:3步成为P图大师

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

NLP领域再创佳绩!阿里云机器学习平台 PAI 多篇论文入选 ACL 2023

阿里云大数据AI技术

人工智能 自然语言处理 nlp 企业号 7 月 PK 榜

聊一聊Java中的Steam流 | 京东物流技术团队

京东科技开发者

Java steam 企业号 7 月 PK 榜

CSS中的各种格式化上下文-FC(BFC、IFC、GFC、FFC)| 社区征文

肥晨

年中技术盘点

StoneDB 开源社区月刊 | 202301期

StoneDB

开源社区 StoneDB

促进协作、提高生产力:育碧选择Perforce Helix Core的原因

龙智—DevSecOps解决方案

游戏开发 育碧 刺客信条

CSS架构之BEM设计模式| 社区征文

肥晨

年中技术盘点

使用 INFINI Console 实现 Elasticsearch 的增量数据迁移

极限实验室

数据迁移 infini 实现原理 功能介绍 增量迁移

为什么 MySQL 使用 B+ 树?| StoneDB数据库观察

StoneDB

MySQL 数据库 B+树

复杂「场景」数据导入导出

不在线第一只蜗牛

前端 场景搭建

用友23大行业数智底座解决方案,助力企业高质量发展

用友BIP

数智底座

房地产LED广告显示屏项目方案

Dylan

广告 项目 房地产 LED显示屏

实现价值替代,不只是功能替代

用友BIP

国产替代

合约编写基础知识介绍基础篇

BSN研习社

Midjourney最强劲的对手来临,SDXL被动开源的浪潮,AI生成图片未来可期 | 社区征文

派大星

年中技术盘点

OpenHarmony社区运营报告(2023年6月)

OpenHarmony开发者

OpenHarmony

MySQL之InnoDB存储结构 | 京东物流技术团队

京东科技开发者

MySQL 数据库 innodb 企业号 7 月 PK 榜

TiDB简述及TiKV的数据结构与存储 | 京东物流技术团队

京东科技开发者

数据库 TiDB TiKV 底层架构 企业号 7 月 PK 榜

用css实现简易报警灯| 社区征文

肥晨

年中技术盘点

国产替代的新领域:用友BIP积极投身信创生态建设

用友BIP

国产替代

PCB板为什么要做树脂塞孔?

华秋PCB

PCB 电路板 PCB设计 树脂塞孔 高密布线

浅谈常态化压测 | 京东物流技术团队

京东科技开发者

测试 压力测试 常态化压测 企业号 7 月 PK 榜

温州堡垒机厂商哪家好?咨询电话多少?包含哪些功能?

行云管家

网络安全 堡垒机 温州 温州企业

倒计时3天,京东技术20年实践分享邀您莅临!

京东科技开发者

京东云峰会 企业号 7 月 PK 榜

与 ClickHouse MCP 的集成:打造面向智能体的高效数据体验_数据集成_InfoQ精选文章