云种子MCP
一个自我进化的云代理,作为可安装的“种子”在客户端的GCP环境中交付。建立在 模型上下文协议(MCP),它为基础设施配置、代码管理、应用程序部署和数据管理提供了一个对话界面,针对缺乏内部DevOps团队的中小型企业(SMB)。
关键差异化因素: 系统自我进化。它从一组基本工具开始,当客户需要不存在的东西时,自动生成新的MCP工具——在推广到生产环境之前通过测试管道对其进行测试。
建筑
种子是一个Docker Compose包,在内部网络上运行4个容器:
┌───────────────────────────────────────────────────────┐
│ seed-net (bridge) │
│ │
│ ┌───────────┐ ┌──────┐ ┌────────────┐ ┌────────┐ │
│ │ Core MCP │ │ OPA │ │ Tool Forge │ │ State │ │
│ │ :8000 │ │ :8181│ │ │ │ Store │ │
│ │ (Python) │→ │(Rego)│ │ (Python) │ │ :5432 │ │
│ └───────────┘ └──────┘ └────────────┘ │(Postgres)││
│ ↑ only port exposed to host └────────┘ │
└───────────────────────────────────────────────────────┘| 容器 | 角色 |
|---|---|
| 核心MCP服务器 | 主编排器通过MCP协议为Terraform、GitHub、Cloud Run和数据库管理提供工具 |
| 策略引擎(OPA) | Open Policy Agent根据预算、地区、资源和安全策略验证每个Terraform计划 |
| 工具锻造 | 自主生成、测试、扫描和推广新的MCP工具 |
| 州立商店 | PostgreSQL数据库维护基础设施状态、工具注册表和审计日志的可查询视图 |
快速开始
# Clone
git clone https://github.com/Gianlucaboni/cloud-seed-mcp.git
cd cloud-seed-mcp
# Configure
cp .env.example .env
# Edit .env with your settings
# Start all services
docker compose up -d
# Verify
docker compose ps
curl http://localhost:8000/mcp # Core MCP server项目结构
cloud-seed-mcp/
├── docker-compose.yml # 4 services on seed-net
├── .env.example # Environment variables template
├── core-mcp/ # Core MCP Server
│ ├── Dockerfile
│ ├── pyproject.toml
│ └── src/core_mcp/
│ ├── server.py # FastMCP server (11 tools registered)
│ ├── config.py # Settings via CORE_MCP_ env vars
│ └── tools/
│ ├── _subprocess.py # Async CLI wrapper (shared helper)
│ ├── terraform.py # terraform init/plan/apply/show + OPA validation
│ ├── github.py # gh repo create/list, git push
│ ├── cloudrun.py # gcloud run deploy/list
│ └── database.py # BigQuery + Cloud SQL via Terraform HCL generation
├── policy-engine/ # OPA Policy Engine
│ ├── Dockerfile
│ ├── opa-config.yaml
│ ├── policies/
│ │ ├── budget.rego # Monthly cost limits (default 500 EUR)
│ │ ├── regions.rego # Allowed regions (default: europe-west)
│ │ ├── resources.rego # Resource type whitelist + GPU controls
│ │ └── security.rego # Encryption, no public access, naming
│ ├── data/defaults.json # Configurable policy values
│ └── tests/ # OPA test suite + JSON fixtures
├── tool-forge/ # Tool Forge Pipeline
│ ├── Dockerfile
│ ├── pyproject.toml
│ └── src/tool_forge/
│ ├── generator.py # Template-based MCP tool code generation
│ ├── tester.py # Auto-generated pytest runner
│ ├── scanner.py # AST-based security scanner
│ ├── sandbox.py # Isolated execution environment
│ ├── registry.py # PostgreSQL tool registry (staging → active)
│ └── templates/ # Jinja2 templates for code generation
├── state-store/ # PostgreSQL State Store
│ └── init/01-schema.sql # Schema: projects, resources, tool_registry, logs
├── bootstrap/ # GCP Bootstrap & SA Hierarchy
│ ├── install.sh # One-time bootstrap script
│ ├── sa_hierarchy.tf # 4-level Service Account hierarchy
│ ├── deny_policy.tf # IAM deny policies for Orchestrator
│ └── modules/
│ ├── project_sa/ # Per-project SAs (Runtime, Deploy, Data)
│ └── ephemeral_sa/ # TTL-based read-only SAs for sandbox
└── CLAUDE.md # Full architecture specification运作原理
示例:“将我的物联网传感器数据保存到新数据库”
- 用户 通过MCP客户端发送请求
- 核心MCP 电话
database_create_dataset→ 生成Terraform HCL→ runsterraform plan - 核心MCP 电话
terraform_apply→ 读取计划JSON→ 发送至 OPA 用于验证 - OPA 评估所有4个策略(预算、地区、资源、安全)→ 返回违规或空数组
- 如果OPA批准→
terraform apply在GCP上创建BigQuery数据集 - 向用户返回了包含详细信息的响应
动作分类
| 级别 | 行动 | 行为 |
|---|---|---|
| 绿色 | 读取操作, terraform plan,列出资源 | 直接执行 |
| 黄色 | terraform apply、部署、数据库创建 | 需要人工批准 |
| 红 | 项目删除、SA修改、禁用OPA | 始终被阻止 |
自我进化工具
当客户需要一个不存在的工具时:
- 工具锻造 按照MCP工具模式生成Python代码
- 自动生成 pytest测试 验证该工具
- 基于AST的安全扫描器 检查危险模式(eval、子流程、未经授权的网络)
- 沙盒 在受限环境中独立执行工具
- 如果所有门都通过→ 工具是 晋升 到活动注册表
服务帐户层次结构
4级最低权限模型:
| 级别 | SA | 目的 | 生命周期 |
|---|---|---|---|
| 1 | 安装程序 | 在引导过程中创建所有其他SA | 安装后禁用 |
| 2 | 编排器 | 通过Terraform+OPA进行日常操作 | 永久性,有拒绝政策 |
| 3 | 每个项目 | 每个客户端项目的运行时、部署、数据SA | 每个项目创建 |
| 4 | 短暂 | Tool Forge沙盒测试的只读SA | 基于TTL的自动清理 |
发展
核心MCP测试
cd core-mcp && uv sync --dev && uv run pytest -v
# 64 testsOPA政策测试
brew install opa # if not installed
opa test policy-engine/policies/ policy-engine/tests/ --ignore '*.json' -v
# 24 tests工具锻造测试
cd tool-forge && uv sync --dev && uv run pytest -v
# 59 tests技术栈
| 组件 | 技术 | 基本原理 |
|---|---|---|
| IaC | Terraform | OPA的行业标准JSON计划输出 |
| 策略引擎 | OPA(Rego) | 开源、供应商中立、确定性 |
| 打包 | Docker Compose | 对中小企业来说很简单,可升级到K8 |
| State Store | PostgreSQL | 强大、可查询 |
| VCS | GitHub | Actions生态系统,带有GCP的原生WIF |
| 云 | GCP | 初始目标,多云计划 |
| 语言 | Python | 核心MCP和工具生成 |
许可证
私人——尚未获得分销许可。
