一文帶你了解 TiDB MCP Server

前言
TiDB 已經(jīng)支持 MCP 功能了,一直想看看怎么玩的,本篇是一篇實(shí)踐篇,帶著大家一起搭建 TiDB MCP Server,以及如何添加 TiDB MCP,如何使用 TiDB 的 MCP。
TiDB 的 AI SDK——PyTiDB,現(xiàn)已原生支持 MCP 協(xié)議。這意味著開(kāi)發(fā)者可以直接使用 PyTiDB 提供的 MCP Server 模塊,將 TiDB 數(shù)據(jù)庫(kù)接入支持 MCP 的 AI 工具(如 Claude Desktop、Cursor 等),實(shí)現(xiàn)自然語(yǔ)言驅(qū)動(dòng)的數(shù)據(jù)查詢(xún)與分析。
演示環(huán)境說(shuō)明
- 可以連接使用的的 TiDB 數(shù)據(jù)庫(kù),且連接時(shí)不需要證書(shū)、隧道等。
 - Mac M1,32G 內(nèi)存。
 - CodeBuddy 工具,用來(lái)配置 MCP 服務(wù)和生成式對(duì)話(huà),也可以用其他工具,如 Cursor、Cline。
 
MCP Server 添加方式
有兩種方式添加 TiDB MCP Server:
- 本地部署 MCP Server。原理就是從 github 拉取最新代碼,然后本地部署 TiDB MCP Server。
 
a.優(yōu)勢(shì):可以用最新的代碼,上面有新的功能和 bug 修復(fù)。
b.缺點(diǎn):需要下載代碼、安裝依賴(lài)、啟動(dòng)等,對(duì)使用者要求比較高。
- 添加應(yīng)用市場(chǎng)中 MCP Server。原理就是在 MCP 應(yīng)用市場(chǎng)查找 TiDB MCP Server,然后添加到 AI 開(kāi)發(fā)工具上。(截止 2025-09-09 在https://mcp.so/ 沒(méi)有搜到官方的 TiDB MCP Server)
 - 優(yōu)勢(shì):簡(jiǎn)單方便。
 - 缺點(diǎn):MCP Server 可能不是最新的,有些功能特性和 bug 修復(fù)不在當(dāng)前版本上。
 
本篇只介紹本地部署 TiDB MCP Server 的方式。
MCP 介紹
2024 年 11 月,Anthropic 公司搞了個(gè)挺有意思的新玩意 - Model Context Protocol(模型上下文協(xié)議)簡(jiǎn)稱(chēng)為 MCP 協(xié)議。簡(jiǎn)單來(lái)說(shuō),它就是給 AI 和各類(lèi)工具數(shù)據(jù)之間搭了個(gè)標(biāo)準(zhǔn)化的”橋梁”,讓開(kāi)發(fā)者不用再為對(duì)接問(wèn)題頭疼了。
大模型應(yīng)用可以使用別人分享的 MCP 服務(wù)來(lái)完成各種各樣的工作內(nèi)容,你可以從這些地方獲取 MCP 服務(wù):
- awesome-mcp-servers
 - mcp.so
 
如下圖所示,這是 mcp.so 網(wǎng)站中的 MCP Server。
mcp.so 網(wǎng)站
MCP 協(xié)議在實(shí)際的應(yīng)用場(chǎng)景上非常廣泛,列舉一些比較常見(jiàn)的應(yīng)用場(chǎng)景:
- 使用百度/高德地圖分析旅線(xiàn)計(jì)算時(shí)間
 - 接 Puppeteer 自動(dòng)操作網(wǎng)頁(yè)
 - 使用 Github/Gitlab 讓大模型接管代碼倉(cāng)庫(kù)
 - 使用數(shù)據(jù)庫(kù)組件完成對(duì) Mysql、ES、Redis 等數(shù)據(jù)庫(kù)的操作
 - 使用搜索組件擴(kuò)展大模型的數(shù)據(jù)搜索能力
 
MCP 的架構(gòu)
MCP 主要分為 MCP 服務(wù)和 MCP 客戶(hù)端:
- 客戶(hù)端:一般指的是大模型應(yīng)用,比如 Claude、通過(guò) Spring AI Alibaba、Langchain 等框架開(kāi)發(fā)的 AI 應(yīng)用
 - 服務(wù)端:連接各種數(shù)據(jù)源的服務(wù)和工具
 
整體架構(gòu)如下:
 mcp 原理
整體的工作流程是這樣的:AI 應(yīng)用中集成 MCP 客戶(hù)端,通過(guò) MCP 協(xié)議向 MCP 服務(wù)端發(fā)起請(qǐng)求,MCP 服務(wù)端可以連接本地/遠(yuǎn)程的數(shù)據(jù)源,或者通過(guò) API 訪(fǎng)問(wèn)其他服務(wù),從而完成數(shù)據(jù)的獲取,返回給 AI 應(yīng)用去使用。
本地部署 TiDB MCP Server
克隆 PyTiDB 項(xiàng)目
github 地址:https://github.com/pingcap/pytidb/
該項(xiàng)目?jī)?nèi)含 MCP Server 模塊,將代碼倉(cāng)庫(kù)到本地
git clone https://github.com/pingcap/pytidb
cd pytidb
TiDB MCP Server 源碼
安裝 Python 開(kāi)發(fā)環(huán)境及依賴(lài)
推薦使用 uv 包管理工具:https://docs.astral.sh/uv/
uv sync --extra mcp
安裝 TiDB MCP Server 依賴(lài)
安裝 TiDB MCP Server 依賴(lài)成功
配置 MCP 客戶(hù)端
以 CodeBuddy 工具為例,添加 TiDB MCP Server 的配置參數(shù)。
如下圖所示,args 參數(shù)配置的是本地的 TiDB MCP Server 的執(zhí)行路徑,env 配置的是本地的 TiDB 數(shù)據(jù)庫(kù)連接。
TiDB MCP Server 配置
可以看到 TiDB MCP Server 添加成功,展示了 7 種 tool:
 TiDB MCP Server 七種工具
