Hologres对接MCP协议,通过与众多支持MCP的平台联动,可以构建跨数据源、多步骤分解的数据分析Agent。同时,由于Hologres具备高性能数据分析、湖仓一体数据分析的能力,可以快速输出数据结果,并与湖仓的历史数据进行联合分析,极大简化分析人员的分析流程,提高分析效率。
背景信息
在数据分析领域,大模型(LLM)具备强大语言理解能力,NL2SQL等各类智能化工具也极大提升了数据分析人员的分析效率,但仍旧面临不少挑战:
LLM缺乏实时数据接入能力:LLM无法获取实时数仓数据,动态调用专业工具链,上下文记忆链路短,数据分析经过多步骤分解后逐渐出现幻觉。
跨数据源分析困难:数据分布在不同系统,例如在线数据平台、本地CSV/Excel等文件,跨系统数据整合需大量准备时间,取数仍然需要大量依赖取数工程师和取数平台。
MCP(模型上下文协议)通过标准化接口架构,将 AI 模型的决策逻辑与外部资源解耦,形成 "智能大脑 + 外接四肢" 的协同模式,旨在解决大模型与外部工具、数据源的集成难题。LLM通过MCP接入各种数据分析工具或者数据仓库能力时,即可构建跨数据源、多步骤分解的数据分析Agent。
场景说明
Hologres基于MCP协议实现Hologres MCP Server,赋能LLM实时数仓分析能力。当LLM接入Hologres MCP Server时,可实现如下场景:
实时数据中枢:通过 MCP 管道实现Hologres与 API / 数据库 / 物联网设备等多源数据毫秒级接入。同时,Hologres作为高性能实时数仓,在Agent的逐步分解分析时,输出结果更快。
湖仓数据加速:支持Agent通过Hologres直接对MaxCompute、OSS等湖仓数据访问,无需频繁搬运数据,提升MaxCompute透明加速性能。
智能数据工厂:Hologres 实时数据库自动完成数据清洗、标准化与元数据管理,提升预处理效率。
对话式分析引擎:LLM 直接调用实时数据接口,支持自然语言提问生成动态可视化报告。
资源隔离与降本:Hologres支持秒级扩缩容,Agent数据分析资源可以与数据生产系统隔离,降低分析成本。
功能介绍
Hologres MCP Server是对Hologres产品能力的外部实现。Hologres MCP Server 0.1.7版本提供的组件如下:
工具包
工具名称 | 说明 |
工具名称 | 说明 |
execute_select_sql | 在 Hologres 服务器上执行一个 SELECT SQL 查询。 |
execute_dml_sql | 在 Hologres 服务器上执行一个 DML(INSERT、UPDATE、DELETE)SQL 查询。 |
execute_ddl_sql | 在 Hologres 服务器上执行一个 DDL(CREATE、ALTER、DROP)SQL 查询。 |
gather_table_statistics | 收集表的统计信息。 |
get_query_plan | 获取查询计划。 |
get_execution_plan | 获取执行计划。 |
资源包
资源名称 | 说明 |
资源名称 | 说明 |
hologres:///schemas | 获取数据库中的所有模式。 |
hologres:///{schema}/tables | 列出模式中的所有表。 |
hologres:///{schema}/{table}/partitions | 列出分区表的所有分区。 |
hologres:///{schema}/{table}/ddl | 获取表的 DDL。 |
hologres:///{schema}/{table}/statistic | 显示已收集的表统计信息。 |
system:///{+system_path} | system_path系统路径包含:
|
最新版本更新说明可查看版本的Release Note。
快速体验
当您完成Hologres + MCP + LLM的Agent搭建之后,您可快速体验数据分析Agent。本案例以Cline为Agent对话窗口,以通义千问为LLM,演示通过Agent进行实时数据分析。
您只需输入预设问题并执行:帮我从Hologres中读取数据,分析下在hologres_dataset_tpch_10g这个schema下数据,分析下 1995年相较于1994年在 BRAZIL 销售情况的变化,如何提升销售额。并使用中文回答。答案中可以使用一些图表去解释一些信息,图表使用html写。
Agent 拆解数据分析步骤并通过Hologres运行:
调用
execute_select_sql
工具,查询 schema 信息,获取所有表。调用
execute_select_sql
工具,查询 orders 表结构,确认和销售额相关。调用
execute_select_sql
工具,查询 nation 表结构,获取国家字段。调用
execute_select_sql
工具,查询 customer 表结构,挖掘国家和销售额字段关系。调用
execute_select_sql
工具,构造联表查询语句,获取目标的销售数据。调用
execute_select_sql
工具,将销售额求和,获得最终结果。LLM 根据SQL结果,生成最终结果和图表。
运行过程中系统会提示您确认并获取一些相关信息。您可以单击Approve同意该操作,或者单击Reject拒绝该操作。
每次运行关键步骤拆解过程可能稍有不同,不同LLM解析也会不同,具体以实际情况为主。
搭建Agent
本案例以Cline例为您演示如何使用Hologres + MCP + LLM 搭建数据分析Agent。
准备工作
准备Hologres实例:购买Hologres并创建数据库。您可按需准备测试数据,也可直接使用您的业务数据。
准备Python相关环境:安装Python 3.10及以上版本;安装uv 0.6.7及以上版本。
准备MCP客户端:完成安装VS Code客户端并安装Cline扩展程序。您也可选择其他支持MCP客户端,例如Claude Desktop、Cursor、Cherry Studio等。
步骤一:配置LLM的API Key
安装完Cline扩展程序后,请按照以下步骤配置API Key信息。这里将以使用OpenAI Compatible模式连接阿里云百炼API为例进行配置说明。
其它模式连接模型,请根据界面实际参数进行相关配置。
单击VS Code客户端左侧导航栏的
图标,进入Agent对话窗口。
单击Cline页中的Use your own API key,根据下表参数说明进行相关配置。
单击下方的Let's go!按钮,完成API Key的配置。
步骤二:下载Server源码
支持通过下载源码至本地或者直接通过PIP方式安装Python包的方式,安装Hologres MCP Server。
本例以macOS系统为例,其他系统操作类似。
安装hologres-mcp-server的Python包。
pip3 install hologres-mcp-server
安装GIt。如果您已完成安装,请跳过该步骤。
brew install git
从Github中下载源码。
git clone https://github.com/aliyun/alibabacloud-hologres-mcp-server.git
步骤三:配置MCP Server
进入VS Code的Cline拓展程序,配置MCP Server。
单击Cline页右上角的
图标,进入MCP Server的Marketplace页签。
单击切换至Installed页签。
单击Configure MCP Servers,配置Hologres MCP Server。
若您需使用DataWorks OpenAPI能力,可同时接入DataWorks MCP Server。
PIP包模式本地文件模式{ "mcpServers": { "hologres-mcp-server": { "command": "uv", "args": [ "run", "--with", "hologres-mcp-server", "hologres-mcp-server" ], "env": { "HOLOGRES_HOST": "host", "HOLOGRES_PORT": "port", "HOLOGRES_USER": "access_id", "HOLOGRES_PASSWORD": "access_key", "HOLOGRES_DATABASE": "database" } } } }
参数
说明
command
此处填写uv,表示hologres-mcp-server提供的指令方式。
args
此处表示hologres-mcp-server的指令参数。
env
HOLOGRES_HOST
Hologres实例公网域名,请在Hologres控制台进入 处获取网络域名。
您需单击开启Hologres实例的公网访问。
HOLOGRES_PORT
HOLOGRES_USER
阿里云账号的Access ID和Access Key,您可在RAM控制台获取。
HOLOGRES_PASSWORD
HOLOGRES_DATABASE
Hologres需要连接的数据库名称。
{ "mcpServers": { "hologres-mcp-server": { "command": "uv", "args": [ "--directory", "/path/to/alibabacloud-hologres-mcp-server", "run", "hologres-mcp-server" ], "env": { "HOLOGRES_HOST": "host", "HOLOGRES_PORT": "port", "HOLOGRES_USER": "access_id", "HOLOGRES_PASSWORD": "access_key", "HOLOGRES_DATABASE": "database" } } } }
参数
说明
command
此处填写uv,表示hologres-mcp-server提供的指令方式。
args
此处表示hologres-mcp-server的指令参数,将"/path/to/alibabacloud-hologres-mcp-server"替换成您本地hologres-mcp-server所在的绝对路径即可。
env
HOLOGRES_HOST
Hologres实例公网域名,请在Hologres控制台进入 处获取网络域名。
您需单击开启Hologres实例的公网访问。
HOLOGRES_PORT
HOLOGRES_USER
阿里云账号的Access ID和Access Key,您可在RAM控制台获取。
HOLOGRES_PASSWORD
HOLOGRES_DATABASE
Hologres需要连接的数据库名称。
编辑完配置信息后,请按
Ctrl+S
保存并加载您所配置的MCP Server信息。看到如下加载成功的Tools可确认alibabacloud-hologres-mcp-server
已安装成功。
步骤四:使用Agent
此时Cline已经配置完毕,您已获得基于Hologres + MCP + LLM的数据分析Agent。
单击Cline页右上角的
图标,进入Cline的对话页面。
在Cline页下方对话栏输入任务指令,点击发送即可。
示意指令:帮我从Hologres中读取数据,分析下在hologres_dataset_tpch_10g这个schema下数据,分析下 1995年相较于1994年在 BRAZIL 销售情况的变化,如何提升销售额。并使用中文回答。答案中可以使用一些图表去解释一些信息,图表使用html写。
相关文档
若您需使用DataWorks MCP Server,请参见DataWorks Agent。更多阿里云MCP Server和开源MCP Server,您可按需接入。
- 本页导读
- 背景信息
- 场景说明
- 功能介绍
- 工具包
- 资源包
- 快速体验
- 搭建Agent
- 准备工作
- 步骤一:配置LLM的API Key
- 步骤二:下载Server源码
- 步骤三:配置MCP Server
- 步骤四:使用Agent
- 相关文档