使用说明
MCPGo:Go驱动的MCP网关
MCPGo是一个轻量级、高性能、面向未来的网关,它将AI代理与多个模型上下文协议(MCP)服务器连接起来。它采用干净的、域驱动的架构和CQRS构建,从一开始就确保了可扩展性和可维护性。
🎯 核心原则
- 语言: Go(最新稳定版本)
- 架构: 特征切片设计
- 依赖规则: 代码是按功能组织的,而不是按技术层组织的。
- 简单性: 没有繁重的代码生成或魔法。只要干净,地道的围棋。
⚖️ 许可证
该项目根据 带有Commons条款限制的MIT许可证。您可以出于非商业目的自由使用本软件。对于商业用途,请打开一个问题。请参阅 许可证 文件以获取完整详细信息。
🚀 入门指南
先决条件
- Go(1.21或更高版本)
- 制造
构建
要构建应用程序,请运行:
make build
这将在以下位置创建二进制文件 bin/mcpgo.
跑
要运行网关,请使用:
make run
服务器将从配置中指定的地址启动(默认值: :443).
MCP网关端点
MCPGo现在直接使用模型上下文协议。代理商可以建立
WebSocket连接到 /mcp 使用标准的端点 Sec-WebSocket-Protocol: mcp
子协议。每个客户端会话都被代理到定义的上游MCP服务器
在配置中,响应使用
标准MCP消息格式。这使得MCPGo充当代理之间的网关
以及上游MCP服务,而不改变有效载荷。
服务器将于启动 https://localhost:443.
测试
要运行测试套件,请执行以下操作:
make test
棉绒
要格式化和整理代码,请执行以下操作:
make lint
🏛️ 建筑
该项目遵循 特征切片设计代码不是按技术层组织的,而是按特征分组的。这增强了模块化,使应用程序更容易开发和维护。
主要部件有:
backend/apps:包含每个功能的核心业务逻辑。backend/api:通过HTTP API公开功能。backend/services:持有共同的、跨领域的担忧,如SSL管理。
有关更详细的说明,请参阅 docs/architecture.md.