保姆級(jí)教程:讓AI操作數(shù)據(jù)庫—Cusor配置Sqlite MCP Server|遇到了一個(gè)大坑,全網(wǎng)沒人說??!

0 評(píng)論 870 瀏覽 0 收藏 14 分鐘

許多初學(xué)者在使用AI工具時(shí)常常遇到一個(gè)痛點(diǎn):雖然AI能夠提供指導(dǎo),但實(shí)際操作仍然需要手動(dòng)完成。本文將為你帶來一個(gè)“保姆級(jí)”教程,介紹如何通過配置Cursor和Sqlite MCP Server,讓AI直接操作數(shù)據(jù)庫,從而實(shí)現(xiàn)真正的自動(dòng)化編程。

在用Cursor等AI工具編程的同學(xué)們,有沒有發(fā)現(xiàn),你原本想讓AI幫你解決問題,但AI老是讓你自己去操作。

例如我做數(shù)據(jù)分析,一定離不開數(shù)據(jù)庫,每次需要執(zhí)行操作的時(shí)候,都是讓AI給我命令,然后我手動(dòng)去執(zhí)行。

其實(shí)這個(gè)過程完全沒有必要,我們可以讓AI自己去操作數(shù)據(jù)庫!??!

這就是我們今天要介紹的MCP Server的能力??!

可以看下Cursor官方文檔中的介紹:

https://docs.cursor.com/context/model-context-protocol

起因是我有開發(fā)一個(gè)內(nèi)容矩陣系統(tǒng),伴隨著一個(gè)sqlite數(shù)據(jù)庫, 雖然說是AI編程,但還多本地的操作它無法執(zhí)行,要我去做,我就變成了它的小弟,這讓我很不爽。直到我用上MCP,真正讓Cursor變成AI Agent之后,我才看到了真正的人工智能。

今天就給大家介紹一個(gè)MCP的實(shí)操:讓Cursor操作MCP

設(shè)置步驟

總共分成三步

下載SQL Lite MCP Server

用到的項(xiàng)目地址是:https://github.com/modelcontextprotocol/servers/tree/main/src/sqlite

但我直接到主頁https://github.com/modelcontextprotocol/servers/tree/main 把整個(gè)servers 都下載了

解壓到了這里:

配置MCP服務(wù)器

你需要?jiǎng)?chuàng)建一個(gè)MCP配置文件,有兩種位置可以放置:

  • 項(xiàng)目配置:在你的項(xiàng)目目錄下創(chuàng)建?.cursor/mcp.json?文件(僅在該項(xiàng)目中可用)
  • 全局配置:在你的主目錄下創(chuàng)建?~/.cursor/mcp.json?文件(在所有Cursor工作區(qū)可用)這里的主目錄是linux的,windows的話可以直接到Cursor的設(shè)置里打開添加。

這里我是先用在單個(gè)項(xiàng)目的測試上,就用的項(xiàng)目配置:

配置SQLite MCP服務(wù)器

根據(jù)GitHub倉庫中的信息,SQLite MCP服務(wù)器有兩種運(yùn)行方式:

方式一:使用uv(本地運(yùn)行)

UV 是一個(gè)Python的包,我們先安裝他

pip install uv
pip install httpx mcp

把以下配置復(fù)制黏貼到剛生成好的mcp.json里,這是一個(gè)標(biāo)準(zhǔn)的MCP配置格式,其中我們看到需要自行做修改

{??
   “mcpServers”:{? ??
       “sqlite”:{? ? ??
           “command”:”uv”,? ? ??
               “args”:[? ? ? ??
                   “–directory”,? ? ? ??
                   “你的servers倉庫路徑/servers/src/sqlite”,? ? ? ??
                   “run”,? ? ? ??
                   “mcp-server-sqlite”,? ? ? ??
                   “–db-path”,? ? ? ??
                   “~/你的數(shù)據(jù)庫.db”? ? ??
               ]? ??
           }
}
}

注意我的路徑:

然后我的配置文件長這樣:

其實(shí)這個(gè)配置的邏輯很簡單,就是命令行運(yùn)行uv –directory D:/ProgramData/js/mcp/servers-main/src/sqlite run mcp-server-sqlite –db-path ai_editor.db 只是把它們每個(gè)元素拆開了放進(jìn)去,這樣就好理解了。

方式二:使用Docker

這個(gè)方法還要配置Docker,對(duì)大部分人來說有點(diǎn)太麻煩了,就僅展示

{??
   “mcpServers”:{? ??
       “sqlite”:{? ? ??
           “command”:”docker”,? ? ??
               “args”:[? ? ? ??
                   “run”,? ? ? ??
                   “–rm”,? ? ? ??
                   “-i”,? ? ? ?
                   “-v”,? ? ? ??
                   “mcp-test:/mcp”,? ? ? ??
                   “mcp/sqlite”,? ? ? ??
                   “–db-path”,? ? ? ??
                   “/mcp/test.db”? ? ??
               ]? ??
           }
}
}

使用Docker前需要先構(gòu)建鏡像:

docker build -t mcp/sqlite .

3. 查看配置好的MCP Server,重啟Cursor

找到設(shè)置,如果能看到下面圖里的樣式,就說明Cursor識(shí)別成功了,否則就是Json文件哪里填錯(cuò)了,例如windows的地址,是不能直接復(fù)制文件窗口上的,否則會(huì)有紅線報(bào)錯(cuò),這樣Cursor是識(shí)別不到MCP Server的

其次,還要觀察名字前面是否有綠色的燈,綠色才證明開著。

