StarRocks MCP Server 开源发布:为 AI 应用提供强大分析中枢

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: StarRocks MCP Server 提供通用接口,使大模型如 Claude、OpenAI 等能标准化访问 StarRocks 数据库。开发者无需开发专属插件或复杂接口,模型可直接执行 SQL 查询并探索数据库内容。其基于 MCP(Model Context Protocol)协议,包含工具、资源和提示词三类核心能力,支持实时数据分析、自动化报表生成及复杂查询优化等场景,极大简化数据问答与智能分析应用构建。项目地址:https://github.com/StarRocks/mcp-server-starrocks。

过去,开发者要让大模型(LLM)使用数据库查询数据,往往需要开发专属插件、设计复杂的接口或手动构建 Prompt,这不仅费时费力,而且很难在不同模型之间复用。StarRocks MCP Server 提供了一个“通用适配器”接口,让各种 LLM(如 Claude、OpenAI、Gemini)都能标准化地访问 StarRocks,使得模型能够直接执行 SQL 查询并探索数据库内容,无需复杂的配置或集成。

这意味着:

  • 无需开发专用 Agent 插件
  • 模型自动发现和调用 StarRocks 暴露的查询/分析工具
  • 构建数据问答、智能分析、自动报表等应用变得更简单

👉🏻 项目地址:https://github.com/StarRocks/mcp-server-starrocks

什么是 MCP?

首先,我们来了解什么是 MCP。MCP(Model Context Protocol) 是一种用于规范模型与上下文交互的通信协议,旨在标准化模型输入输出的数据结构、元信息传递及上下文管理机制。它通过定义统一的接口协议(如请求/响应格式、状态跟踪、多轮对话标识等),确保模型在复杂应用场景(如多模态交互、长上下文推理)中高效处理上下文依赖关系,同时支持动态上下文更新与历史信息检索。典型应用包括大语言模型(LLM)的对话系统、知识增强推理等。

通俗的来说,MCP 就像 AI 世界的“USB 接口”,它提供了一种通用标准,让各种 AI 模型和智能代理(agents)能够无缝连接、交换信息,就像 USB 让不同品牌的设备(鼠标、键盘、硬盘等)都能即插即用一样。通过 MCP,不同 AI 组件可以像乐高积木一样自由组合,使 AI 变得更加智能、灵活和协作高效。

(MCP 架构示意图)

MCP 核心组件

MCP 的核心是一个简单但强大的客户端-服务器架构,用于将语言模型与现实世界的功能连接起来。

你可以把它想象成一个智能家居中控系统:

MCP Host(宿主) = 智能助手(如小爱同学、Alexa)

MCP Client (客户端)= 控制中枢

MCP Server (服务器)= 各种设备(灯、空调、门锁等)

你对智能助手说“打开空调”,你不需要知道空调的品牌、遥控器协议或者哪个网关。系统会通过统一协议找到正确的设备、下发正确的指令。在 MCP 里,LLM 也是这样发起一个请求,比如“获取销售报表”,Client 就会找到对应的数据源 Server,并返回数据。

这三大组件的作用如下:

  • MCP Host:基于 LLM 的应用程序,如 Claude Desktop 或未来集成 AI 的 IDE,用户通过它提出问题或发起操作。
  • MCP Client:处理连接逻辑。每个客户端与一个服务器建立连接,负责通信和协调。
  • MCP Server:暴露具体能力,如文件访问、天气 API 等。每个服务器通过标准接口提供一组特定的工具、资源或提示。

MCP Server 提供三类核心能力:

  1. 工具(Tools):模型可以调用的可执行函数,如“获取天气预报”或“运行 shell 命令”。模型可自行决定何时使用。
  2. 资源(Resources):如文件、日志或 API 响应等。这些是模型可以读取但不能修改的上下文信息。客户端负责决定何时展示哪些资源。
  3. 提示词(Prompts):预设的模板,引导模型如何互动。例如生成提交信息、进行调试指导。通常由用户选择,而非模型自行决定。

StarRocks MCP 功能介绍

