MCP Hosts: 例如 Claude Desktop、集成開(kāi)發(fā)環(huán)境(IDE)或希望通過(guò) MCP 訪問(wèn)數(shù)據(jù)的 AI 工具等程序

MCP Clients: 協(xié)議客戶端,負(fù)責(zé)和大模型進(jìn)行輸入輸出交互

MCP Server: 協(xié)議服務(wù)端,負(fù)責(zé)和外部服務(wù)進(jìn)行交互,暴露外部服務(wù)的接口,并且和客戶端進(jìn)行通信

Local Data Resource: 本地的文件,數(shù)據(jù)等

Remote Resource: 遠(yuǎn)程的服務(wù),可以通過(guò)Server連接

MCP在數(shù)據(jù)開(kāi)發(fā)上的優(yōu)勢(shì)

做過(guò)數(shù)據(jù)開(kāi)發(fā)或者數(shù)據(jù)應(yīng)用的同學(xué)都肯定被一堆問(wèn)題困擾過(guò),特別的是數(shù)據(jù)和模型的部署問(wèn)題,數(shù)據(jù)在本地,模型在哪里?應(yīng)用在哪里?很多時(shí)候我們的數(shù)據(jù)因?yàn)榘踩珕?wèn)題無(wú)法上云,只能在本地或者私有環(huán)境中,但模型很多時(shí)候在云上,而且我們還需要準(zhǔn)備環(huán)境部署應(yīng)用層代碼。

而現(xiàn)在,MCP可以幫助你解決這個(gè)困擾。通過(guò)幾個(gè)問(wèn)題,我們來(lái)對(duì)比一下使用或者不使用MCP的情況下數(shù)據(jù)助手的開(kāi)發(fā)和部署方案。

問(wèn)題不用MCP用MCP
接入模型去做text-to-sql自己去接入大模型平臺(tái)不用管,server封裝了
接入數(shù)據(jù)schema幫助模型理解在應(yīng)用層手動(dòng)開(kāi)發(fā)一個(gè)適配器,從數(shù)據(jù)庫(kù)拉schema不用管,server封裝了
前端與展示開(kāi)發(fā)一個(gè)前端頁(yè)面,或者用gradio簡(jiǎn)單做一個(gè)不用管,有用開(kāi)源的應(yīng)用
后端的開(kāi)發(fā)需要開(kāi)發(fā)一個(gè)web服務(wù),連接大模型,連接數(shù)據(jù)庫(kù)不用管,不需要后端服務(wù)
支持私有化?需要完全開(kāi)發(fā)一套,并且在本地使用ollama或者vllm接入模型不用管,server封裝了
支持agent和跟其他模型功能集成?非常難搞,無(wú)法支持非常簡(jiǎn)單,直接接入其他MCP server就好

02.讓我們構(gòu)建一個(gè)數(shù)據(jù)集助手吧

我們?cè)诒镜貦C(jī)器上構(gòu)建數(shù)據(jù)助手,調(diào)用云上的模型,處理本地機(jī)器的數(shù)據(jù)。

本地開(kāi)發(fā)環(huán)境:

-Macbook M3 Pro

-MySQL 5.8 (需要在本地有個(gè)數(shù)據(jù)庫(kù),如果沒(méi)有的話可以提前裝上mysql并構(gòu)建一個(gè)虛擬的數(shù)據(jù)庫(kù))

準(zhǔn)備一個(gè)MCP數(shù)據(jù)服務(wù)

我們需要一個(gè)MCP服務(wù)把數(shù)據(jù)庫(kù)接入進(jìn)來(lái),現(xiàn)在有非常多的MCP server都可以幫我連接數(shù)據(jù)庫(kù),比如社區(qū)在維護(hù)的MCP server[1]、MCP server的平臺(tái)(Smithery.AI[2]、MCP.run[3]),但基本上都只是提供了一個(gè)SQL執(zhí)行接口。

為了更好的工具調(diào)用效果,選擇支持自然語(yǔ)言接口的析言MCP服務(wù)(Xiyan-mcp-server[4]),可以用自然語(yǔ)言訪問(wèn)數(shù)據(jù)庫(kù),并從數(shù)據(jù)庫(kù)獲得答案,是當(dāng)前Test-to-SQL公開(kāi)基準(zhǔn)上的SOTA。

step1: 如何安裝和啟動(dòng)析言MCP數(shù)據(jù)服務(wù)

在終端上運(yùn)行以下命令

pip install xiyan-mcp-server

