TiDB 发布 MCP Server:引领国产数据库迈向智能 AI 代理新应用范式

article/2025/7/6 9:38:03

随着人工智能(AI)技术的迅猛发展,我们已经进入了Agentic AI 时代——一个由大型语言模型(LLM)推动的智能化阶段。这个阶段不仅要求 LLM 理解指令,还要求其能主动做出决策并执行任务。在这个进化过程中,如何将 LLM 与外部系统,特别是数据库,深度集成,已成为构建强大 AI 应用的关键。

为了解决这一问题,Model Context Protocol (MCP) 应运而生。MCP 协议通过提供一个标准接口,帮助 LLM 轻松访问外部数据源或工具系统,使开发者能够将实时数据和功能注入到 AI 应用中。

接下来,我们将探讨 MCP 协议的核心机制以及 TiDB 在 MCP 生态系统中的角色,并通过一个实用的示例,展示如何构建一个由 TiDB 和 MCP 驱动的智能数据分析应用。

什么是MCP?

MCP(Model Context Protocol)是一个开放标准,它定义了 LLM 如何访问外部数据和工具。通过 MCP,LLM 可以高效地调用外部系统的功能,从而大大增强其智能推理与自动化决策的能力。

MCP 的核心组件

  1. MCP 主机(MCP Host):希望访问外部数据的 LLM 平台(如 Claude Desktop、Cursor 等)。
  2. MCP 客户端(MCP Client):每个主机可以包括多个 MCP 客户端,每个客户端与 MCP 服务器建立一对一的连接。
  3. MCP 服务器(MCP Server):处理真实请求,与外部系统(如数据库、API)进行通信,并将结果返回给模型。
    TheArchitectureofMCPProtocolAndTheRoleofTiDBInIt2.png

MCP 协议架构与 TiDB 的角色

TiDB MCP 服务器通过 MCP 协议,实现了 TiDB 数据库与 AI 代理之间的高效连接,让 TiDB 在 AI 应用中扮演重要角色。MCP 的加入,打破了数据孤岛,支持 LLM 与外部数据库之间的实时数据交互,推动了从传统的静态聊天机器人到具有感知、决策和行动能力的智能代理的转变。

MCP 协议的关键优势

  1. 打破数据孤岛:MCP 架起了 AI 应用与外部系统(如数据库)之间的桥梁,使 LLM 可以使用最新的实时数据,而不是过时的训练数据集。

  2. 使聊天机器人进化为真正的智能代理:通过与第三方工具的集成,MCP 加速了从传统静态聊天机器人的转变,使其具备感知、决策和行动能力。

  3. 无需自定义代理插件:通过统一的协议,每个外部工具只需实现一个 MCP 服务器,避免了针对每个平台的重复集成工作。

实践示例:基于 TiDB 和 MCP 的 GitHub 数据洞察

在过去,TiDB 存储了超过 90 亿条 GitHub 公共事件记录,并为 OSSInsight 项目提供了基于 SQL 的分析和在线仪表盘展示。随着 TiDB MCP 服务器的发布,开发者们可以更轻松地构建智能数据分析应用。

通过 TiDB MCP 服务器,开发者能够:

  1. 轻松实现代理工作流:传统的文本转 SQL 应用通常会在固定的工作流中生成错误,而通过与数据库连接的 AI 代理可以根据反馈自动重试或修正 SQL 查询,极大减少了人工干预。

  2. 支持 AI 的持续学习:新一代 AI 工具包括记忆模块,记录用户偏好,并逐渐优化生成的 SQL 查询,以更好地满足用户需求。

实操演示

在实际操作中,我们将 TiDB MCP 服务器配置到 Claude Desktop,并将其连接到 OSSInsight 的只读 TiDB 集群。随后,我们给 AI 代理发送了以下请求:

分析存储在 TiDB 数据库中的 90 亿条 GitHub 事件记录,检索 pingcap/tidb 仓库的星标历史(按年累计,仅统计用户首次 star 的次数)。将结果以 ECharts 折线图展示,并简洁地给出解释。

如下是 AI 代理如何自动执行任务的过程:

  • 探索数据库结构:使用 show_tables 等工具了解数据库模式。
  • 执行 SQL 查询:根据请求自动生成并执行适当的 SQL 查询。
  • 生成 ECharts 图表:将原始数据转换为可视化图表。
  • 给出分析结论:提供简洁的分析解释。

整个过程完全由 AI 代理自动完成,无需用户编写代码或了解数据库操作,展现了 AI 代理在复杂数据分析中的巨大潜力。

如何体验 TiDB MCP 服务器

