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