- show_databases:展示該 tidb 集群種所有的數(shù)據(jù)庫(kù)。
 - Switch_database:切換到指定的數(shù)據(jù)庫(kù)。
 - show_tables:展示該數(shù)據(jù)庫(kù)種的所有的表。
 - db_query:從 TiDB 數(shù)據(jù)庫(kù)通過(guò) SQL 查詢(xún)數(shù)據(jù),使用 limit 限制返回條數(shù),避免返回過(guò)多數(shù)據(jù)造成性能問(wèn)題。
 - db_execute:通過(guò) SQL 執(zhí)行相關(guān)操作。
 - db_create_user:創(chuàng)建用戶(hù)。
 - db_remove_user:移除用戶(hù)。
 
測(cè)試 TiDB MCP Server 是否正常工作
先往 test1 表插入幾條測(cè)試數(shù)據(jù),如下圖所示:
插入測(cè)試記錄
然后在 CodeBuddy 的聊天窗口進(jìn)行對(duì)話(huà):
“查詢(xún) tidb test 數(shù)據(jù)庫(kù) test1 表
然后 CodeBuddy 會(huì)調(diào)用 TiDB MCP Server 的工具:db_query 從本地?cái)?shù)據(jù)庫(kù)中查詢(xún)數(shù)據(jù)。
調(diào)用 TiDB MCP Server 的查詢(xún)工具
返回的 4 條數(shù)據(jù)和數(shù)據(jù)庫(kù)的結(jié)果一致,說(shuō)明 TiDB MCP Server 是成功部署的。
通過(guò)該實(shí)驗(yàn),我們可以考慮更多的玩法,通過(guò)對(duì)話(huà)的方式來(lái)查詢(xún)數(shù)據(jù),無(wú)需編寫(xiě) SQL 語(yǔ)句,應(yīng)用到某些產(chǎn)品中,極大的節(jié)省了開(kāi)發(fā)成本。
關(guān)于 TiDB MCP Server 應(yīng)用場(chǎng)景
結(jié)合對(duì)話(huà)式交互的天然優(yōu)勢(shì),我們可以進(jìn)一步探索以下創(chuàng)新玩法和應(yīng)用場(chǎng)景,覆蓋從開(kāi)發(fā)到業(yè)務(wù)、從內(nèi)部到外部的全鏈路價(jià)值:
1.自然語(yǔ)言即服務(wù)(NLaaS):零 SQL 的數(shù)據(jù)洞察平臺(tái)
場(chǎng)景:業(yè)務(wù)人員、產(chǎn)品經(jīng)理、運(yùn)營(yíng)等非技術(shù)角色,直接通過(guò)自然語(yǔ)言查詢(xún) TiDB 中的數(shù)據(jù)。
2.智能開(kāi)發(fā)助手:SQL 自動(dòng)生成與優(yōu)化
場(chǎng)景:開(kāi)發(fā)者在 IDE 中通過(guò)自然語(yǔ)言描述需求,自動(dòng)生成 TiDB 兼容的 SQL 語(yǔ)句。
3. 實(shí)時(shí)運(yùn)維巡檢:對(duì)話(huà)式故障定位
場(chǎng)景:DBA 或運(yùn)維人員通過(guò)對(duì)話(huà)快速排查 TiDB 集群異常。
關(guān)于傳統(tǒng)方式和 TiDB MCP Server 對(duì)話(huà)式的總結(jié)
維度  | 傳統(tǒng)方式  | TiDB MCP Server 對(duì)話(huà)式  | 
效率  | 寫(xiě) SQL → 調(diào)試 → 結(jié)果(10分鐘)  | 一句話(huà) → 結(jié)果(10秒)  | 
門(mén)檻  | 需懂 SQL、表結(jié)構(gòu)  | 零技術(shù)背景即可查詢(xún)  | 
場(chǎng)景  | 固定報(bào)表、預(yù)定義查詢(xún)  | 臨時(shí)需求、探索式分析、實(shí)時(shí)運(yùn)維  | 
成本  | 開(kāi)發(fā)人力、溝通成本  | 自動(dòng)化生成,節(jié)省80%人力  | 
總結(jié)
本文通過(guò)實(shí)踐演示了如何搭建與使用 TiDB MCP Server,展示了本地部署的接入方式,驗(yàn)證了通過(guò)自然語(yǔ)言即可查詢(xún) TiDB 數(shù)據(jù)的可行性。
TiDB MCP Server 提供了數(shù)據(jù)庫(kù)查詢(xún)、用戶(hù)管理等 7 種工具,結(jié)合 CodeBuddy 等 AI 工具,可實(shí)現(xiàn)零 SQL、對(duì)話(huà)式的數(shù)據(jù)交互,大幅降低數(shù)據(jù)查詢(xún)門(mén)檻。
TiDB MCP Server 在業(yè)務(wù)洞察、智能開(kāi)發(fā)、運(yùn)維巡檢等場(chǎng)景有很大的應(yīng)用潛力,對(duì)比傳統(tǒng)方式,TiDB MCP 對(duì)話(huà)式交互在效率、門(mén)檻、靈活性與成本上具備顯著優(yōu)勢(shì),為 AI 驅(qū)動(dòng)的數(shù)據(jù)操作提供了新范式。















 
 
 


















 
 
 
 