现在,您可以按照以下步骤配置 TiDB MCP 服务器,直接通过 MCP 客户端与数据库互动并获取洞察。

先决条件

  • 一个 MCP 兼容的客户端(如 Claude Desktop、Cursor、Cline、DeepChat、ChatWise 等)。
  • 一个 TiDB 数据库集群用于测试(👉 可以在 TiDB Cloud 上创建免费 TiDB Serverless 集群,或者使用 TiDB v8.5以上版本)。
  • 准备好的样本数据(TiDB Cloud 提供了 GitHub 仓库的轻量级样本数据集)。

设置步骤

  1. 克隆 MCP 仓库:

    git clone https://github.com/pingcap/pytidb
    cd pytidb
    
  2. 安装依赖:

    uv sync --extra mcp
    
  3. 在 Claude Desktop 中,进入设置 -> 开发者 -> 编辑配置,打开配置文件并添加 TiDB MCP 服务器配置:

    {"mcpServers": {"tidb": {"command": "uv","args": ["--directory","/path/to/pytidb","run","-m","pytidb.ext.mcp"],"env": {"TIDB_HOST": "{host}","TIDB_PORT": "4000","TIDB_USERNAME": "{username}","TIDB_PASSWORD": "{password}","TIDB_DATABASE": "{database}"}}}
    }
    
  4. 重启 Claude Desktop,您将看到 TiDB MCP 服务器工具出现在代理的工具面板中。

展望未来

无论是 TiDB MCP Server 的发布,还是国产数据库的未来发展,我们都看到了智能数据处理和多模态计算的巨大潜力。希望在不久的将来,国产数据库能够统一 MCP 协议,建立更为高效、便捷的开发者生态圈,助力企业和开发者在全球技术竞争中占据一席之地。

让我们共同期待智能数据时代的到来,也欢迎大家分享对统一 MCP 协议的看法和期望。未来,我们共同见证技术的不断创新与突破!

让我们一起迈入数据与 AI 融合的新时代!
参考文档:
https://www.pingcap.com/blog/building-intelligent-ai-agents-a-new-data-application-paradigm-with-mcp-and-tidb/
https://pingcap.github.io/pytidb/quickstart/#installation
在这里插入图片描述


http://www.hkcw.cn/article/JIADyRUORn.shtml

相关文章

深入理解Transformer架构:从原理到实践

深入理解Transformer架构:从原理到实践 引言 Transformer架构自2017年由Google在论文《Attention Is All You Need》中提出以来,已经彻底改变了自然语言处理(NLP)领域,并逐渐扩展到计算机视觉、语音识别等多个领域。本文将深入解析Transfor…

Live Helper Chat 安装部署

Live Helper Chat(LHC)是一款开源的实时客服聊天系统,适用于网站和应用,帮助企业与访问者即时沟通。它功能丰富、灵活、可自托管,常被用于在线客户支持、销售咨询以及技术支持场景。 🧰 系统要求 安装要求 您提供的链接指向 Live Helper Chat 的官方安装指南页面,详细…

[定昌linux开发板]设定屏幕锁屏时间

点击左下角的图标 选择【preferences】->【screensaver】

技术原理简析:卫星遥感如何感知水体环境?

近年来,随着我国城镇化进程加快和经济社会快速发展,水环境治理特别是黑臭水体治理已成为河湖管理和城市治理的重点攻坚领域。随着治理工作的深入推进,如何实现从"治标"向"治本"转变,构建长效保持机制&#xf…

Oracle数据类型AnyType与AnyData

Any类型为过程参数和表列提供了高度灵活的建模,AnyType、AnyData与AnyDataSet是Oracle的3个新的数据类型,用于定义在现有数据类型之外的数据结构。其中每种数据类型必须用程序单元来定义,以便Oracle数据库知道如何处理这些类型的特定实现。 …

【笔记】Suna 部署之获取 RapidAPI key

#工作记录 Rapid API Marketplace & Management Tools 一、前期准备 在 Suna 部署过程中,部分功能依赖 RapidAPI 提供的 API 服务,因此需要获取 RapidAPI key 来完成配置。确保已拥有 RapidAPI 账号,若没有则需提前注册。 二、登录 Rapid…

企业数字化转型的6大核心要素:从战略到落地的系统方法论

企业数字化转型常因对核心要素认知偏差陷入 “工具替代战略” 的误区,如单纯采购系统却忽视数据治理或组织适配,导致转型低效甚至失败。本文聚焦转型本质,解析战略规划、业务技术融合、数据治理等 6 大关键要素,提供从认知到落地的…

