产品
解决方案
客户案例
资源中心
活动中心
关于我们
免费资源包
HOT
AI × Lakehouse:实现自然语言驱动的数据分析
数据见闻
2025年9月4日
借助 Lakehouse MCP Server 的50多个工具,让这一切变得像对话一样自然:用户用业务语言提问,AI自动理解并生成查询,Lakehouse在底层高效执行,最终答案以自然语言返回。

导读

过去,数据分析意味着写复杂SQL、等待执行、解读结果。现在,借助 Lakehouse MCP Server 的50多个工具(详见附录工具列表),让这一切变得像对话一样自然:用户用业务语言提问,AI自动理解并生成查询,Lakehouse在底层高效执行,最终答案以自然语言返回。这样的模式不仅降低了数据使用门槛,还加快了决策与创新的节奏,并依托 Lakehouse的实时引擎,确保结果始终鲜活。从过去AI的小规模数据分析,到如今AI × Lakehouse的结合,让智能数据服务真正触手可及。

什么是 MCP:AI与数据系统的标准化桥梁

MCP (Model Context Protocol)是一个标准化的接口协议,它保证了AI与外部系统的交互是安全的、可控的、可扩展的。而云器Lakehouse本身已经是一个高性能、低延迟、支持通用增量计算的数据底座。两者结合,就相当于:

  • MCP提供了“语言 → 调用”的桥梁 :将自然语言转换为系统调用
  • Lakehouse提供了“调用 → 执行”的引擎 :高效执行数据查询和分析

这种架构设计解决了传统数据分析中最大的痛点—技术门槛与业务需求之间的鸿沟。

价值意义:从技术驱动到业务驱动的转变

传统数据平台的使用方式是“写SQL → 系统执行”。这要求用户必须懂 schema、懂SQL语法,还要能把业务问题翻译成查询逻辑。MCP Server的出现,把这个流程替换为:

💡 输入业务语言 → AI 理解并生成查询 → Lakehouse 高效执行 → AI 用自然语言返回答案

这背后的价值体现在三个维度:

1. 认知门槛降低

更多人可以直接与数据对话,而不是依赖数据工程师。业务分析师、产品经理,甚至业务决策者都能直接获取数据洞察,真正实现了数据的民主化。

2. 迭代速度加快

实验和分析不再被阻塞在“写查询 → 等人”的环节。想法可以立即验证,假设可以快速测试,大大缩短了从问题到答案的路径。

3. 实时智能服务

Lakehouse的秒级延迟能力,让AI可以返回「鲜活」的数据。无论是实时监控、动态报表还是即时决策支持,都能基于最新的数据状态进行。

云器 Lakehouse MCP Server:技术架构与特性

💡 云器Lakehouse 正式开放 MCP 协议集成公测。这意味着任何支持 MCP 的 AI 客户端都可以直接与云器 Lakehouse 进行交互,用户仅需使用自然语言,就可以享受企业级数据湖仓的强大能力。

Lakehouse MCP Server 是专为 Lakehouse 平台设计的 MCP 服务器,它将云器 Lakehouse 强大的数据湖仓能力与 AI 助手无缝集成,让用户能够通过自然语言与数据湖仓进行交互。

核心特性

  • 协议支持 :支持 HTTP (Streamable)、SSE、Stdio 三种传输协议
  • 标准兼容 :完全遵循 MCP 官方规范,提供标准 /mcp 端点
  • 广泛兼容 :支持 Claude Desktop、Dify、n8n、Cursor 等主流平台

部署环境要求

系统要求

  • 操作系统:MacOS、Windows、Linux
  • Docker:20.10+ 版本
  • 内存:最低 2GB,推荐 8GB
  • CPU:最低 2 核,推荐 4 核
  • 存储:最低 10GB 可用空间

快速开始:从零到一构建智能数据对话

本示例介绍采用 HTTP (Streamable) 协议方式部署(推荐),同时 Claude Desktop (MCP 客户端) 和MCP服务器都运行在同一台本地计算机(localhost)上。该架构同样支持分布式部署,即客户端、服务器和 Lakehouse 平台可以分别位于不同的远程主机上。

