使用说明
项目简介
jzero 是一个强大的 Go 语言开发工具框架,基于 go-zero 框架构建并对其进行了扩展和优化。它通过使用模板和解析描述文件(如 '.api', '.proto', '.sql')来自动化生成代码,旨在帮助开发者提高开发效率,减少重复工作。jzero 不仅提供命令行接口(CLI)供人工操作,还实现了 Model Context Protocol (MCP) 服务器,将其丰富的 CLI 命令和功能以标准化的方式暴露给 LLM 客户端使用。
主要功能点
- 项目脚手架: 通过模板快速创建一个符合企业级规范的 Go 项目结构。
- 代码生成: 根据 '.api' 文件生成 HTTP 服务代码,根据 '.proto' 文件生成 RPC 服务代码,根据 '.sql' 文件或数据库连接生成 Model 代码。
- 接口版本管理: 支持通过自动化流程升级和管理 API/RPC 接口版本。
- 生成客户端 SDK: 支持生成 Go 和 TypeScript 等语言的客户端 SDK。
- 生成文档: 支持生成 Swagger API 文档和 Proto 文档。
- 数据库迁移: 集成数据库迁移工具。
- 代码格式化: 提供格式化 Go, API, Proto, SQL 代码的功能。
- 插件机制: 支持通过插件扩展功能。
- MCP 服务器: 将上述所有 CLI 命令和功能作为**工具(Tools)**暴露给 LLM 客户端,允许 LLM 直接调用 jzero 进行项目管理、代码生成等操作,无需人工执行命令。
安装步骤
jzero 是一个 Go 语言命令行工具,可以通过 'go install' 命令安装:
- 确保您已经安装了 Go 语言环境(推荐使用最新稳定版)。
- 打开终端,运行以下命令:
go install github.com/jzero-io/jzero@latest - 安装完成后,运行 'jzero check' 命令检查并安装所有必要的依赖工具(如 goctl, protoc 等)。
jzero check - 验证安装是否成功:
jzero version
MCP 服务器配置
MCP 客户端需要配置 MCP 服务器的启动信息以便建立连接。对于 jzero,其 MCP 服务器功能集成在其 CLI 工具中,通过特定的命令启动。
MCP 客户端配置示例 (JSON 格式,注意此示例仅为说明配置所需参数,实际配置请根据您使用的 MCP 客户端格式调整):
{ "serverName": "jzero", // 服务器名称,客户端可自定义 "command": "jzero", // 启动 jzero CLI 工具的命令,确保 'jzero' 在系统的 PATH 中 "args": [ // 传递给 jzero 命令的参数 "mcp" // 启动 jzero 的 MCP 服务器模式 ], "transport": "stdio", // 通信传输协议,jzero MCP 服务器支持 Stdio "capabilities": { "tools": true, // 声明支持工具调用 "resources": false, // 声明不支持资源管理 "prompts": false // 声明不支持 Prompt 模板 } }
参数注释:
- 'serverName': 用于在 MCP 客户端中标识此服务器的名称。
- 'command': 执行文件的名称,即您通过 'go install' 安装的 'jzero' 命令。
- 'args': 启动 MCP 服务器模式所需的 CLI 参数,固定为 '["mcp"]'。
- 'transport': jzero MCP 服务器当前支持通过标准输入输出 ('stdio') 进行通信。
- 'capabilities': 声明服务器支持的功能。jzero MCP 服务器主要支持**工具(Tools)**能力,将 CLI 命令映射为可调用的工具。
基本使用方法
一旦 jzero 工具安装并配置为 MCP 服务器后,LLM 客户端就可以通过 MCP 协议与之通信,调用其暴露的工具。每个 jzero CLI 命令(例如 'jzero new', 'jzero gen api', 'jzero gen swagger' 等)都会被映射为一个 MCP 工具。LLM 可以根据需要选择并调用相应的工具,例如:
- 调用 'jzero__new' 工具来创建一个新项目,并传递项目名称、模块名等参数。
- 调用 'jzero__gen' 工具来根据描述文件生成代码,并传递描述文件路径、生成风格等参数。
- 调用 'jzero__migrate__up' 工具来执行数据库迁移。
具体可用的工具及其参数列表将由 jzero MCP 服务器在连接建立后声明给客户端。用户可以通过 MCP 客户端提供的界面或指令,让 LLM 探索和使用这些工具。
信息
分类
开发者工具