NFReconfigue MCP服务器
MCP(模型上下文协议)服务器实现,用于云原生Kubernetes环境中的自主5G网络功能重新配置操作。
📋 目录
______________________________________________________________________
🔧 先决条件
所需软件
基础设施要求
在部署MCP服务器之前,您需要一个具有Nephio和5G OAI堆栈的工作多集群Kubernetes环境。
______________________________________________________________________
🏗️ 基础设施设置
第一步:使用Nephio引导Kubernetes集群
按照分步指南使用Nephio设置您的多集群Kubernetes基础设施:
📖 指南: Nephio测试基础设施设置
这将提供:
- 带Nephio控制平面的管理集群
- 工作负载集群(核心、边缘、区域、备用)
- GitOps基础设施(Gitea、ArgoCD)
- Porch包编排器
步骤2:部署5G OAI堆栈
在您的工作负载集群中部署OpenAirInterface 5G网络功能:
📖 指南: OAI 5G部署
群集拓扑:
| 集群 | 网络功能 | 描述 |
|---|---|---|
| 核心集群 | AMF、SMF、NRF、UDM、UDR、AUSF、MySQL | 5G核心控制平面功能 |
| 边缘集群 | UPF、CU-UP、DU | 用户平面和RAN下层 |
| 区域集群 RAN控制平面(gNB-CU-CP) | ||
| 备用集群 | (预留) | CU-CP搬迁目标 |
接口绑定:
┌─────────────────┐ N2 ┌─────────────────┐
│ Core Cluster │◄───────────►│ Regional Cluster│
│ (AMF, SMF...) │ │ (CU-CP) │
└────────┬────────┘ └───────┬─────────┘
│ N4 E1 │ F1-C
│ │
▼ ▼
┌─────────────────────────────────────────────────┐
│ Edge Cluster │
│ ┌─────┐ N3 ┌───────┐ F1-U ┌─────┐ │
│ │ UPF │◄────────►│ CU-UP │◄────────►│ DU │ │
│ └─────┘ └───────┘ └─────┘ │
└─────────────────────────────────────────────────┘- 氮气2:AMF↔ CU-CP(NGAP信令)
- n4型:SMF↔ UPF(PFCP会话管理)
- N3:UPF↔ CU-UP(GTP-U用户平面)
- E1:CU-CP↔ 提示(E1AP)
- F1-C型号:CU-CP↔ DU(F1AP 控制平面)
- F1-U: CU-UP↔ DU(F1-U用户飞机)
步骤3:安装Kagent
为Kubernetes原生代理运行时安装Kagent:
# Add Kagent Helm repository
helm repo add kagent https://kagent-dev.github.io/kagent/
helm repo update
# Install Kagent in the management cluster
helm install kagent kagent/kagent \
--namespace kagent-system \
--create-namespace验证安装:
kubectl get pods -n kagent-system______________________________________________________________________
📦 安装
方案1:地方发展
- 克隆存储库:
git clone https://github.com/bactp/nfreconfig-mcp-server.git
cd nfreconfig-mcp-server- 安装依赖项:
go mod tidy- 在本地运行MCP服务器:
go run cmd/server/main.go选项2:Docker构建
# Build using kmcp
kmcp build
# Or build manually
docker build -t nfreconfig-mcp-server:latest .选项3:Kubernetes部署
- 部署RBAC、服务和部署:
kubectl apply -f k8s-deployment/mcp-server-rbac.yaml
kubectl apply -f k8s-deployment/mcp-server-service.yaml
kubectl apply -f k8s-deployment/mcp-server-deployment.yaml- 或者使用kmcp部署为MCPServer自定义资源:
kmcp deploy mcp- 验证部署:
kubectl get pods -l app=nfreconfig-mcp-server
kubectl get mcpserver______________________________________________________________________
📁 项目结构
nfreconfig-mcp-server/
├── cmd/
│ ├── server/ # MCP server entrypoint
│ │ └── main.go
│ └── devtest/ # Development testing utilities
│ └── main.go
├── internal/
│ ├── kube/ # Kubernetes client utilities
│ │ ├── client.go # Kubeconfig loading
│ │ ├── dynamic.go # Dynamic client builder
│ │ ├── kubeclients.go # Client management
│ │ ├── mapper.go # Resource mapping
│ │ └── workload_client.go # Workload cluster client
│ └── tools/ # MCP tool implementations
│ ├── all_tools.go # Tool registration
│ ├── cluster_scan_topology.go # Cluster discovery
│ ├── repos_get_url.go # Repository URL discovery
│ ├── git_clone_or_open.go # Git clone operations
│ ├── repos_scan_cudu_plan_inputs.go # Manifest scanning
│ ├── manifest_patch_cucp_ips_many.go # CUCP IP patching
│ ├── manifest_patch_config_refs_many.go # Config reference patching
│ ├── git_commit_push_many.go # Git commit/push
│ ├── argocd_sync_app.go # ArgoCD sync trigger
│ ├── workload_resources.go # Workload resource ops
│ └── helpers.go # Utility functions
├── docs/
│ ├── agents/ # Agent system prompts
│ │ └── README.md # Agent configuration guide
│ └── nf-reconfiguration-sequence.mmd # Sequence diagram
├── k8s-deployment/ # Kubernetes manifests
│ ├── mcp-server-deployment.yaml
│ ├── mcp-server-rbac.yaml
│ └── mcp-server-service.yaml
├── Dockerfile
├── go.mod
├── go.sum
├── kmcp.yaml # Kagent MCP configuration
└── mcp-server-config.json # MCP server configuration______________________________________________________________________
🔧 MCP工具参考
| 工具 | 类别 | 描述 |
|---|---|---|
cluster_scan_topology | 集群资源清册 | 使用Git仓库和网络拓扑发现集群 |
workload_list_resource | 集群资源清册 | 列出工作负载集群上的K8s资源 |
workload_get_resource | 群集资源清册 | 从工作负载群集获取特定资源 |
workload_delete_resource | 群集资源清册 | 从工作负载群集中删除资源 |
repos_get_repos_urls | 仓库 | 获取仓库的Git克隆URL |
git_clone_repos | 仓库 | 将Git仓库克隆到本地工作目录 |
repo_scan_manifests | 存储库 | 扫描存储库以查找具有拓扑结构的K8s清单 |
manifest_patch_cucp_ips | 清单更改 | 用新IP修补CUCP NFDeployment/NAD |
manifest_patch_config_refs | 清单更改 | 使用新的CUCP参考更新DU/CUP配置 |
git_commit_push | Git交付 | 阶段、提交和推送存储库更改 |
argocd_sync_app | Git交付 | 触发ArgoCD应用程序同步 |
有关详细的工具参数和示例,请参见 docs/agents/README.md.
______________________________________________________________________
🤖 代理配置
此MCP服务器旨在与多代理架构配合使用:
| 代理 | 角色 | 使用的工具 |
|---|---|---|
| NF重新配置代理 | 协调协调器 | 技能代理的代表 |
| 群集清单代理 | 拓扑发现 | cluster_scan_topology, workload_* |
| 存储库代理 | Git仓库管理 | repos_get_repos_urls, git_clone_repos, repo_scan_manifests |
| 清单变更代理 | 配置修补 | manifest_patch_cucp_ips, manifest_patch_config_refs |
| Git交付代理 | GitOps同步 | git_commit_push, argocd_sync_app |
有关代理系统提示和配置示例,请参阅 docs/agents/README.md.
______________________________________________________________________
🔗 相关项目
| 项目 | 描述 |
|---|---|
| nephio试验红外线 | Nephio和OAI 5G基础设施设置指南 |
| 羊与重新配置 | CU-DU重构自动化前期工作 |
| 卡金特 | Kubernetes原生代理运行时 |
| kmcp | Kagent MCP命令行界面工具 |
| 尼菲奥 | Kubernetes原生网络自动化 |
| ArgoCD | Kubernetes的声明性GitOps |
| 模型上下文协议 | 标准化LLM工具界面 |
______________________________________________________________________
📜 许可证
此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。
