作者: sjw1933 原文来源:https://tidb.net/blog/3cf61062
随着人工智能(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 的核心组件
- MCP 主机(MCP Host):希望访问外部数据的 LLM 平台(如 Claude Desktop、Cursor 等)。
- MCP 客户端(MCP Client):每个主机可以包括多个 MCP 客户端,每个客户端与 MCP 服务器建立一对一的连接。
- MCP 服务器(MCP Server):处理真实请求,与外部系统(如数据库、API)进行通信,并将结果返回给模型。
MCP 协议架构与 TiDB 的角色
TiDB MCP 服务器通过 MCP 协议,实现了 TiDB 数据库与 AI 代理之间的高效连接,让 TiDB 在 AI 应用中扮演重要角色。MCP 的加入,打破了数据孤岛,支持 LLM 与外部数据库之间的实时数据交互,推动了从传统的静态聊天机器人到具有感知、决策和行动能力的智能代理的转变。
MCP 协议的关键优势
-
打破数据孤岛:MCP 架起了 AI 应用与外部系统(如数据库)之间的桥梁,使 LLM 可以使用最新的实时数据,而不是过时的训练数据集。
-
使聊天机器人进化为真正的智能代理:通过与第三方工具的集成,MCP 加速了从传统静态聊天机器人的转变,使其具备感知、决策和行动能力。
-
无需自定义代理插件:通过统一的协议,每个外部工具只需实现一个 MCP 服务器,避免了针对每个平台的重复集成工作。
实践示例:基于 TiDB 和 MCP 的 GitHub 数据洞察
在过去,TiDB 存储了超过 90 亿条 GitHub 公共事件记录,并为 OSSInsight 项目提供了基于 SQL 的分析和在线仪表盘展示。随着 TiDB MCP 服务器的发布,开发者们可以更轻松地构建智能数据分析应用。
通过 TiDB MCP 服务器,开发者能够:
-
轻松实现代理工作流:传统的文本转 SQL 应用通常会在固定的工作流中生成错误,而通过与数据库连接的 AI 代理可以根据反馈自动重试或修正 SQL 查询,极大减少了人工干预。
-
支持 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 仓库的轻量级样本数据集)。
设置步骤
-
克隆 MCP 仓库:
git clone https://github.com/pingcap/pytidb cd pytidb
-
安装依赖:
uv sync --extra mcp
-
在 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}" } } } }
-
重启 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