40311d39d692229d22ad3f03700874f2.png

步骤0:MCP Server 端配置准备

Docker 环境准备:访问https://www.docker.com/products/docker-desktop/ 下载 Docker Desktop for Mac。

  1. 验证安装 Docker Desktop (MacOS 环境)保证 Docker 版本20.10+
docker --version
  1. 配置 Docker Desktop:
  • 分配至少 4GB 内存给 Docker
  • 启用文件共享功能

步骤1:MCP Server 端:拉取最新云器的 MCP Server 镜像

docker pull czqiliang/mcp-clickzetta-server:latest

步骤2:MCP Server 端:创建工作目录(如果不存在)

  • macOS:
mkdir -p ~/.clickzetta/lakehouse_connection
  • Windows PowerShell:
New-Item -ItemType Directory -Path "$env:USERPROFILE\.clickzetta/lakehouse_connection" -Force

在上述路径下,新建名称为connections.json的配置文件并添加 Lakehouse 实例的连接信息,配置模板如下(如果连接两个 Lakehouse 实例,用逗号分隔):

{  
	"connections": [    
		{      
			"is_default": true,      
			"service": "cn-shanghai-alicloud.api.clickzetta.com",      
			"username": "__your_name__",      
			"password": "__your_password__",      
			"instance": "__your_instanceid__",      
			"workspace": "__your_workspacename__",      
			"schema": "public",      
			"vcluster": "default_ap",      
			"description": "UAT environment for testing",      
			"hints": {        "sdk.job.timeout": 300,        
			"query_tag": "mcp_uat"      },      
			"name": "Shanghai production env",      
			"is_active": false,      
			"last_test_time": "2025-06-30T19:55:51.839166",      
			"last_test_result": "success"    
		}  
	]
}

参数说明:

参数名说明示例值
is_default是否为默认连接配置true
service服务端点地址请参考文档
https://www.yunqi.tech/documents/Supported_Cloud_Platforms上海阿里云:cn-shanghai-alicloud.api.clickzetta.com

北京腾讯云:ap-beijing-tencentcloud.api.clickzetta.com

北京 AWS :cn-north-1-aws.api.clickzetta.com

广州腾讯云:ap-guangzhou-tencentcloud.api.clickzetta.com

新加坡阿里云:ap-southeast-1-alicloud.api.singdata.com 新加坡AWS:ap-southeast-1-aws.api.singdata.com | | username | 用户名,用于身份验证 | "your_name" | | password | 密码,用于身份验证 | "your_password" | | instance | 实例ID,标识特定的Lakehouse实例 | "your_instanceid" | | workspace | 工作空间名称,用于数据隔离和组织 | "your_workspacename" | | schema | 数据库模式名称 | "public" | | vcluster | 虚拟集群名称,用于计算资源管理 | "default_ap" | | description | 连接配置的描述信息 | "PRD environment for marketing" | | hints | 性能优化和标识配置对象 | {...} | | hints.sdk.job.timeout | SDK作业超时时间(秒) | 300 | | hints.query_tag | 查询标签,用于查询追踪和标识 | "mcp_uat" | | name | 连接配置的名称标识 | "Shanghai production env" | | is_active | 连接是否处于活跃状态 | false | | last_test_time | 最后一次连接测试的时间戳(ISO格式) | "2025-06-30T19:55:51.839166" | | last_test_result | 最后一次连接测试的结果状态 | "success" |

步骤3:MCP Server 端:启动 MCP Server 镜像

创建docker-compose.yml文件,拷贝内容到文件中(文件内容详见附录)

在包含该文件的目录下打开终端或命令行,并执行以下命令。

docker compose up -d

预期输出:

bash-3.2$ docker compose up -d
[+] Running 4/4 
✔ Network mcp_docker_clickzetta-net  Created       0.0s   
	✔ Container clickzetta-sse           Started       0.2s   
	✔ Container clickzetta-http          Started       0.2s   
	✔ Container clickzetta-webui         Started       0.2s

