一个 Go 开发演示项目集合,包含多个示例项目,用于学习和实践 Go 语言开发、Web 框架使用以及 MCP 协议实现。
这是一个 Go 工作区(Go Workspace),使用 go.work 管理多个相关项目。每个子项目都展示了不同的技术栈和使用场景。
go-dev-demo/ ├── gin-demo/ # Gin 框架基础演示 ├── gin-mcp/ # Gin + MCP 服务器实现 ├── mcp-demo/ # MCP 协议演示 │ └── stdio-demo/ # MCP stdio 传输方式演示 ├── write-gin-like-grpc/ # 类似 gRPC 的 Gin 实现 ├── go.work # Go 工作区配置 └── README.md # 项目文档
Gin 框架的基础演示项目,展示了 Gin Web 框架的核心功能:
快速开始:
cd gin-demo
go run main.go
服务将在 http://localhost:8080 启动。
基于 Gin 框架和 mcp-go 库的 Model Context Protocol (MCP) 服务器实现。
主要特性:
StreamableHTTPServer 实现 MCP 协议http.ServeMux 挂载,灵活集成到现有路由快速开始:
cd gin-mcp
go run main.go
详细文档请参考 gin-mcp/README.md
MCP 协议的 stdio 传输方式演示项目,展示了如何通过标准输入输出实现 MCP 服务器。
主要特性:
快速开始:
cd mcp-demo/stdio-demo
go run main.go
参考项目,展示了如何用 Gin 框架实现类似 gRPC 的功能。
参考链接: https://github.com/min0625/lab-write-gin-like-grpc
git clone <repository-url>
cd go-dev-demo
工作区会自动管理所有子项目的依赖,运行:
go work sync
或者进入各个子项目目录分别安装:
cd gin-demo && go mod download
cd gin-mcp && go mod download
# ... 其他项目
进入对应的子项目目录运行:
# 运行 Gin 演示
cd gin-demo && go run main.go
# 运行 Gin MCP 服务器
cd gin-mcp && go run main.go
# 运行 MCP stdio 演示
cd mcp-demo/stdio-demo && go run main.go
本项目使用 Go Workspace 功能管理多个相关项目。工作区配置在 go.work 文件中:
go 1.24.11 use ./gin-demo use ./write-gin-like-grpc use ./mcp-demo/stdio-demo use ./gin-mcp
项目根目录提供了统一的 Makefile,可以使用 make lint 对所有子项目进行代码格式化:
# 对所有子项目执行 lint
make lint
# 或者对单个项目执行 lint
make lint-gin-demo
make lint-gin-mcp
make lint-write-gin-like-grpc
go mod init <module-name>go.work 文件中添加 use ./<project-dir>go work sync 同步工作区这些演示项目可以用于:
欢迎提交 Issue 和 Pull Request 来改进这些演示项目。
各个子项目遵循相应的开源许可证。