MCP边缘网关
MCP边缘网关是一个Go运行时,用于操作共享的MCP边缘和控制平面。它提供经过身份验证的公共MCP入口点、租户感知路由、持久状态和控制平面,可以通过外部基础设施API协调租户服务。
此存储库与部署无关。它不包括私人推出说明、实时主机名、特定于组织的运行手册、事件历史或环境标识符。
它包括什么
mcp-edge:MCP客户端的公共HTTP边缘。mcp-control-plane:目录、租户、机密和运行时协调的内部控制平面。- SQLite/libSQL持久化,支持鹅式迁移和sqlc生成的数据访问。
- OAuth元数据、注册、授权、令牌、刷新和自检端点。
- 主题感知租户路由和审计事件持久性。
- Docker Compose和Coolify风格环境的部署模板。
仓库的规划
.
├── cmd/
│ ├── mcp-edge/
│ └── mcp-control-plane/
├── db/
│ ├── migrations/
│ └── queries/
├── deploy/
│ └── coolify/
├── internal/
│ ├── catalog/
│ ├── contracts/
│ ├── controlplane/
│ ├── domain/
│ ├── edge/
│ ├── ids/
│ └── platform/sqlite/
├── control-plane.env.example
├── docker-compose.yaml
├── edge.env.example
├── go.mod
├── sqlc.yaml
└── README.md配置
从示例文件开始:
control-plane.env.exampleedge.env.example
这些示例使用占位符和安全默认值。将它们替换为您自己的身份提供商、秘密存储、基础结构API、公共边缘URL和租户映像策略的值。
租户图像支持两种模式:
local:Docker主机上必须已经存在image标签。pinned:图像引用必须使用@sha256:消化。
将特定于环境的值保存在此存储库之外。这包括实时主机名、用户标识符、生产UUID、访问令牌、秘密值、事件注释和一次性迁移计划。
文件政策
保持此存储库的可重用性。不要提交特定于部署的运行手册、实时主机名、环境标识符、访问令牌、PII、事件注释或一次性推出计划。请将这些详细信息放在部署系统或专用操作说明中。
部署模板
这 deploy/coolify/ 目录包含以下内容的编写模板:
- 组合式堆芯,
- 仅控制平面服务,
- 仅边缘服务,
- 这些服务的注册表映像变体。
根 docker-compose.yaml 是组合堆栈的便利入口点。
MCP操作
看 docs/mcp-registration-client-rbac.md 对于当前的运营商和客户合同:
- MCP服务如何在内置目录中注册,
- 客户端如何发现、注册、授权和调用MCP服务URL,
- Authentik组如何映射到服务授权和边缘范围。
发展
在提交更改之前运行标准验证循环:
sqlc generate
go test -buildvcs=false ./...
go build -buildvcs=false ./...如果更改SQL查询或迁移,请在运行测试之前重新生成sqlc输出。