需要將兩類(lèi)配置信息寫(xiě)入配置文件config.yml,模型配置(LLM )和數(shù)據(jù)庫(kù)配置(Database)。

模型配置:魔搭上部署了XiYanSQL-QwenCoder-32B——xiyan_mcp_server官方提供的專(zhuān)屬模型——的推理服務(wù),在該模型頁(yè)面[5](右側(cè)的推理API- Inference部分),可找到配置信息(name、key、url)。

數(shù)據(jù)庫(kù)配置:默認(rèn)本地有mysql數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的配置信息包括:本地?cái)?shù)據(jù)庫(kù)host、port、username、password和database名字。

整體的配置如下:

model:
name: "XGenerationLab/XiYanSQL-QwenCoder-32B-2412"
key: "xxxx" # key可從https://www.modelscope.cn/my/myaccesstoken 頁(yè)面獲取
url: "https://api-inference.modelscope.cn/v1/"

database:
host: "localhost"
port: 3306
user: "root"
password: "123456"
database: "mydb"

將這個(gè)配置文件放在本地(假設(shè)為/path/to/config.yml)

step2: 如何使用mcp inspector調(diào)試服務(wù)

選擇mcp inspector[6]作為調(diào)試器

brew install node
npx @modelcontextprotocol/inspector -e YML= /path/to/config.yml python -m xiyan_mcp_server

這個(gè)inspector會(huì)直接在本地拉起一個(gè)web服務(wù)供調(diào)試用,地址在http://localhost:5173

輸入問(wèn)題“查詢年齡16歲以上的郵箱”,點(diǎn)擊“run tool”

輸出是個(gè)markdown格式的數(shù)據(jù)

 email |
| --- |
| alice@example.com |
| bob@example.com |
| charlie@example.com

準(zhǔn)備一個(gè)客戶端

為了更方便交互,我們找一個(gè)客戶端來(lái)調(diào)用后臺(tái)的數(shù)據(jù)服務(wù)。目前有非常多支持MCP的客戶端,比如開(kāi)源的MCP的client[7]、閉源的claude desktop等等。這里我們選用的是goose,這是一個(gè)開(kāi)源的支持MCP的client,原生支持MacOS。

step1: 如何在本地安裝配置goose

下載地址:

https://block.github.io/goose/docs/quickstart/

下載后根據(jù)提示一步步安裝即可。

step2: 在goose后臺(tái)配置LLM模型

為了能用起來(lái)chat,需要找一個(gè)大語(yǔ)言模型API。我們選擇用通義千問(wèn)2.5-72B-Instruct[9],魔搭社區(qū)上提供了兼容OpenAI接口的推理API,只需要在后臺(tái)配置endpoint就好。

這里我們選用通義千問(wèn)2.5-72B的模型[9],模型名字填Qwen/Qwen2.5-72B-Instruct即可。

第一欄:Key從https://www.modelscope.cn/my/myaccesstoken 頁(yè)面獲取。

第二欄:通義千問(wèn)2.5-72B的模型直接填“https://api-inference.modelscope.cn/” 。

第三欄:用默認(rèn)的即可。

step3: 添加xiyan_mcp_server拓展

step4: 開(kāi)啟新的會(huì)話測(cè)試

回到goose主頁(yè)面,新開(kāi)一個(gè)會(huì)話測(cè)試,比如在會(huì)話欄輸入“查詢年齡16歲以上的郵箱”

03.用新建的數(shù)據(jù)助手處理真實(shí)的數(shù)據(jù)庫(kù)

我從云端拷貝了一份真正的數(shù)據(jù)庫(kù)到本地,測(cè)試了更多問(wèn)題,具體請(qǐng)看圖。

依靠MCP的強(qiáng)大框架和各種開(kāi)源工具,我們實(shí)現(xiàn)了沒(méi)寫(xiě)一行代碼就輕松搭建了一個(gè)完善的數(shù)據(jù)助手 ,可以用自然語(yǔ)言從數(shù)據(jù)庫(kù)取數(shù)。未來(lái)甚至可以接入更多MCP,做更多更全面更有深度的數(shù)據(jù)分析,簡(jiǎn)直太棒啦!

文章轉(zhuǎn)載自:不寫(xiě)一行代碼,用MCP+魔搭A(yù)PI-Inference 搭建一個(gè)本地?cái)?shù)據(jù)助手! 附所有工具和清單

上一篇:

支付寶支付 MCP 服務(wù)

下一篇:

GPT-4.5 與 Claude 3.7 Sonnet 對(duì)比
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門(mén)場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)