到底 MCP 有什么魅力?10分钟让 AI 直接操作数据库!

大家好,我是松柏。

这几天老是听到 MCP 的概念,为了让自己不那么 out ,昨天下班之后我也是抓紧去看了下这到底是何方神圣。

MCP,全称 Model Context Protocol,是一个开源协议,目的是为大语言模型(LLM)提供一个标准化的上下文接口。也就是说,为各种应用对接 AI 提供了一个规范,就像 USB 接口一样。

听起来有点摸不着头脑,没事,看看官方给的 demo 就知道是怎么回事了。这个 demo 做的事情很简单,就是写了两个获取天气情况的方法给 AI 用!因为 AI 的训练是使用已有的数据,所以如果直接问 AI 现在几点了,那它肯定懵逼,同样 AI 也不知道明天的天气会怎么样,因为训练它的历史数据里没有。那我们让代码告诉它,它再告诉我不就完了?没错,这个 demo 做的就是这件事。

根据这个 demo ,我们自己也搓一个出来玩玩。平时开发的时候,免不了要造一些测试数据到数据库,以前都是告诉 AI DDL,让它生成对应的 insert 语句,然后手动 copy 到控制台执行。现在我们把这个过程全部交给 AI 来做,甚至把实现这个过程的代码也可以让 AI 来写!

手把手从零实现的步骤(因为官方 demo 是 python 多一点,我这里也直接用 python 了):

1)先把官方的项目初始化命令全执行一遍:

bash 复制代码
# 安装 python 的包管理工具,安装后重开命令行窗口
curl -LsSf https://astral.sh/uv/install.sh | sh

# 创建项目文件夹
uv init gen-data
cd gen-data

# 创建虚拟环境并激活
uv venv
source .venv/bin/activate

ok,前置步骤就这些,接下来就是打开 ide 写代码了。

2)给 AI 我们的需求,让 AI 仿照官方的 demo 给出实现:

(我这里仅给出部分截图,源码会放到文末)

当然了,我写 prompt 的水平非常有限,一般生成出来的内容是要改吧改吧的。在改代码以前,先把依赖安装下:

csharp 复制代码
uv add dotenv aiomysql mcp 

3)稍微改了下上面的代码之后,我又让 GPT 给我加了一个获取某表 DDL 的功能,这样就更省事一点,使用的时候就不用我告诉它了:

4)这样功能就完成,接下来就是配置到客户端里使用。官方推荐的是 Claude for Desktop ,不过我实测下来在国内用起来很不方便,所以更推荐用 Cursor:

然后在打开的文件里写入以下内容:

json 复制代码
{
  "mcpServers": {
    "gen-data": {
      "command": "uv",
      "args": [
        "--directory",
        "/项目文件夹路径(gen-data)",
        "run",
        "功能代码(main).py"
      ],
      "env": {
        "MYSQL_PASSWORD": "数据库密码"
      }
    }
  }
}

配置之后记得重启 Cursor ,否则很可能不生效。

5)来看下效果吧:

整个过程并不难,但还是让我感受到了一些震撼,AI 的使用成本越来越低了,像我这样的普通开发者也能很轻易的把 AI 接到常用的工具中,程序员还是要紧跟科技发展的步伐,避免自己被淘汰掉,一起加油吧兄弟们!

当然了,这个 demo 就是把数据库账号密码告诉 AI ,让它自己随便去搞,所以仅限于在本地玩一玩,不要带到生产环境上。

上述demo地址:GitHub - co-pine/gen-data

相关推荐
chenchihwen9 小时前
AI代码开发宝库系列:Function Call
人工智能·python·1024程序员节·dashscope
FreeBuf_9 小时前
微软Copilot被用于窃取OAuth令牌,AI Agent成为攻击者帮凶
人工智能·microsoft·copilot
学slam的小范9 小时前
ROS跑ORB-SLAM3遇见的问题总结
人工智能·机器人·自动驾驶
计算机学长felix10 小时前
基于SpringBoot的“面向校园的助力跑腿系统”的设计与实现(源码+数据库+文档+PPT)
数据库·spring boot·后端
coding消烦员10 小时前
新版 vscode 去除快捷键 Ctrl+I 显示 Copilot 的 AI 对话框
人工智能·vscode·copilot
周杰伦_Jay10 小时前
【自动驾驶开源仿真平台】Carla、AirSim、Udacity self-driving-car-sim、Apollo、Autoware。
人工智能·机器学习·自动驾驶
紫荆鱼10 小时前
设计模式-迭代器模式(Iterator)
c++·后端·设计模式·迭代器模式
牛奶还是纯的好11 小时前
双目测距实战5-立体矫正
人工智能·3d
无风听海11 小时前
神经网络之窗口大小对词语义向量的影响
人工智能·深度学习·神经网络
sali-tec11 小时前
C# 基于halcon的视觉工作流-章52-生成标定板
开发语言·图像处理·人工智能·算法·计算机视觉