使用说明
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获得许可-请参阅 许可证 了解详情。