校验状态,使用docker compose ps --format "table {{.Name}}\t{{.Service}}\t{{.Status}}" 命令,预期输出如下(忽略 WARNING 信息):

bash-3.2$ docker compose ps --format "table {{.Name}}\t{{.Service}}\t{{.Status}}"

NAME               SERVICE            STATUS
clickzetta-http    clickzetta-http    Up 5 hours (unhealthy)
clickzetta-sse     clickzetta-sse     Up 5 hours (unhealthy)
clickzetta-webui   clickzetta-webui   Up 5 hours (unhealthy)

如果需要关闭,请在包含docker-compose.yml文件的目录下执行:docker compose down

步骤4:配置 Claude Desktop

本示例选择的MCP 客户端工具是Claude Desktop,主机与MCP Server 端位于同一台主机

找到并打开 Claude Desktop 配置文件:

macOS 操作步骤:

  • 打开 Finder
  • 按 Cmd+Shift+G
  • 粘贴路径:~/Library/Application Support/Claude
  • 双击打开 claude_desktop_config.json(用文本编辑器)

Windows 操作步骤:

  • 按 Win+R 打开运行对话框
  • 输入 %APPDATA%\Claude 并回车
  • 右键点击 claude_desktop_config.json
  • 选择"编辑"或"用记事本打开"

将以下内容复制到配置文件(替换原有内容或添加到mcpServers 中):

请输入 MCP Server 的地址:如果服务器与客户端运行在同一台机器上,请填写 localhost;否则,请填写服务器的 IP 地址。

{  
	"mcpServers": {    
		"clickzetta-http": {      
			"command": "npx",      
			"args": [        
				"-y", "mcp-remote",        
				"http://<YOUR_SERVER_IP>:8002/mcp",        
				"--allow-http",        
				"--transport", "http"      
			]    
		}  
	}
}

配置完成!

另外:Claude Desktop 支持通过多种方式连接后端的 MCP Server,以适应不同的部署环境和性能需求。上面的示例介绍了 HTTP (Streamable) 协议连接方式,如果想利用 SSE 或者 STDIO 协议连接,配置也很简单:

SSE 连接方式(远程服务)

SSE (Server-Sent Events) 是一种基于 HTTP 的长连接技术,允许服务器向客户端单向推送消息。相比于传统的轮询方式,SSE 能够以更低的延迟实现实时通信。

  • 适用场景: 需要从服务器实时接收数据流或更新通知的场景。
  • Docker Server 配置参考: 此方式对应启动容器中的 clickzetta-sse 的服务,该服务在8003端口上提供服务。
  • 配置示例: 在Claude Desktop的claude_desktop_config.json配置文件中更新如下信息,连接到远程SSE端点。

{  
	"mcpServers": {    
		"clickzetta-remote-sse": {      
			"command": "npx",      
			"args": [        
				"-y", "mcp-remote",        
				"http://localhost:8003/sse",        
				"--allow-http",        
				"--transport", "sse"      
			]    
		}  
	}
}

说明:

  • 请将 <YOUR_SERVER_IP> 替换为 MCP Server 实际的 IP 地址或域名。
  • 目标端口为8003,端点路径为 /sse。
  • -transport sse 参数指明了使用SSE通信协议。

STDIO 连接方式(本地进程)

此方式主要用于本地开发和调试。Claude Desktop 会将 MCP Server 作为一个子进程直接在本地启动,并通过标准输入/输出(STDIO)进行通信。这种方式延迟最低,但不适用于远程连接。

  • 适用场景: 本地开发、单机部署。
  • Docker Server 配置参考: 此方式对应启动容器中的 clickzetta-stdio 的服务,该容器镜像会随着 Claude Desktop 的开启和关闭,自动操作容器镜像拉起和停止。
  • 配置示例: 在Claude Desktop的 claude_desktop_config.json 配置文件中更新如下信息,直接指定启动本地 Server 的命令。

