概述

在当前软件开发中,AI已成为重要的辅助工具,甚至承担了大量代码生成工作,开发者更多地扮演引导与规则制定的角色。然而,这一模式仍存在显著痛点:当基于现有项目或框架添加新功能时,AI可能意外破坏既有逻辑;面对大规模代码库时,过长的上下文容易导致处理中断或产生“幻觉”,输出不准确结果,进而显著降低开发精准性与效率,使人工排查和修正成本高昂。

为有效降低开发成本,我们可以通过优化提示工程并为AI设定明确的规则与约束,将其能力聚焦于特定任务。例如,借助类似MCP(Model Context Protocol)的协议工具,能够将AI限制在预定义的安全上下文中工作,仅可调用指定的工具和资源。可以降低AI修改现有代码或造成的混乱,确保开发过程既高效又可靠。

我们在原有代码生成工具的基础上增加了MCP服务,让AI直接操作代码生成工具来生成代码,这样降低了我们人为去配置代码生成工具的时间成本又防止AI过度修改我们的代码,并且保证了代码的一致性。目前这只是一个最初始的版本,还有很大完善空间。

这样做的好处可以分为以下几个核心层面:

1. 保护性与稳定性:守护现有代码库

这是最直接、最明显的好处。

  • 避免意外破坏: AI(尤其是通用型AI)可能会误解您的指令,或者为了“优化”而重写它认为“不完美”的现有代码。MCP通过提供只读工具(如代码搜索、文件读取)可以完全杜绝AI写入核心业务代码的可能性,从根本上保护了现有功能。
  • 维持代码一致性: AI可能会用它习惯的代码风格或模式来编写代码,这可能与您项目的规范冲突。通过MCP暴露的代码生成工具,您可以内置公司的代码规范和最佳实践,确保AI生成的新代码在风格、结构、命名约定上与现有代码库完全一致。

2. 精准性与效率:聚焦问题,提升开发效率

  • 提供精准上下文: AI的性能严重依赖于其获得的上下文信息。MCP允许您创建工具,为AI提供最相关、最精确的代码上下文(例如,“获取与用户认证相关的所有API路由”),而不是让它基于猜测去操作。这大大减少了AI因信息不足而犯错的概率。
  • 减少迭代次数: 传统的提示方式中,您可能需要花费大量时间在聊天窗口中粘贴代码片段、解释项目结构。MCP将这些工作自动化,AI通过工具调用自主获取所需信息,使得一次对话就能产生更准确的结果,显著减少了“AI误解-您纠正-AI再尝试”的循环。

3. 可控性与安全性:设定明确的边界

  • 权限隔离: MCP允许您对工具进行精细的权限控制。
    • 只读工具: 用于浏览代码、查询数据库schema、搜索文档。安全无风险。
    • 写入工具: 限制在特定目录(如/features/new_feature)或特定文件类型(如*.test.js)上操作。AI无法越界。
    • 执行工具: 限制只能运行特定的安全命令(如项目特定的代码生成器脚手架、格式化命令)。
  • 操作透明化: 所有通过MCP工具执行的操作(读、写、执行)都会清晰地显示给用户(开发者)。您可以看到AI正在尝试读取哪个文件、准备在何处创建新文件、将要运行什么命令。这提供了完全的可见性和可控性,您可以在危险操作发生前中止它。

5. 可复用性与协作性:一次配置,团队受益

  • 共享配置: 一旦您为项目配置好一套MCP服务器(即一套自定义工具),整个团队的成员都可以使用同一套配置与AI交互。这确保了团队输出的代码质量和风格是统一的,极大地提升了协作效率。

一、下载

下载地址 1.0版本

darwin_amd64下载地址:https://www.g-fast.cn/mcp/v1.0.0/darwin_amd64/GFastMcp

darwin_arm64下载地址:https://www.g-fast.cn/mcp/v1.0.0/darwin_arm64/GFastMcp

linux_amd64下载地址:https://www.g-fast.cn/mcp/v1.0.0/linux_amd64/GFastMcp

linux_arm下载地址:https://www.g-fast.cn/mcp/v1.0.0/linux_arm/GFastMcp

linux_arm64下载地址:https://www.g-fast.cn/mcp/v1.0.0/linux_arm64/GFastMcp

windows_amd64下载地址:https://www.g-fast.cn/mcp/v1.0.0/windows_amd64/GFastMcp.exe

二、配置

项目配置

在GFast项目配置文件中修改代码生成配置段:

# 代码生成配置
gen:
  author: "gfast"
  moduleName: "demo"
  apiName: "api/v1"
  packageName: "internal/app/demo" #需要生成代码相对项目目录的路径
  goModName: "github.com/tiger1103/gfast/v3"
  autoRemovePre: true   #是否自动删除表前缀
  tablePrefix: "table_,qxkj_"   #表前缀
  templatePath: "./resource/template/vm"  #代码生成模板路径
  frontDir: "D:\\xxxx\\xxxx\\gfast-ui" #注意MCP工具使用时前端路径必须是一个绝对路径

1、主要修改 packageName 包名,其中包名规则如你需要开发一个商城模块包名:internal/app/shop ,或cms模块则包名为:internal/app/cms

2、 frontDir 前端UI所在路径,需要一个绝对路径(如/xxx/xxx/gfast-ui)

mcp 配置

在开发工具如vscodecursortrae中添加mcp服务:

{
  "mcpServers": {
    "gFast-mcp-server": {
      "url": "http://localhost:8000/sse",
      "disabled": false
    }
  }

三、使用案例

trae为例,在trae中打开GFast项目后,修改manifest\config\config.yaml配置文件,配置好数据库连接参数,并配置好代码生成相关参数。

配置数据库链接参数:

20250915154752

配置代码生成参数:

20250915154538

启动MCP服务:

运行下载的二进制文件启动mcp服务,如windows系统 则直接运行GFastMcp.exe,运行后显示如下说明运行成功:

20250915155242

配置MCP服务:

20250915154949

添加后显示状态为开启说明添加成功。

配置完成后直接打开对话,让AI帮我们开发功能:

20250915155812

AI便会帮我们分析功能需求,自动创建数据表,自动生成功能代码:

20250915160123

生成完成后,我们进入后台,便可以看到AI已经帮我们创建好了菜单:

20250915160309

同时生成了员工管理功能中所需要的字典数据:

20250915160535

查看员工管理功能:

添加员工信息:

20250915160830

添加员工信息时,表单中可以看到,生成的字典数据性别、状态等可以直接使用。

添加完成后在列表,展开搜索条件可以看到字典同时可以使用:

20250915161124

接下来添加考勤记录信息:

20250915161239

同样,搜索时可以下拉选择查询某个员工考勤记录信息:

20250915161326

也可按考勤状态查询相关信息:

20250915161430

如果需要修改生成的功能,也可以直接告诉AI帮我们修改,比如添加字段,修改字典数据等信息。

演示视频地址:【GFast mcp 代码生成工具】

作者:管理员  创建时间:2025-09-15 16:20
最后编辑:管理员  更新时间:2025-09-15 16:53