用 Laravel MCP 让 AI 直接读取数据库表结构

AI摘要
本文介绍了如何利用 Laravel 官方的 MCP 包,让 AI 编程助手(如 Cursor)能够自动查询数据库表结构以提升代码生成准确率。核心是通过配置 MCP 服务器,使 AI 能安全调用本地工具获取项目信息,简化了开发流程。

在日常使用 AI 编程时,难免会遇到大模型想要获取数据库的表结构来生成代码,但是我们写 php 很少在代码中写数据库的结构体,或者字段列表,所以每次都要手动复制表结构给它。

最近看到 Laravel 官方出了个 MCP 包,MCP 是 OpenAI 推出的一个协议,就是让 ai 可以调用自己写的小工具的一个协议,常用的 ai 编辑器(例如cursor、claude code)等都是支持 MCP 协议的。

我写了一个事例,放到了 github 如果有需要也可以放到本地运行,仓库地址

其实不仅仅是获取数据库结构,借助 MCP 可以实现很多个性化需求,例如查询项目信息、调用IMAP读取邮件等等,用法很多。

使用

使用方式很简单,把仓库下载下来,安装 composer 依赖,在 .env 配置好连接信息即可,与日常 Laravel 项目无异。

代码位置在 \App\Mcp\Servers\MysqlServer 可以看一下,实现方式非常简单,只有几十行代码。

以 cursor 为例,打开 cursor 的设置页面,找到 MCP 设置,添加以下 json 配置:

{
  "mcpServers": {
    "mysql": {
      "args": [
        "D:\\code\\data\\laravel-mcp-mysql\\artisan",
        "mcp:start",
        "mysql"
      ],
      "command": "php",
      "type": "stdio"
    }
  }
}

注意将 D:\\code\\data\\laravel-mcp-mysql\\artisan 替换为你本地 Laravel 项目中 artisan 文件的绝对路径,如果本地安装了多个 PHP 版本,可以将 php 也改为绝对路径。

配置流程如下:

img.png

每次调用 MCP 之前,都会询问是否同意执行,所以安全性还是可以的:

img.png

这样在写一些数据库查询时,大模型会自己去查询对应的表结构,然后生成代码,比盲写准确率会高很多

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!