注意:

  1. 配置文件中-v 后的路径中USERNAME请根据系统的实际路径进行修改。

  2. 请使用docker compose down关闭创建的相关容器,因为此种方式下,Claude Desktop会随着自身的开启和关闭,自动操作容器镜像拉起和停止。

{  
	"mcpServers": {    
		"clickzetta-stdio": {      
			"command": "docker",      
			"args": [        
				"run", "-i", "--rm",        
				"--stop-timeout", "60",        
				"-p", "8502:8501",        
				"-v", "/Users/derekmeng/.clickzetta:/app/.clickzetta",        
				"czqiliang/mcp-clickzetta-server:latest"      
			]    
		}  
	}
}

说明:

  • command和args 直接定义了如何在本地启动 MCP Server。
  • 无需指定IP地址和端口。
  • -transport stdio参数指明了使用STDIO通信协议。

开始使用:

部署验证

  1. 打开Claude Desktop,在输入框中,发送以下指令:
列出所有 Clickzetta Lakehouse 可用的 MCP工具

如果连接成功,您将看到一个包含 50+ 个工具的列表(注意:随着版本更新,工具的具体数量可能会有变化)

  1. 验证WebUI界面

在您的浏览器中访问以下地址:http://localhost:8503,预期可以展示以下页面:

502a5900f01eaef5cad6719f26bfed37.png

如果以上两个步骤都顺利完成,恭喜您,您的应用已成功安装!

第二步:配置您的第一个数据源 (Lakehouse)

接下来,让我们配置一个Lakehouse连接,以便Claude可以访问您的数据。

1、打开连接管理器

访问WebUI界面http://localhost:8503,然后在左侧菜单中选择「连接管理」。

2、添加并填写连接信息

点击「添加新连接」按钮,并根据提示准确填写您的Lakehouse连接信息(如主机、端口、凭证等)

e05e616f5a76f52a73d8b08847cd6a45.png

测试并保存

  1. 填写完毕后,点击「测试连接」按钮,确保所有配置信息无误且网络通畅。
  2. 测试通过后,点击「保存」完成配置。

第三步:开始您的第一个查询

现在一切准备就绪!您可以开始与您的数据进行交互了。尝试在Claude Desktop中提问:

"帮我看下有哪些 Lakehouse 实例"

高级配置:配置云器产品文档知识库

这个步骤会将云器Lakehouse产品知识库表集成进来,构建一个智能问答知识库。配置完成后,您将能够在MCP Client(如Claude Desktop)中,通过自然语言提问的方式,快速获得关于Lakehouse操作的官方指导和答案。

该功能的核心是利用嵌入服务 (Embedding) 和向量搜索 (Vector Search) 技术,将非结构化的文档转化为可供机器理解和检索的知识库。

第一步:配置嵌入服务

此步骤的目的是告诉MCP系统如何将用户的“问题”也转换成向量,以便在知识库中进行匹配。

1、在MCP Server管理界面,从左侧导航栏进入「系统配置」。

2、在主配置区,选择 「嵌入服务」 标签页。

3、找到并填写 DashScope 配置(默认)部分:

  • API Key :粘贴您的阿里云百炼平台的 API 密钥。这是调用模型的身份凭证,请妥善保管。
  • 向量维度 (Vector Dimension) :输入您选择的嵌入模型所输出的向量维度。此值必须与知识库文档向量化时使用的维度完全一致。例如,截图中 text-embedding-v4 模型的维度是 1024。
  • 嵌入模型 (Embedding Model) :选择或填写用于将文本转换为向量的模型名称,例如 text-embedding-v4。
  • 最大文本长度 (Max Text Length) :设置模型一次可以处理的文本单元(Token)的最大数量。如果问题过长,超出部分将被忽略。

24f6dcea0797163d433ef0846e27edc2.jpg

  1. 点击保存嵌入服务配置 按钮。

第二步:配置向量搜索

