基于 Golang 高性能 MCP (Model Context Protocol) 服务器,可为 Weave 平台提供可扩展服务
- 完整 MCP 协议支持 - 支持 tools、resources、prompts、roots 等协议
- 流式响应支持 - Server-Sent Events (SSE) 流式工具调用
- 高性能架构 - 基于 Gin 框架,连接池管理,优化路由性能
- 模块化中间件 - 日志、崩溃恢复、请求ID追踪等中间件
- 配置驱动 - 灵活的配置管理和环境变量支持
- 安全防护 - 连接限制、错误处理、结构化日志
- Go 1.24+
- 支持 MCP 协议的客户端
# 克隆项目
git clone https://github.com/NexusForgeAI/Weave-Toolkit.git
cd Weave-Toolkit
# 配置环境变量(.env)、工具配置(tool-config.json)
# 启动服务
go run ./cmd/mcp-server- 在
internal/tools/目录创建新工具文件 - 实现
Tool接口:
type Tool interface {
Name() string
Description() string
Category() ToolCategory
Execute(ctx context.Context, args json.RawMessage) (json.RawMessage, error)
}- 在
manager.go中注册工具
POST /mcp- MCP 协议主端点GET /health- 健康检查端点GET /health/stats- 服务器统计信息端点
initialize- 初始化连接tools/list- 获取可用工具列表tools/call- 调用具体工具tools/call(流式) - 流式调用工具,支持实时输出
resources/list- 获取资源列表resources/read- 读取资源内容prompts/list- 获取提示词列表prompts/get- 获取特定提示词roots/list- 获取根目录列表
Weave-Toolkit/
├── cmd/mcp-server/ # 启动入口
├── config/ # 配置管理
├── internal/ # 核心实现
│ ├── logger/ # 日志系统
│ ├── mcp/ # MCP 协议
│ └── tools/ # 工具管理
├── middleware/ # 中间件
├── .env # 环境配置
└── tool-config.json # 工具配置
# 构建
go build -o mcp-server ./cmd/mcp-server
# 运行
./mcp-server
# Docker 运行
docker build -t mcp-server:1.0.0 .
docker run -p 8888:8888 -v $(pwd)/.env:/app/.env -v $(pwd)/tool-config.json:/app/tool-config.json mcp-server:1.0.0欢迎对项目进行贡献!感谢!
- Fork 仓库并克隆到本地
- 创建分支进行开发(
git checkout -b feature/your-feature) - 提交代码并确保通过测试
- 创建 Pull Request 描述您的更改
- 等待代码审查并根据反馈进行修改