一个模型上下文协议(MCP)工具,帮助开发者快速搭建并生成 go-zero 项目。
首次使用 mcp-zero? 查看我们的快速入门指南,了解逐步教程!
快速入门包括:
Go (1.19 或更高版本)
go-zero CLI (goctl):通过 go install github.com/zeromicro/go-zero/tools/goctl@latest 安装
Claude Desktop (或其他兼容 MCP 的客户端)
详细安装说明,请参阅快速入门指南。
创建一个新的目录用于您的 MCP 工具:
mkdir go-zero-mcp && cd go-zero-mcp
初始化 Go 模块:
go mod init go-zero-mcp
安装依赖项:
go get github.com/modelcontextprotocol/go-sdk
go get gopkg.in/yaml.v3
将主工具代码保存为 main.go
构建工具:
go build -o go-zero-mcp main.go
在您的 Claude Desktop MCP 设置中添加此配置:
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mcp-zero": {
"command": "/path/to/your/mcp-zero",
"env": {
"GOCTL_PATH": "/Users/yourname/go/bin/goctl"
}
}
}
}
编辑 ~/.config/Claude/claclude_desktop_config.json:
{
"mcpServers": {
"mcp-zero": {
"command": "/path/to/your/mcp-zero",
"env": {
"GOCTL_PATH": "/usr/local/bin/goctl"
}
}
}
}
编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"mcp-zero": {
"command": "C:\\path\\to\\your\\mcp-zero.exe",
"env": {
"GOCTL_PATH": "C:\\Go\\bin\\goctl.exe"
}
}
}
}
创建一个新的 go-zero API 服务。
参数:
service_name (必需):API 服务名称port (可选):端口号 (默认:8888)style (可选):代码风格 - "go_zero" 或 "gozero" (默认:"go_zero")output_dir (可选):输出目录 (默认:当前目录)根据 protobuf 定义创建一个新的 go-zero RPC 服务。
参数:
service_name (必需):RPC 服务名称proto_content (必需):protobuf 定义内容output_dir (可选):输出目录 (默认:当前目录)根据 API 规范文件生成 go-zero API 代码。
参数:
api_file (必需):.api 规范文件路径output_dir (可选):输出目录 (默认:当前目录)style (可选):代码风格 - "go_zero" 或 "gozero" (默认:"go_zero")根据数据库模式生成数据库模型代码。
参数:
source_type (必需):源类型 - "mysql"、"postgresql"、"mongo" 或 "ddl"source (必需):数据库连接字符串或 DDL 文件路径table (可选):特定表名 (对于数据库源)output_dir (可选):输出目录 (默认:"./model")创建一个示例 API 规范文件。
参数:
service_name (必需):API 服务名称endpoints (必需):包含方法、路径和处理器的端点对象数组output_file (可选):输出文件路径 (默认:service_name.api)分析现有 go-zero 项目的结构和依赖关系。
参数:
project_dir (必需):项目目录路径analysis_type (可选):分析类型 - "api"、"rpc"、"model" 或 "full" (默认:"full")为 go-zero 服务生成配置文件。
参数:
service_name (必需):服务名称service_type (必需):服务类型 - "api" 或 "rpc"config_type (可选):配置类型 - "dev"、"test" 或 "prod" (默认:"dev")output_file (可选):输出文件路径 (默认:etc/{service_name}.yaml)为 go-zero 服务生成常见代码模板。
参数:
template_type (必需):模板类型 - "middleware"、"error_handler"、"dockerfile"、"docker_compose" 或 "kubernetes"service_name (必需):服务名称output_path (可选):输出文件路径 (基于模板类型使用默认值)查询 go-zero 文档和迁移指南。
参数:
query (必需):关于 go-zero 概念或迁移的自然语言查询doc_type (可选):文档类型 - "concept"、"migration" 或 "both" (默认:"both")验证 API 规范、protobuf 定义或配置文件。
参数:
input_type (必需):输入类型 - "api_spec"、"proto" 或 "config"content (必需):要验证的内容strict (可选):启用严格验证模式 (默认:false)请创建一个名为 "user-service" 的新 go-zero API 服务,并将其绑定到端口 8080
创建一个名为 "auth-service" 的新 go-zero RPC 服务,使用以下 protobuf 定义:
syntax = "proto3";
package auth;
option go_package = "./auth";
service AuthService {
rpc Login(LoginRequest) returns (LoginResponse);
rpc Logout(LogoutRequest) returns (LogoutResponse);
}
message LoginRequest {
string username = 1;
string password = 2;
}
message LoginResponse {
string token = 1;
int64 expires_at = 2;
}
message LogoutRequest {
string token = 1;
}
message LogoutResponse {
bool success = 1;
}
从我的 MySQL 数据库生成 go-zero 模型,连接字符串为 "user:password@tcp(localhost:3306)/mydb"
为 "blog-service" 创建一个 API 规范,包含以下端点:
- GET /api/posts (处理器:GetPostsHandler)
- POST /api/posts (处理器:CreatePostHandler)
- GET /api/posts/:id (处理器:GetPostHandler)
- PUT /api/posts/:id (处理器:UpdatePostHandler)
- DELETE /api/posts/:id (处理器:DeletePostHandler)
分析我在 /path/to/myproject 的 go-zero 项目以了解其结构
为我的 "order-service" API 服务生成生产配置文件
为我的 "auth-service" 生成中间件模板
如何在 go-zero 中实现 JWT 认证?
如何从 Express.js 迁移到 go-zero?
验证位于 /path/to/service.api 的 API 规范文件,并启用严格模式
构建后,您的 MCP 服务器将具有以下结构:
mcp-zero/
├── main.go # 入口点和工具注册
├── tools/ # 工具实现
│ ├── create_api_service.go
│ ├── create_rpc_service.go
│ ├── generate_api.go
│ ├── generate_model.go
│ ├── create_api_spec.go
│ ├── analyze_project.go
│ ├── generate_config.go
│ ├── generate_template.go
│ ├── query_docs.go
│ └── validate_input.go
├── internal/ # 内部包
│ ├── analyzer/ # 项目分析
│ ├── validation/ # 输入验证
│ ├── security/ # 凭据处理
│ ├── templates/ # 代码模板
│ ├── docs/ # 文档数据库
│ ├── logging/ # 结构化日志
│ └── metrics/ # 性能指标
└── tests/ # 测试套件
├── integration/
└── unit/
MCP 服务器构建于:
要启用调试日志,请设置环境变量:
export MCP_DEBUG=1
欢迎扩展此工具,增加更多 go-zero 特性,如:
MIT 许可证 - 详情请参阅LICENSE文件。
版权所有 (c) 2025 go-zero 团队