此步骤的目的是告诉MCP系统去哪里、以及如何搜索已经存储好的文档知识库。

  1. 系统配置 页面,切换到 「向量搜索」 标签页。

  2. 填写向量表配置 部分:

  • 向量表名称 (Vector Table Name) :准确填写存储了文档向量的完整表名。格式通常为数据库名.模式名.表名,例如clickzetta_sample_data.clickzetta_doc.kb_dashscope_clickzetta_elements。
  • 嵌入列 (Embedding Column) :填写该表中用于存储文本向量的列名,例如 embeddings。
  • 内容列 (Content Column) :填写该表中用于存储原始文本内容的列名,例如 text。当系统找到相关答案时,这里的内容会作为主要参考。
  • 其他列 (Other Columns) :可选。填写您希望一并检索出的元数据列,如 file_directory, filename,这有助于用户追溯信息的原始出处。
  1. 配置 搜索参数:保持默认即可,如果想进行修改,请参考下面的说明:
  • 距离阈值 (Distance Threshold) :设置一个相似度匹配的严格程度。系统会计算问题向量与文档向量之间的“距离”,只有距离小于此值的文档才会被视为相关。值越小,代表匹配要求越严格。通常建议从0.80 开始尝试。
  • 返回结果数 (Number of Results to Return) :定义单次查询从数据库中检索出的最相关文档的数量。例如,设置为5表示每次找出5个最相关的文档片段。
  • 启用重排序 (Enable Reranking) :勾选此项后,系统会对初步检索出的结果进行二次智能排序,以提高最准确答案出现在最前面的概率。

a3666d23682faa27c6e91f8fed41abee.jpg

  1. 点击保存向量搜索配置按钮。

其他典型使用场景

请参考公众号文章:

MCP Server 如何助力 Lakehouse 实现 AI 驱动的 6 大数据应用场景

我们期待与您一起探索 AI 驱动的数据分析新时代!

附录

  1. 创建docker-compose.yml文件内容,详见:

https://www.yunqi.tech/documents/LakehouseMCPServer_intro

  1. Lakehouse MCP工具列表:
