AI代理管理平台

MCP Fabric是一个基于Kubernetes的平台,用于通过自定义资源定义(CRDs)声明式地部署和管理AI代理,支持自主任务执行、Git集成和自动基础设施配置。

  • by jalet
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 jalet/mcp-fabric

使用说明

MCP织物

用于以声明方式部署和管理AI代理的Kubernetes原生平台 使用自定义资源定义(CRD)。

概述

MCP Fabric允许您将AI代理定义为Kubernetes资源。操作员 自动提供所有必要的基础设施,包括部署, 内置安全强化功能的服务、ConfigMaps和网络策略。

┌──────────────────────────────────────────────────────────────────┐
│                      MCP Fabric Framework                        │
├──────────────────────────────────────────────────────────────────┤
│  ┌─────────────┐     watches      ┌────────────────────────────┐ │
│  │  Operator   │ ───────────────► │ Agent/Route/Tool/Task CRs  │ │
│  └─────────────┘                  └────────────────────────────┘ │
│         │ creates                                                │
│         ▼                                                        │
│  ┌────────────────────────────────────────────────────────────┐  │
│  │              Agent Deployments & Task Jobs                 │  │
│  └────────────────────────────────────────────────────────────┘  │
│         ▲                                                        │
│         │ routes requests                                        │
│  ┌─────────────┐                                                 │
│  │   Gateway   │ ◄──── HTTP/MCP ────── Clients                   │
│  └─────────────┘                                                 │
└──────────────────────────────────────────────────────────────────┘

特征

  • 声明性代理定义:使用系统提示、模型定义代理 使用CRD进行配置和工具访问
  • 自主任务执行:通过编排运行多步骤AI任务, 进度跟踪和质量门
  • Git集成:克隆存储库、提交更改和创建PR 自动从任务
  • 自动化基础设施:操作员创建部署、服务、, 配置映射和网络策略
  • 默认安全:非根容器、只读文件系统、已删除 能力、网络隔离
  • 灵活的路由:按名称或基于意图的正则表达式将请求路由到代理 匹配
  • 工具包:将Python工具捆绑到OCI映像中,并从以下位置引用它们 代理
  • MCP协议支持:本地模型上下文协议集成

组件

组件 描述
操作员 Kubernetes控制器,监视代理/路由/工具/任务CR并管理资源
网关 HTTP API服务器,将请求路由到适当的代理吊舱
代理运行时 基于Python的代理执行环境(见示例)
任务 自主执行循环,协调代理以完成与Git集成的多步工作

快速开始

先决条件

  • Kubernetes集群(1.28+)
  • kubectl已配置
  • 用于基岩访问的AWS凭据(或替代LLM提供商)

安装

# Install CRDs
kubectl apply -f operator/config/crd/bases/

# Deploy operator
kubectl apply -k deploy/kustomize/base/operator/

# Deploy gateway
kubectl apply -k deploy/kustomize/base/gateway/

创建您的第一个代理

apiVersion: fabric.jarsater.ai/v1alpha1
kind: Agent
metadata:
  name: my-assistant
  namespace: mcp-fabric-agents
spec:
  prompt: |
    You are a helpful assistant.
  model:
    provider: bedrock
    modelId: eu.anthropic.claude-3-7-sonnet-20250219-v1:0
    maxTokens: 4096
  envFrom:
    - secretRef:
        name: aws-bedrock-credentials
kubectl apply -f my-agent.yaml

调用代理

curl -X POST http://agent-gateway:8080/v1/invoke \
  -H "Content-Type: application/json" \
  -d '{
    "agent": "my-assistant",
    "query": "Hello, how can you help me?"
  }'

创建自主任务

任务通过Git集成和质量门实现多步骤AI工作流程:

apiVersion: fabric.jarsater.ai/v1alpha1
kind: Task
metadata:
  name: implement-feature
  namespace: mcp-fabric-agents
spec:
  workerRef:
    name: code-worker
  taskSource:
    type: configmap
    configMapRef:
      name: feature-prd
      key: tasks.json
  git:
    url: https://github.com/myorg/myrepo.git
    branch: feat/new-feature
    baseBranch: main
    credentialsSecret:
      name: github-credentials
    createPR: true
  qualityGates:
    - name: test
      command: ["npm", "test"]
  limits:
    maxIterations: 50
    totalTimeout: 4h
kubectl apply -f my-task.yaml

# Monitor progress
kubectl get tasks -w

文档

文档 描述
入门指南 完成设置和首次代理演练
建筑 系统设计、组件和模式
写作代理 构建定制代理指南
书写工具 构建工具包指南
正在运行的任务 与Git集成的自主多步骤工作流
API 参考 完整的CRD规范参考
指标 普罗米修斯度量和可观察性
故障排除 常见问题和解决方案

例子

这 examples/ 目录包含演示如何 构建代理、工具和共享库:

examples/
├── agents/              # Example agent implementations
│   ├── default/         # Default agent runner
│   ├── task-orchestrator/  # Task orchestration agent
│   └── code-worker/     # Code implementation worker
├── tools/               # Example tool packages
├── libs/                # Shared libraries for agents
└── deploy/              # Sample Kubernetes manifests
    └── tasks/           # Task CR examples

看 示例/README.md 了解详情。

本地开发

开发工具和任务由以下人员管理 布置。它把 确切的Go、golangci-lint、控制器gen、kubectl和相关版本(请参阅 mise.toml)因此本地和CI构建匹配。

# One-time: install mise, then the pinned toolchain
brew install mise        # or: curl https://mise.run | sh
mise install

常见任务(mise tasks 列出所有内容):

任务 它做什么
mise run ci 完整的CI奇偶校验套件(确切内容 .github/workflows/ci.yml 跑步)
mise run build 构建运营商和网关二进制文件
mise run test 使用比赛检测器运行所有围棋测试
mise run test:integration 运行操作员envtest集成测试
mise run lint:go / vet golangci lint/go vet横跨两个模块
mise run fmt:go / fmt:md 格式Go/markdown
mise run generate / manifests 重新生成DeepCopy/CRD+RBAC
mise run docker:build 构建运营商和网关映像
mise run images:examples 构建示例代理/工具/库映像
mise run crds:install 将CRD安装到当前群集中

mise.lock 引脚工具校验和 macos-arm64 和 linux-x64 和 必须 承诺。更改工具版本后,运行 mise run mise:lock 并承诺 结果(mise run mise:check 是CI漂移保护)。工具升级是 否则由Renovate自动化(分组的“mise tools”PR)。

看 Developpent.md 对于完整的任务列表和基于类型的 本地集群演练。

贡献

看 贡献.md 作为指导方针。

安全

看 安全.md 用于安全策略和漏洞报告。

许可证

此项目根据Apache许可证2.0获得许可-请参阅 许可证 了解详情。