这几天老是听到 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)先把官方的项目初始化命令全执行一遍:
复制# 安装 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 的水平非常有限,一般生成出来的内容是要改吧改吧的。在改代码以前,先把依赖安装下:
复制uv add dotenv aiomysql mcp
3)稍微改了下上面的代码之后,我又让 GPT 给我加了一个获取某表 DDL 的功能,这样就更省事一点,使用的时候就不用我告诉它了:
图片
4)这样功能就完成,接下来就是配置到客户端里使用。官方推荐的是 Claude for Desktop ,不过我实测下来在国内用起来很不方便,所以更推荐用 Cursor:
图片
然后在打开的文件里写入以下内容:
复制{ "mcpServers": { "gen-data": { "command": "uv", "args": [ "--directory", "/项目文件夹路径(gen-data)", "run", "功能代码(main).py" ], "env": { "MYSQL_PASSWORD": "数据库密码" } } } }
配置之后记得重启 Cursor ,否则很可能不生效。
5)来看下效果吧:
图片
图片
图片
整个过程并不难,但还是让我感受到了一些震撼,AI 的使用成本越来越低了,像我这样的普通开发者也能很轻易的把 AI 接到常用的工具中,程序员还是要紧跟科技发展的步伐,避免自己被淘汰掉,一起加油吧兄弟们!