百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

登录人人都是产品经理即可获得以下权益

itomcoil 2025-04-10 23:45 10 浏览

许多初学者在使用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 协议。

相关推荐

Python合集之Python字符串常用操作(一)

在上一节的合集中,我们了解了Python集合增删改及集合间运算的相关知识,本节我们将进一步了解一下Python字符串的常用操作的相关知识。1.拼接字符串使用+运算符可完成对多个字符串的拼接,+运...

Python 入门系列——17. tuple 简介

tupletuple常用来将多个item放在一个变量中,同时tuple也是python4个集合类型之一,其他的三个是:List,Set,Dictionary,它们都有自己的用途和场景。tupl...

Python基础 - 变量的作用域(python中变量由什么组成)

变量的作用域决定了变量在程序中的可见性和生命周期。在Python中,变量的作用域有以下几种:局部作用域(当前函数内部)嵌套作用域(外层函数)全局作用域(模块级别)内置作用域(Python的内置函数和内...

Python中冷门但非常好用的内置函数

Python中有许多内置函数,不像print、len那么广为人知,但它们的功能却异常强大,用好了可以大大提高代码效率,同时提升代码的简洁度,增强可阅读性Countercollections在pytho...

Python常用函数整理(python常用函数大全pdf)

以下是Python中常用函数整理,涵盖内置函数、标准库及常用操作,按类别分类并附带示例说明:一、基础内置函数print()输出内容到控制台。pythonprint("Hello,World!")#...

新手易犯错的地方Python作用域(python作用域和命名空间)

好多新手一开始比较容易犯错的地方理解作用域对于编写高效的python代码十分重要现在就讲下四种作用域,按照从内到外的顺序:局部作用域(Local)-在函数内部定义的变量嵌套作用域(Enclosin...

函数与模块:Python编程中的核心工具

一、函数的定义与核心概念1.1函数的定义函数是封装可重复执行代码的模块化单元,通过命名的方式组织代码逻辑,实现代码复用和功能解耦(将不同功能独立开来,减少代码之间的依赖关系)。其基本语法结构为:de...

太好用!教你几招Python魔法方法的妙用

专注Python、AI、大数据,请关注公众号七步编程!Python是一种简单的编程语言,满足一个需求,可以有各种各样的实现方法。正是因为它可以通过各种串联满足很多复杂的逻辑,因此,对代码可读性关注度不...

深入解析Python中的range()函数(python里面range函数)

range()是Python中一个非常基础且功能强大的内置函数,广泛用于循环控制和数字序列生成。它在迭代、索引处理和循环次数控制中扮演重要角色。本文将从基础用法到高级技巧,全面解析range()的使用...

站长在线python精讲在Python中使用len()函数计算字符串长度详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用len()函数计算字符串的长度详解》。本知识点主要内容有:在Python中使用len()函数计算字符串在UTF-8编...

linux工作中常用之必备基础命令(二)

1、clear命令功能说明:清屏。举例:clear;ctrl+l2、who命令功能说明:当前在本地系统上的所有用户的信息举例:whoami;who3、uptime命令功能说明:查询系统...

CentOS7装Ollama,本以为小菜一碟,没想到掉坑里了!

今天准备在CentOS7上安装Ollama,原本以为是小事一桩。哪想还是遇上了点小麻烦。因为在Windows上安装Ollama太小儿科了,上ollama.com网站下载程序,一键安装即可,最多就是设...

Linux下 sudo命令(linux里sudo怎么用)

平常使用Linux的时候,都是用普通用户登录执行命令,但是有些命令需要root权限才能执行,如果切换到root用户去执行,就需要输入root密码,为了系统的安全性,应该尽可能少的直接在终端上输入roo...

CentOS7.3 Linux系统中杀死进程的方法

CentOS7.3学习笔记总结(二十四)-Centoslinux系统中杀死进程的方法在工作中,我常常需要终止有问题的进程,一般通过程序的关闭命令把进程关闭掉,这是最安全的方法,但是有些时候,我们无法...

Linux(CentOs7)防火墙命令,两种使用方式示例

一、CentOs7关闭防火墙的命令1:查看防火状态systemctlstatusfirewalldserviceiptablesstatus2:暂时关闭防火墙systemctlstop...