StarRocks MCP Server 充分利用了 MCP 的核心能力,为大语言模型提供了与 StarRocks 数据库进行深度交互的强大工具集和丰富的上下文资源。具体来说,它实现了以下功能:

  1. 工具 (Tools):这些是模型可以按需调用的“技能”,使其能够主动与 StarRocks 交互:
  • db_overview:获取指定数据库中所有表的概览信息。模型可以提供数据库名(若未提供且配置了默认数据库,则使用默认库)。此工具会遍历库中所有表,并为每张表调用 table_overview 的逻辑获取其详情。同样支持缓存和强制刷新。
  • table_overview:快速获取指定表的概览信息。模型只需提供表名(可包含数据库名,如 db_name.table_name;若未指定数据库名且配置了默认数据库,则使用默认库)。此工具会返回表的列定义 (DESCRIBE table)、总行数 (COUNT(*)) 以及少量样本数据 (SELECT * FROM table LIMIT 3)。为了提高效率,该信息会被缓存,并可通过 refresh=true 参数强制刷新。
  • read_query:执行只读的 SQL 查询(如 SELECT 语句),并以 CSV 格式返回结果集,包含列名和数据行。这使得模型可以直接获取和分析数据。
  • write_query:执行数据定义语言 (DDL) 或数据操作语言 (DML) 等写操作,如 CREATE TABLE, INSERT, UPDATE, DELETE,并返回操作结果(如影响行数、执行时间)。
  • query_and_plotly_chart:一个强大的分析工具,它首先执行用户提供的 SQL 查询从 StarRocks 获取数据,然后利用该数据和用户指定的 Plotly Express 表达式(一个 Python 函数调用字符串)动态生成图表。图表最终以 Base64 编码的图片形式返回给模型,极大增强了数据洞察的可视化能力。
  1. 资源 (Resources):这些是模型可以读取的上下文信息,帮助模型理解 StarRocks 的结构和状态:
  • starrocks:///databases:列出 StarRocks 集群中的所有数据库名称。
  • starrocks:///{db}/tables:列出指定数据库 ({db}) 中的所有表名。
  • starrocks:///{db}/{table}/schema:获取指定数据库 ({db}) 中特定表 ({table}) 的创建语句 (SHOW CREATE TABLE {db}.{table} 的结果),详细展示表的结构信息。
  • proc:///{+path}:访问 StarRocks 内部的 /proc 路径(如 /proc/backends, /proc/dbs/{db_id}),获取集群、节点、数据库、表、事务、作业等详细的运行时状态和元数据信息,类似于 Linux 的 /proc 文件系统。这为模型提供了深入了解 StarRocks 内部运作的窗口。
  1. 提示词 (Prompts):目前 StarRocks MCP Server 暂未定义特定的预设提示词。MCP 的设计允许未来根据场景需求灵活添加,以更好地引导模型与 StarRocks 进行特定类型的交互。

通过这些精心设计的工具和资源,StarRocks MCP Server 使大语言模型能够像经验丰富的数据分析师一样,自主地探索数据、执行分析任务,并以多样化的形式(文本、图表)呈现结果,从而将 StarRocks 的强大 OLAP 能力无缝对接到 AI 应用中。

StarRocks MCP Server 应用场景

了解了什么是 MCP 之后,来了解一下 StarRocks MCP Server 能应用在哪些场景中:

  1. 实时数据分析与 AI 增强决策
  • 目标:让 AI 模型(如 LLM)能够实时查询 StarRocks 中的业务数据,并结合历史上下文生成更精准的分析报告或建议。
  • 场景

金融风控:AI 结合 StarRocks 的实时交易数据,动态评估风险并生成预警。

电商推荐:基于用户实时行为(如浏览、加购)和 StarRocks 的 OLAP 分析,优化个性化推荐策略。

  1. 自动化数据报表与 BI 增强
  • 目标:通过 MCP 协议,让 AI 自动生成 SQL 查询、执行聚合计算,并返回可视化报表,减少人工干预。
  • 场景

广告投放分析:AI 自动查询 StarRocks 的广告曝光、点击数据,生成优化建议。

运营驾驶舱:结合自然语言交互(如“显示最近7天销售额趋势”),自动从 StarRocks 拉取数据并生成 Dashboard。

  1. 复杂查询的 AI 优化与加速
  • 目标:利用 MCP 管理查询上下文,让 AI 辅助优化 StarRocks 的多表 JOIN、聚合计算等复杂操作。
  • 场景

用户画像分析:AI 自动构建 Roaring Bitmap 查询,计算用户留存、漏斗分析。

跨业务分析:AI 解析业务需求,自动生成高效 StarRocks SQL,避免全表扫描。

  1. 统一数据湖与 AI 增强查询
  • 目标:通过 MCP 让 AI 同时访问 StarRocks 和外部数据源(如 Hive、Elasticsearch),实现联邦查询。
  • 场景

混合分析:AI 自动组合 StarRocks 的聚合数据和 Hive 的原始日志,生成完整业务洞察。

知识增强:AI 查询 StarRocks 的业务数据 + 外部知识库(如论文、行业报告),生成深度分析。