序号工具名称功能类别主要功能支持操作
1read_query数据查询执行SELECT查询并返回结果支持自动结果限制,Spark SQL兼容
2write_query数据操作执行写操作SQL语句INSERT/UPDATE/DELETE/CREATE/DROP
3vector_searchAI搜索对表执行向量搜索/知识检索智能列名推断,支持分区过滤
4match_all全文搜索使用MATCH_ALL函数进行全文搜索自动检测可搜索文本列
5get_product_knowledge知识检索从向量数据库中搜索产品知识语义相似性搜索
6show_object_list对象管理列出数据库对象,支持智能筛选智能分析、精确统计、过滤建议
7desc_object对象查看获取数据库对象的详细信息支持扩展模式、历史信息、索引信息
8desc_object_history版本管理查看对象的历史版本和变更记录支持TABLE/VIEW/FUNCTION/PIPE
9drop_object对象删除安全删除各种类型的数据库对象确认机制、UNDROP提示
10restore_object时间旅行将对象恢复到指定历史时间点支持表、动态表、物化视图
11undrop_object对象恢复恢复被删除的对象支持表、动态表、物化视图
12create_table表创建创建ClickZetta表,支持完整语法分区、分桶、索引、约束、生成列
13create_external_table外部表创建外部表(Delta Lake格式)仅支持Delta Lake,对象存储
14create_dynamic_table动态表创建动态表,自动维护查询结果自动刷新、增量更新
15create_table_stream流表创建表流,用于捕获表变更数据CDC功能,跟踪INSERT/UPDATE/DELETE
16create_schema模式创建创建新的SCHEMA(数据模式)逻辑分组,权限管理
17create_external_schema外部模式创建外部SCHEMA映射基于CATALOG CONNECTION
18create_catalog_connection目录连接创建外部元数据目录连接支持Hive、OSS、Databricks
19create_external_catalog外部目录创建外部CATALOG挂载基于已创建的CATALOG CONNECTION
20create_storage_connection存储连接创建存储系统连接HDFS、OSS、COS、S3、Kafka
21create_api_connectionAPI连接创建API CONNECTION用于云函数阿里云FC、腾讯云函数、AWS Lambda
22create_volume存储卷创建EXTERNAL VOLUME访问对象存储自动验证bucket存在性
23put_file_to_volume文件上传将文件上传到Volume存储支持URL、本地文件、直接内容
24get_file_from_volume文件下载从Volume下载文件到本地支持单个或批量文件下载
25list_files_on_volume文件列表列举Volume中的文件列表支持子目录浏览、正则筛选
26remove_file_from_volume文件删除从Volume删除文件或目录支持文件和目录删除
27create_index索引创建创建索引VECTOR/INVERTED/BLOOMFILTER三种类型
28create_functionUDF创建创建基于SQL的用户自定义函数仅支持SQL表达式和查询
29create_external_function外部函数创建外部函数,支持Python/Java代码云函数执行,复杂业务逻辑
30package_external_function函数打包智能打包Python外部函数及依赖生产/开发/Docker三种模式
31get_external_function_guide函数指南获取外部函数开发指南Python开发规范、最佳实践
32get_external_function_template函数模板获取外部函数开发模板AI文本、多模态、向量、业务场景
33create_pipe管道创建创建PIPE管道用于自动化数据导入智能模式、手动模式
34alter_pipe管道修改修改PIPE属性suspend/resume、批处理参数
35create_vcluster集群创建创建虚拟计算集群资源隔离、工作负载管理
36alter_vcluster集群修改修改计算集群配置启停、属性配置、说明更新
37get_current_context上下文查看获取当前连接的上下文信息连接、WORKSPACE、SCHEMA、VCLUSTER
38switch_context上下文切换切换当前上下文会话级切换,智能路由
39switch_vcluster_schema环境切换切换虚拟集群和模式在当前workspace内切换
40switch_workspace工作空间切换workspace重新建立数据库连接
41switch_lakehouse_instance实例切换切换多云环境或Lakehouse环境多云、多环境、多地域切换
42import_data_src数据导入从URL、文件路径或Volume导入数据支持多种格式,三种写入模式
43import_data_from_db数据库导入从外部数据库导入数据MySQL、PostgreSQL、SQLite
44preview_volume_data数据预览对Volume文件进行SQL查询分析预览模式、导入模式
45alter_dynamic_table动态表修改修改动态表属性suspend/resume、注释、列操作
46modify_dynamic_table_data动态表数据对动态表执行数据修改操作INSERT/UPDATE/DELETE/MERGE
47refresh_dynamic_table动态表刷新手动刷新动态表数据立即刷新数据
48create_knowledge_base知识库创建创建知识库,支持文档向量化非结构化ETL管道
49add_knowledge_entry知识添加添加知识条目到向量数据库产品知识、技术规范存储
50add_data_insight洞察记录添加数据洞察到备忘录分析过程中的重要发现
51manage_share共享管理管理SHARE对象跨实例数据共享,OUTBOUND/INBOUND
52show_job_history作业历史查询系统级作业执行历史性能分析、问题排查
53show_table_load_history加载历史查询表的COPY操作加载历史文件导入历史追踪(7天保留)
54smart_crawl_to_volume智能爬取智能抓取URL内容到Volumesitemap、网页、文档抓取
55smart_crawl_url网页抓取智能网页内容抓取高级提取策略、智能分块
56crawl_single_page单页抓取单页面网页抓取CSS选择器、原始HTML
57get_operation_guide操作指南获取特定操作的综合指南详细步骤、最佳实践、常见问题
58run_happy_paths演示路径执行Lakehouse快乐路径演示关键功能展示、完整使用流程

🎁 新用户专享福利

✅  1 TB 存储 · 1 CRU时/天计算 · 1 年全托管体验

➤ 即刻访问云器官网领取:https://www.yunqi.tech/product/one-year-package

云器Lakehouse现已开放注册
欢迎申请体验,每个账号开通会获赠一定金额的代金券,助您快速试用体验。如需更多代金券额度,请您联系商务获取。
预约咨询
微信咨询
电话咨询