這里我一開始遇到一個(gè)大坑,一直不亮燈,甚至顯示client closed,查了各種網(wǎng)絡(luò)都沒有人說,我自己折騰了半天才解決。這個(gè)坑,如果你也遇到了,就看文末。

順利的話,就重啟Cursor,打開的時(shí)候會(huì)自動(dòng)彈出命令行窗口

這是Cursor在替你運(yùn)行 MCP Server,注意不要關(guān)閉,讓它一直開著。

使用SQLite MCP服務(wù)器的工具

配置好后,Cursor的Agent將能夠訪問以下SQLite工具,同時(shí)這也是我們下載的Sqlite MCP Server文件里定義好的命令:

查詢工具

  • read_query:執(zhí)行SELECT查詢讀取數(shù)據(jù)
  • write_query:執(zhí)行INSERT、UPDATE或DELETE查詢
  • create_table:創(chuàng)建新表

模式工具

  • list_tables:獲取所有表的列表
  • describe-table:查看特定表的模式信息

分析工具

  • append_insight:向memo資源添加新的業(yè)務(wù)見解

在Cursor的Agent中可以直接引用這些工具。Agent會(huì)自動(dòng)檢測可用的MCP工具,或者你可以明確告訴Agent使用特定的工具。

接下來使用就很簡單了,例如我這個(gè)項(xiàng)目需要新增一些表格,就直接說:

當(dāng)前項(xiàng)目是一個(gè)ai批量改寫內(nèi)容管理系統(tǒng),每篇內(nèi)容都有id
現(xiàn)在我需要新增一個(gè)內(nèi)容的多版本管理功能
請(qǐng)你幫我在數(shù)據(jù)庫中新建好對(duì)應(yīng)的多版本表格

然后AI就一如既往的查看當(dāng)前項(xiàng)目,包括查看數(shù)據(jù)庫情況,就直接調(diào)用了,如下圖:

Calling MCP tool list_tables

格式:Calling + 某個(gè)工具+什么命令

最后的命令則是我們前面部署好的MCP Server里自定義好的

點(diǎn)開每個(gè)Call,就能看到它具體干了什么

如果你不想老是去點(diǎn)Run tool, 就可以把Features里的Enable auto-run mode打開

這個(gè)操作真的巨絲滑??!還會(huì)自動(dòng)生成日志、視圖,甚至插入測試數(shù)據(jù),最后再檢驗(yàn),比我做的還6

但要提醒一下,AI有很大的不確定性,不建議在生產(chǎn)環(huán)境直接用AI去改你的數(shù)據(jù)庫!!

建議是在剛開始做項(xiàng)目的時(shí)候,讓AI幫你完成初始化,或者在執(zhí)行前,手動(dòng)做一個(gè)備份,如果有問題,能馬上恢復(fù)?。?!

一個(gè)大坑!!

遇到一個(gè)大坑,因?yàn)槲沂怯肁naconda的多環(huán)境管理,包括構(gòu)建的uv也是用的虛擬環(huán)境,導(dǎo)致我一直運(yùn)行MCP Servers失敗,顯示client closed

后來我不斷嘗試,重新安裝依賴包之類的,偶然成功了一個(gè),發(fā)現(xiàn)Cursor調(diào)用的是我電腦系統(tǒng)默認(rèn)的Python,所以我判斷很可能是環(huán)境問題。

于是我找到系統(tǒng)環(huán)境變量查看,在用戶變量里找到了Cursor使用的系統(tǒng)Python

接著,還需要注意的是,每個(gè)MCP Server都有版本限制的,例如當(dāng)前這個(gè)項(xiàng)目,找到.python-version就能看到要求是3.10

有了這個(gè)猜想,就馬上行動(dòng):

1.?卸載電腦本地的Python,注意還需要手動(dòng)刪除掉上面系統(tǒng)變量里的路徑文件夾

2.?重新下載3.10包,默認(rèn)位置,也就是前面系統(tǒng)變量提到的根目錄

3.?把系統(tǒng)變量里的 Python38 改成 Python310 因?yàn)榻Y(jié)構(gòu)一樣的,改個(gè)路徑名字就行

4.?重啟電腦,一定要重啟,這樣才能清掉緩存,讓Cursor能正確識(shí)別新的Python

5.?然后按以上的流程重新操作一遍,成功!

以上就是今天的所有內(nèi)容。

本文由人人都是產(chǎn)品經(jīng)理作者【餅干哥哥】,微信公眾號(hào):【餅干哥哥數(shù)據(jù)分析】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于 CC0 協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!
专题
17739人已学习17篇文章
数据可视化的方式,能够更加清晰明确的进行数据分析。本专题的文章分享了数据可视化的设计思路。
专题
14863人已学习13篇文章
本专题的文章分享了搭建营销中心指南。
专题
12891人已学习13篇文章
产品设计与用户的体验感息息相关,但是很多时候产品经理在产品设计过程中会忽略掉可能影响到用户体验感的一些因素,比如一些异常状态的出现会让用户产品卸载的想法。本专题的文章分享了产品异常场景设计指南。
专题
145434人已学习15篇文章
作为产品经理,你多多少少得懂点技术。
专题
12770人已学习19篇文章
如今随着互联网的发展,数字化给我们带来了更多的机会,在大数据时代,数据规模也在不断的膨胀,所以各种企业需要大数据治理。本专题的文章分享了数据治理相关的知识。
专题
30934人已学习11篇文章
来看看别人家是怎么做产品优化的。