StarRocks x MCP 快速上手

StarRocks 是首批通过内置 MCP Server 原生集成 MCP 协议的引擎之一。这使得 StarRocks 不再只是一个高性能查询引擎,而是升级为一个专为智能 Agent 交互优化的分析执行环境。

这一切都构建在 StarRocks 现代化的执行引擎之上——向量化、高并发、C++ 编写,自设计之初就面向低延迟和高并发场景。

通过将面向 Agent 的标准协议(MCP)与面向现代工作负载的执行引擎结合,StarRocks 为从探索到生产部署的 Agent 驱动分析工作流提供了直接路径。你无需重新设计架构,就可以立即开始构建智能分析应用。

  1. 部署 StarRocks 集群,准备数据
部署Starrocks集群,假设部署到本地localhost
导入quickstart中的crashdata数据
https://docs.starrocks.io/docs/quick_start/shared-nothing/#new-york-city-crash-data
CREATE TABLE IF NOT EXISTS crashdata (
    CRASH_DATE DATETIME,
    BOROUGH STRING,
    ZIP_CODE STRING,
    LATITUDE INT,
    LONGITUDE INT,
    LOCATION STRING,
    ON_STREET_NAME STRING,
    CROSS_STREET_NAME STRING,
    OFF_STREET_NAME STRING,
    CONTRIBUTING_FACTOR_VEHICLE_1 STRING,
    CONTRIBUTING_FACTOR_VEHICLE_2 STRING,
    COLLISION_ID INT,
    VEHICLE_TYPE_CODE_1 STRING,
    VEHICLE_TYPE_CODE_2 STRING
);
curl --location-trusted -u root             \
    -T ./NYPD_Crash_Data.csv                \
    -H "label:crashdata-0"                  \
    -H "column_separator:,"                 \
    -H "skip_header:1"                      \
    -H "enclose:\""                         \
    -H "max_filter_ratio:1"                 \
    -H "columns:tmp_CRASH_DATE, tmp_CRASH_TIME, CRASH_DATE=str_to_date(concat_ws(' ', tmp_CRASH_DATE, tmp_CRASH_TIME), '%m/%d/%Y %H:%i'),BOROUGH,ZIP_CODE,LATITUDE,LONGITUDE,LOCATION,ON_STREET_NAME,CROSS_STREET_NAME,OFF_STREET_NAME,NUMBER_OF_PERSONS_INJURED,NUMBER_OF_PERSONS_KILLED,NUMBER_OF_PEDESTRIANS_INJURED,NUMBER_OF_PEDESTRIANS_KILLED,NUMBER_OF_CYCLIST_INJURED,NUMBER_OF_CYCLIST_KILLED,NUMBER_OF_MOTORIST_INJURED,NUMBER_OF_MOTORIST_KILLED,CONTRIBUTING_FACTOR_VEHICLE_1,CONTRIBUTING_FACTOR_VEHICLE_2,CONTRIBUTING_FACTOR_VEHICLE_3,CONTRIBUTING_FACTOR_VEHICLE_4,CONTRIBUTING_FACTOR_VEHICLE_5,COLLISION_ID,VEHICLE_TYPE_CODE_1,VEHICLE_TYPE_CODE_2,VEHICLE_TYPE_CODE_3,VEHICLE_TYPE_CODE_4,VEHICLE_TYPE_CODE_5" \
    -XPUT http://localhost:8030/api/quickstart/crashdata/_stream_load
  1. 启动 MCP Client

2.1 配置客户端添加 mcp-server-starrocks,客户端使用的是 DeepChat

大家可以使用这个优化过的版本:https://github.com/decster/deepchat

2.2 配置成功后在对话选项中可以添加使用 mcpserver

补充说明:在本次 Demo 中,我们使用的是 DeepChat 作为 MCP Client。除此之外,市面上还有如 Claude Desktop、Cline 等主流客户端,用户可根据个人偏好进行配置。需要注意的是,由于我们期望返回结果包含表格和图片,部分客户端可能不支持图片显示,选择时建议将此因素一并考虑。

  1. Demo 演示

下面的视频中演示了如何以对话形式对 StarRocks 中的数据集进行可视化分析


https://mp.weixin.qq.com/s/fI9eAtp0-x0eZQbIvPnx1g

最后,我们总结一下 StarRocks MCP server 的核心价值:

  • 让 AI 具备实时 OLAP 能力,减少人工 SQL 编写和数据分析成本。
  • 增强决策智能,结合历史数据和实时计算,提供更精准的业务建议。
  • 统一数据访问层,让 AI 无缝对接结构化数据(StarRocks)与非结构化数据(文档、日志)。

