登录人人都是产品经理即可获得以下权益
itomcoil 2025-04-10 23:45 20 浏览
许多初学者在使用AI工具时常常遇到一个痛点:虽然AI能够提供指导,但实际操作仍然需要手动完成。本文将为你带来一个“保姆级”教程,介绍如何通过配置Cursor和Sqlite MCP Server,让AI直接操作数据库,从而实现真正的自动化编程。
在用Cursor等AI工具编程的同学们,有没有发现,你原本想让AI帮你解决问题,但AI老是让你自己去操作。
例如我做数据分析,一定离不开数据库,每次需要执行操作的时候,都是让AI给我命令,然后我手动去执行。
其实这个过程完全没有必要,我们可以让AI自己去操作数据库!!!
这就是我们今天要介绍的MCP Server的能力!!
可以看下Cursor官方文档中的介绍:
https://docs.cursor.com/context/model-context-protocol
起因是我有开发一个内容矩阵系统,伴随着一个sqlite数据库, 虽然说是AI编程,但还多本地的操作它无法执行,要我去做,我就变成了它的小弟,这让我很不爽。直到我用上MCP,真正让Cursor变成AI Agent之后,我才看到了真正的人工智能。
今天就给大家介绍一个MCP的实操:让Cursor操作MCP
设置步骤
总共分成三步
下载SQL Lite MCP Server
用到的项目地址是:
https://github.com/modelcontextprotocol/servers/tree/main/src/sqlite
但我直接到主页
https://github.com/modelcontextprotocol/servers/tree/main 把整个servers 都下载了
解压到了这里:
配置MCP服务器
你需要创建一个MCP配置文件,有两种位置可以放置:
- 项目配置:在你的项目目录下创建 .cursor/mcp.json 文件(仅在该项目中可用)
- 全局配置:在你的主目录下创建 ~/.cursor/mcp.json 文件(在所有Cursor工作区可用)这里的主目录是linux的,windows的话可以直接到Cursor的设置里打开添加。
这里我是先用在单个项目的测试上,就用的项目配置:
配置SQLite MCP服务器
根据GitHub仓库中的信息,SQLite MCP服务器有两种运行方式:
方式一:使用uv(本地运行)
UV 是一个Python的包,我们先安装他
pip install uvpip install httpx mcp
把以下配置复制黏贴到刚生成好的mcp.json里,这是一个标准的MCP配置格式,其中我们看到需要自行做修改
{
“mcpServers”:{
“sqlite”:{
“command”:”uv”,
“args”:[
“–directory”,
“你的servers仓库路径/servers/src/sqlite”,
“run”,
“mcp-server-sqlite”,
“–db-path”,
“~/你的数据库.db”
]
}
}
}
注意我的路径:
然后我的配置文件长这样:
其实这个配置的逻辑很简单,就是命令行运行uv –directory
D:/ProgramData/js/mcp/servers-main/src/sqlite run mcp-server-sqlite –db-path ai_editor.db 只是把它们每个元素拆开了放进去,这样就好理解了。
方式二:使用Docker
这个方法还要配置Docker,对大部分人来说有点太麻烦了,就仅展示
{
“mcpServers”:{
“sqlite”:{
“command”:”docker”,
“args”:[
“run”,
“–rm”,
“-i”,
“-v”,
“mcp-test:/mcp”,
“mcp/sqlite”,
“–db-path”,
“/mcp/test.db”
]
}
}
}
使用Docker前需要先构建镜像:
docker build -t mcp/sqlite .
3. 查看配置好的MCP Server,重启Cursor
找到设置,如果能看到下面图里的样式,就说明Cursor识别成功了,否则就是Json文件哪里填错了,例如windows的地址,是不能直接复制文件窗口上的,否则会有红线报错,这样Cursor是识别不到MCP Server的
其次,还要观察名字前面是否有绿色的灯,绿色才证明开着。
这里我一开始遇到一个大坑,一直不亮灯,甚至显示client closed,查了各种网络都没有人说,我自己折腾了半天才解决。这个坑,如果你也遇到了,就看文末。
顺利的话,就重启Cursor,打开的时候会自动弹出命令行窗口
这是Cursor在替你运行 MCP Server,注意不要关闭,让它一直开着。
使用SQLite MCP服务器的工具
配置好后,Cursor的Agent将能够访问以下SQLite工具,同时这也是我们下载的Sqlite MCP Server文件里定义好的命令:
查询工具
- read_query:执行SELECT查询读取数据
- write_query:执行INSERT、UPDATE或DELETE查询
- create_table:创建新表
模式工具
- list_tables:获取所有表的列表
- describe-table:查看特定表的模式信息
分析工具
- append_insight:向memo资源添加新的业务见解
在Cursor的Agent中可以直接引用这些工具。Agent会自动检测可用的MCP工具,或者你可以明确告诉Agent使用特定的工具。
接下来使用就很简单了,例如我这个项目需要新增一些表格,就直接说:
当前项目是一个ai批量改写内容管理系统,每篇内容都有id
现在我需要新增一个内容的多版本管理功能
请你帮我在数据库中新建好对应的多版本表格
然后AI就一如既往的查看当前项目,包括查看数据库情况,就直接调用了,如下图:
Calling MCP tool list_tables
格式:Calling + 某个工具+什么命令
最后的命令则是我们前面部署好的MCP Server里自定义好的
点开每个Call,就能看到它具体干了什么
如果你不想老是去点Run tool, 就可以把Features里的Enable auto-run mode打开
这个操作真的巨丝滑!!还会自动生成日志、视图,甚至插入测试数据,最后再检验,比我做的还6
但要提醒一下,AI有很大的不确定性,不建议在生产环境直接用AI去改你的数据库!!
建议是在刚开始做项目的时候,让AI帮你完成初始化,或者在执行前,手动做一个备份,如果有问题,能马上恢复!!!
一个大坑!!
遇到一个大坑,因为我是用Anaconda的多环境管理,包括构建的uv也是用的虚拟环境,导致我一直运行MCP Servers失败,显示client closed
后来我不断尝试,重新安装依赖包之类的,偶然成功了一个,发现Cursor调用的是我电脑系统默认的Python,所以我判断很可能是环境问题。
于是我找到系统环境变量查看,在用户变量里找到了Cursor使用的系统Python
接着,还需要注意的是,每个MCP Server都有版本限制的,例如当前这个项目,找到.python-version就能看到要求是3.10
有了这个猜想,就马上行动:
1. 卸载电脑本地的Python,注意还需要手动删除掉上面系统变量里的路径文件夹
2. 重新下载3.10包,默认位置,也就是前面系统变量提到的根目录
3. 把系统变量里的 Python38 改成 Python310 因为结构一样的,改个路径名字就行
4. 重启电脑,一定要重启,这样才能清掉缓存,让Cursor能正确识别新的Python
5. 然后按以上的流程重新操作一遍,成功!
以上就是今天的所有内容。
本文由人人都是产品经理作者【饼干哥哥】,微信公众号:【饼干哥哥数据分析】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。
相关推荐
- Excel新函数TEXTSPLIT太强大了,轻松搞定数据拆分!
-
我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!最近我把WPS软件升级到了版本号:12.1.0.15990的最新版本,最版本已经支持文本拆分函数TEXTSPLIT了,并...
- Excel超强数据拆分函数TEXTSPLIT,从入门到精通!
-
我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!今天跟大家分享的是Excel超强数据拆分函数TEXTSPLIT,带你从入门到精通!TEXTSPLIT函数真是太强大了,轻松...
- 看完就会用的C++17特性总结(c++11常用新特性)
-
作者:taoklin,腾讯WXG后台开发一、简单特性1.namespace嵌套C++17使我们可以更加简洁使用命名空间:2.std::variant升级版的C语言Union在C++17之前,通...
- plsql字符串分割浅谈(plsql字符集设置)
-
工作之中遇到的小问题,在此抛出问题,并给出解决方法。一方面是为了给自己留下深刻印象,另一方面给遇到相似问题的同学一个解决思路。如若其中有写的不好或者不对的地方也请不加不吝赐教,集思广益,共同进步。遇到...
- javascript如何分割字符串(javascript切割字符串)
-
javascript如何分割字符串在JavaScript中,您可以使用字符串的`split()`方法来将一个字符串分割成一个数组。`split()`方法接收一个参数,这个参数指定了分割字符串的方式。如...
- TextSplit函数的使用方法(入门+进阶+高级共八种用法10个公式)
-
在Excel和WPS新增的几十个函数中,如果按实用性+功能性排名,textsplit排第二,无函数敢排第一。因为它不仅使用简单,而且解决了以前用超复杂公式才能搞定的难题。今天小编用10个公式,让你彻底...
- Python字符串split()方法使用技巧
-
在Python中,字符串操作可谓是基础且关键的技能,而今天咱们要重点攻克的“堡垒”——split()方法,它能将看似浑然一体的字符串,按照我们的需求进行拆分,极大地便利了数据处理与文本解析工作。基本语...
- go语言中字符串常用的系统函数(golang 字符串)
-
最近由于工作比较忙,视频有段时间没有更新了,在这里跟大家说声抱歉了,我尽快抽些时间整理下视频今天就发一篇关于go语言的基础知识吧!我这我工作中用到的一些常用函数,汇总出来分享给大家,希望对...
- 无规律文本拆分,这些函数你得会(没有分隔符没规律数据拆分)
-
今天文章来源于表格学员训练营群内答疑,混合文本拆分。其实拆分不难,只要规则明确就好办。就怕规则不清晰,或者规则太多。那真是,Oh,mygod.如上图所示进行拆分,文字表达实在是有点难,所以小熊变身灵...
- Python之文本解析:字符串格式化的逆操作?
-
引言前面的文章中,提到了关于Python中字符串中的相关操作,更多地涉及到了字符串的格式化,有些地方也称为字符串插值操作,本质上,就是把多个字符串拼接在一起,以固定的格式呈现。关于字符串的操作,其实还...
- 忘记【分列】吧,TEXTSPLIT拆分文本好用100倍
-
函数TEXTSPLIT的作用是:按分隔符将字符串拆分为行或列。仅ExcelM365版本可用。基本应用将A2单元格内容按逗号拆分。=TEXTSPLIT(A2,",")第二参数设置为逗号...
- Excel365版本新函数TEXTSPLIT,专攻文本拆分
-
Excel中字符串的处理,拆分和合并是比较常见的需求。合并,当前最好用的函数非TEXTJOIN不可。拆分,Office365于2022年3月更新了一个专业函数:TEXTSPLIT语法参数:【...
- 站长在线Python精讲使用正则表达式的split()方法分割字符串详解
-
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用正则表达式的split()方法分割字符串详解》。使用正则表达式分割字符串在Python中使用正则表达式的split(...
- Java中字符串分割的方法(java字符串切割方法)
-
技术背景在Java编程中,经常需要对字符串进行分割操作,例如将一个包含多个信息的字符串按照特定的分隔符拆分成多个子字符串。常见的应用场景包括解析CSV文件、处理网络请求参数等。实现步骤1.使用Str...
- 因为一个函数strtok踩坑,我被老工程师无情嘲笑了
-
在用C/C++实现字符串切割中,strtok函数经常用到,其主要作用是按照给定的字符集分隔字符串,并返回各子字符串。但是实际上,可不止有strtok(),还有strtok、strtok_s、strto...
- 一周热门
- 最近发表
- 标签列表
-
- ps像素和厘米换算 (32)
- ps图案在哪里 (33)
- super().__init__ (33)
- python 获取日期 (34)
- 0xa (36)
- super().__init__()详解 (33)
- python安装包在哪里找 (33)
- linux查看python版本信息 (35)
- python怎么改成中文 (35)
- php文件怎么在浏览器运行 (33)
- eval在python中的意思 (33)
- python安装opencv库 (35)
- python div (34)
- sticky css (33)
- python中random.randint()函数 (34)
- python去掉字符串中的指定字符 (33)
- python入门经典100题 (34)
- anaconda安装路径 (34)
- yield和return的区别 (33)
- 1到10的阶乘之和是多少 (35)
- python安装sklearn库 (33)
- dom和bom区别 (33)
- js 替换指定位置的字符 (33)
- python判断元素是否存在 (33)
- sorted key (33)