STM32 I2C通信外设

1、外设简介 可变多主机 7位/10位寻址 10位寻址:起始之后的两个字节都作为寻址,第一个字节前5位是11110作为10位寻址的标志位 SMBus:系统管理总线,主要用于电源管理,与I2C类似 2、外设结构框图 比较器、自身地址寄…

AI书签管理工具开发全记录(六):前端管理基础框框搭建 Vue3+Element Plus

文章目录 AI书签管理工具开发全记录(五):前端管理基础框框搭建(Vue3Element Plus)前言 📝1. 前端技术选型 🛠️2. 项目创建与初始化 🚀2.1 创建项目2.2 配置路径别名2.3 配置代码格式…

Paraformer语音模型:一种语音模型加速方法

随着智能语音技术的普及,语音识别(ASR)、语音合成(TTS)、声纹识别等应用场景对模型推理效率提出了极高要求,本文介绍将Paraformer语音模型从预训练模型导出为ONNX格式,并使用ONNX Runtime进行推…

Spring,SpringMVC,SpringBoot

1.Spring最核心包括aop和ioc概念 AOP 能够将将哪些于业务无关的,并且大量重复的业务逻辑进行封装起来,便于减少重复代码,降低模块之间的耦合度,给未来的系统更好的可用性和可维护性。 Spring中AOP是采用动态代理,JDK代…

浏览器的渲染原理

浏览器的渲染原理 掘金 整个过程 网络 网络线程: 收到html,css,js 文件资源. 产生一个渲染任务,并将其传递给渲染主线程的消息队列. 渲染 在事件循环机制下, 渲染主线程取出消息队列中的渲染任务,开启渲染流程. 整个过程 渲染主线程 完成 绘制之前的所有工作合成线程和…

【30万像素实时调控!石墨烯“魔镜”突破毫米波极限】

12厘米见方的超表面,藏着30万个比头发丝还细的像素单元,正在无声地操控着无形的太赫兹波束。曼彻斯特大学的科学家们将石墨烯的非凡电学特性与现代显示技术巧妙融合,创造出世界上最大规模的可编程智能超表面。想象一下,只需轻轻点…

线性调频波形测距测速信号处理——全代码+注释

clear all close all clc %% 参数设置 fs600e6;%采样率 fc10.45e9;% 波形发射载频 t10e-6;%脉宽 f050e6;%波形中频频率 B10e6;%带宽 uB/(2*t);%调频斜率 Tv100e-6;% 脉冲重复周期 Num64;% 测速脉冲数 lamdfs/B;% 抽取带宽 Nsround(fs*t); NTvround(fs*Tv); tt0:1/fs:t-1/fs; ff…

Spine工具入门教程2之导入

1、导入定义 从原画转化为Spine的环节。 (1)选择路径,拖动图片导入方式 缺点:定位不准 【使用批量导出的方式】 在PS工具中,选择所有图层后右键选择导出。 在Spine工具中,选择路径导入图片。 然后再拖…

吴恩达MCP课程(1):chat_bot

原课程代码是用Anthropic写的,下面代码是用OpenAI改写的,模型则用阿里巴巴的模型做测试 .env 文件为: OPENAI_API_KEYsk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx OPENAI_API_BASEhttps://dashscope.aliyuncs.com/compatible-mode…

Z-AnyLabeling1.0.1

1.前段时间写了第一个版本的Z-AnyLabeling,使用起来只能标注一个文件夹里面的图片,不能标注多个文件夹数据 2.现在更新一个版本可以标注多个文件夹数据,同时可以保存成一个工程文件。 3.软件开发环境:Pycharm,Pyside6 4.软件界面 …

告别充电焦虑:移动充电桩如何优化传统充电模式?

新能源汽车的普及,充电难、充电慢的问题日益凸显。传统固定充电桩受限于场地和电网,难以满足用户灵活、高效的充电需求。而移动充电桩的出现,正逐步改变这一局面。它以其灵活部署、智能调度和高效补能的优势,为缓解充电焦虑提供了…

github访问慢

解决github外玩访问慢 ,点击解决方案

榕壹云医疗服务系统:基于ThinkPHP+MySQL+UniApp的多门店医疗预约小程序解决方案

在数字化浪潮下,传统医疗服务行业正面临效率提升与客户体验优化的双重挑战。针对口腔、美容、诊所、中医馆、专科医院及康复护理等需要预约或诊断服务的行业,我们开发了一款基于ThinkPHP+MySQL+UniApp的多门店服务预约小程序——榕壹云医疗服务系统。该系统通过模块化设计与开…