未来,随着 MCP 生态的扩展(如支持更多数据库、BI 工具),这种结合将在 金融、电商、IoT、医疗 等领域发挥更大作用。StarRocks 的朋友们,快来开启更多智能应用!

相关文章
|
19天前
|
人工智能 数据挖掘
🔔阿里云百炼智能体和工作流可以发布为组件了,AI应用变成“搭积木”
本文介绍了如何通过智能体组件化设计快速生成PPT。首先,创建一个“PPT大纲生成”智能体并发布为组件,该组件可根据用户输入生成结构清晰的大纲。接着,在新的智能体应用中调用此组件与MCP服务(如ChatPPT),实现从大纲到完整PPT的自动化生成。整个流程模块化、复用性强,显著降低AI开发门槛,提升效率。非技术人员也可轻松上手,满足多样化场景需求。
🔔阿里云百炼智能体和工作流可以发布为组件了,AI应用变成“搭积木”
|
19天前
|
数据采集 机器学习/深度学习 人工智能
代理IP:企业AI应用的隐形加速器与合规绞索
代理IP作为企业AI应用的重要基础设施,既是效率提升的加速器,也可能成为合规风险的来源。它通过技术演进重塑数据采集、模型训练与安全防护等核心环节,如智能路由、量子加密和边缘计算等创新方案显著优化性能。然而,全球法规(如GDPR)对数据流动提出严格要求,促使企业开发自动化合规审计系统应对挑战。未来,代理IP将向智能路由3.0、PaaS服务及量子网络方向发展,成为连接物理与数字世界的神经网络。企业在享受其带来的效率增益同时,需构建技术、法律与伦理三位一体的防护体系以规避风险。
41 0
|
18天前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
80 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
10天前
|
人工智能 安全 网络安全
网络安全厂商F5推出AI Gateway,化解大模型应用风险
网络安全厂商F5推出AI Gateway,化解大模型应用风险
22 0
|
14天前
|
人工智能 自然语言处理 前端开发
上线几天,轻松斩获10k,开源通用AI智能体Suna:一句话自动处理Excel/爬数据/写报告,程序员私人助理诞生!
Suna是由Kortix推出的全球首个开源通用型AI Agent,可通过自然语言对话自动完成浏览器操作、数据分析、系统管理等复杂任务。它具有“执行力”,能像人类员工一样理解指令并操作数字工具,支持自托管保障数据安全,适用于市场分析、学术研究、企业办公等场景。Suna的核心优势在于实现“语言→行动”的转化,适合需要实际操作的任务,如爬虫、报表生成和网站部署。项目地址为:https://github.com/kortix-ai/suna。
|
18天前
|
数据采集 人工智能 算法
面向AI应用开发的开源能源管理系统
人工智能在能源管理中发挥关键作用,通过优化资源分配、智能消费管理、精准监测预测以及改善客户体验等多方面推动行业转型。MyEMS作为重要工具,基于Python语言集成AI技术,实现数据采集处理、负荷预测、能源优化控制、故障诊断预警及可视化展示等功能,提供全面智能化解决方案,助力可持续发展与能源效率提升。
40 0
|
机器学习/深度学习 人工智能 算法
|
1月前
|
开发框架 人工智能 Java
破茧成蝶:阿里云应用服务器让传统 J2EE 应用无缝升级 AI 原生时代
本文详细介绍了阿里云应用服务器如何助力传统J2EE应用实现智能化升级。文章分为三部分:第一部分阐述了传统J2EE应用在智能化转型中的痛点,如协议鸿沟、资源冲突和观测失明;第二部分展示了阿里云应用服务器的解决方案,包括兼容传统EJB容器与微服务架构、支持大模型即插即用及全景可观测性;第三部分则通过具体步骤说明如何基于EDAS开启J2EE应用的智能化进程,确保十年代码无需重写,轻松实现智能化跃迁。
247 39
|
1月前
|
人工智能 数据挖掘 大数据
“龟速”到“光速”?算力如何加速 AI 应用进入“快车道”
阿里云将联合英特尔、蚂蚁数字科技专家,带来“云端进化论”特别直播。
78 11
|
2月前
|
开发框架 人工智能 Java
破茧成蝶:传统J2EE应用无缝升级AI原生
本文探讨了技术挑战和解决方案,还提供了具体的实施步骤,旨在帮助企业顺利实现从传统应用到智能应用的过渡。
破茧成蝶:传统J2EE应用无缝升级AI原生