6G网络管理服务器与代理

提供6G网络基础设施的统一数据管理、边缘计算资源分配和AI服务部署的智能管理解决方案。

  • by ntutangyun
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ntutangyun/aws_hackathon_ai_service_assistant_mcp_servers

使用说明

6G网络管理MCP服务器和代理

此目录包含MCP(模型上下文协议)服务器和用于管理6G网络基础设施的AI代理。

📁 结构

mcp_servers/
├── UDM_mcp_server.py                    # Unified Data Management server
├── edge_server_mcp_server.py            # Edge server management server
├── edge_ai_service_repository_mcp_server.py  # AI service catalog server
├── agent.py                              # AWS AgentCore Runtime agent
└── README.md                             # This file

🎯 概述

MCP服务器

三台MCP服务器模拟6G网络基础设施的不同组件:

1. UDM服务器 (端口9000)

用户订阅和服务的统一数据管理。

能力:

  • 用户订阅CRUD操作
  • 移动计划管理(无限/有限)
  • QoS配置文件配置
  • 边缘AI服务订阅
  • 数据使用跟踪

关键工具:

  • get_all_subscriptions -列出所有用户订阅
  • get_subscription -获取特定订阅详细信息
  • create_subscription -创建新用户订阅
  • update_qos_profile -修改QoS设置
  • add_edge_ai_subscription -向用户添加Edge AI服务

2. 边缘服务器 (端口9001)

边缘计算基础设施和GPU资源管理。

能力:

  • 边缘服务器监控
  • GPU资源分配(NVIDIA A100/H100)
  • AI服务部署
  • 资源利用率跟踪
  • 健康状态监测

关键工具:

  • get_all_edge_servers -列出所有边缘服务器
  • get_server_resources -获取资源详细信息
  • deploy_service -将AI服务部署到边缘
  • get_network_summary -全网统计
  • find_servers_with_capacity -查找具有可用资源的服务器

3. 人工智能服务库 (端口9002)

已准备好部署的AI服务目录。

能力:

  • 人工智能服务目录管理
  • 服务搜索和过滤
  • 资源需求规格
  • 部署配置
  • 基于类别的组织

关键工具:

  • get_all_services -列出所有AI服务
  • search_services -按关键字搜索
  • get_service_requirements -获取资源需求
  • get_categories -列出服务类别
  • find_services_by_resources -查找兼容的服务

代理

这 agent.py 该文件实现了一个AI代理,该代理协调所有三个MCP服务器以提供智能6G网络管理。

特征:

  • 与AWS Bedrock Claude Sonnet 4.5集成
  • 访问所有MCP服务器工具
  • 用于网络操作的自然语言界面
  • 上下文感知响应
  • 多步骤工作流执行

🚀 地方发展

正在运行MCP服务器

每台服务器独立运行:

# Terminal 1 - UDM Server
python UDM_mcp_server.py
# Runs on http://localhost:9000

# Terminal 2 - Edge Server
python edge_server_mcp_server.py
# Runs on http://localhost:9001

# Terminal 3 - AI Service Repository
python edge_ai_service_repository_mcp_server.py
# Runs on http://localhost:9002

测试MCP服务器

使用HTTP POST测试单个工具:

# Example: Get all subscriptions
curl -X POST http://localhost:9000/tools/get_all_subscriptions \
  -H "Content-Type: application/json" \
  -d '{}'

# Example: Get all edge servers
curl -X POST http://localhost:9001/tools/get_all_edge_servers \
  -H "Content-Type: application/json" \
  -d '{}'

# Example: Get all AI services
curl -X POST http://localhost:9002/tools/get_all_services \
  -H "Content-Type: application/json" \
  -d '{}'

☁️ AWS部署

先决条件

  1. 具有基岩访问权限的AWS帐户
  2. AWS CLI已配置
  3. AgentCore运行时权限
  4. Cognito用户池设置

部署步骤

1.将MCP服务器部署到AgentCore运行时

对于每个MCP服务器,创建一个AgentCore运行时:

# Deploy UDM Server
aws bedrock-agentcore create-runtime \
  --runtime-name "6g-udm-mcp-server" \
  --runtime-type MCP_SERVER \
  --code-location ./UDM_mcp_server.py \
  --handler-config '{"port": 9000}'

# Deploy Edge Server
aws bedrock-agentcore create-runtime \
  --runtime-name "6g-edge-mcp-server" \
  --runtime-type MCP_SERVER \
  --code-location ./edge_server_mcp_server.py \
  --handler-config '{"port": 9001}'

# Deploy AI Service Repository
aws bedrock-agentcore create-runtime \
  --runtime-name "6g-ai-service-mcp-server" \
  --runtime-type MCP_SERVER \
  --code-location ./edge_ai_service_repository_mcp_server.py \
  --handler-config '{"port": 9002}'

2.将运行时参数存储在SSM中

部署后,存储ARN和客户端ID:

# UDM Server
aws ssm put-parameter \
  --name /mcp_server/udm/runtime/agent_arn \
  --value "arn:aws:bedrock:region:account:runtime/runtime-id" \
  --type String

aws ssm put-parameter \
  --name /mcp_server/udm/runtime/client_id \
  --value "your-cognito-client-id" \
  --type String

# Edge Server
aws ssm put-parameter \
  --name /mcp_server/edge/runtime/agent_arn \
  --value "arn:aws:bedrock:region:account:runtime/runtime-id" \
  --type String

aws ssm put-parameter \
  --name /mcp_server/edge/runtime/client_id \
  --value "your-cognito-client-id" \
  --type String

# AI Service Repository
aws ssm put-parameter \
  --name /mcp_server/ai_service/runtime/agent_arn \
  --value "arn:aws:bedrock:region:account:runtime/runtime-id" \
  --type String

aws ssm put-parameter \
  --name /mcp_server/ai_service/runtime/client_id \
  --value "your-cognito-client-id" \
  --type String

3.部署代理

部署使用所有三个MCP服务器的主代理:

aws bedrock-agentcore create-runtime \
  --runtime-name "6g-network-agent" \
  --runtime-type AGENT \
  --code-location ./agent.py \
  --runtime-config '{
    "model_id": "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
    "mcp_servers": ["udm", "edge", "ai_service"]
  }'

🔧 配置

环境变量

# AWS Region
export AWS_REGION=us-east-1

# Cognito Configuration
export COGNITO_USER_POOL_ID=your-pool-id
export COGNITO_CLIENT_ID=your-client-id
export COGNITO_USERNAME=testuser
export COGNITO_PASSWORD=MyPassword123!

# MCP Server Ports (for local development)
export UDM_MCP_PORT=9000
export EDGE_MCP_PORT=9001
export AI_SERVICE_MCP_PORT=9002

SSM参数结构

/mcp_server/
├── udm/
│   └── runtime/
│       ├── agent_arn
│       └── client_id
├── edge/
│   └── runtime/
│       ├── agent_arn
│       └── client_id
└── ai_service/
    └── runtime/
        ├── agent_arn
        └── client_id

📊 样品数据

所有MCP服务器都预先填充了示例数据:

  • UDM:2个用户订阅蜂窝和边缘人工智能服务
  • 边缘服务器:3个具有不同GPU配置的边缘节点
  • 人工智能服务库:6个不同类别的人工智能服务

🧪 测试代理

本地测试(如果在本地运行代理)

from agent import agent

# Test query
response = agent("Show me all active subscriptions")
print(response.message)

# Test deployment
response = agent("Deploy the video analytics service to the edge server with the most available GPU capacity")
print(response.message)

# Test analytics
response = agent("What's the current GPU utilization across all edge servers?")
print(response.message)

AWS测试

# Invoke via AWS CLI
aws bedrock-agentcore invoke-runtime \
  --runtime-arn "arn:aws:bedrock:region:account:runtime/runtime-id" \
  --payload '{"prompt": "Show me all active subscriptions"}' \
  --output text

📝 查询示例

代理能够理解自然语言查询,例如:

订阅管理:

  • “显示所有活动订阅”
  • “为用户John创建具有高级QoS的新订阅”
  • “sub-001用户的数据使用情况如何?”
  • “将云游戏服务添加到Bob的订阅中”

边缘服务器管理:

  • “哪些边缘服务器有可用的GPU容量?”
  • “显示所有边缘服务器的运行状况”
  • “将视频分析部署到纽约边缘服务器”
  • “edge-001上正在运行哪些服务?”

人工智能服务发现:

  • “计算机视觉有哪些人工智能服务?”
  • “查找需要少于4个CPU核的服务”
  • “显示所有与游戏相关的AI服务”
  • “医学影像服务的资源需求是什么?”

分析:

  • “整个网络的GPU总利用率是多少?”
  • “有多少用户拥有Edge AI服务?”
  • “哪个边缘服务器使用率最高?”
  • “显示所有部署的摘要”

🔒 安全

  • 通过AWS Cognito进行身份验证
  • 通过IAM角色进行授权
  • 加密通信(HTTPS)
  • 会话管理
  • 机密参数存储

🐛 调试

启用调试日志记录:

import logging
logging.basicConfig(level=logging.DEBUG)

检查MCP服务器日志:

# Each server logs to console
# Check for connection issues, tool execution, errors

检查SSM参数:

aws ssm get-parameters-by-path \
  --path /mcp_server/ \
  --recursive

📚 额外资源

🤝 贡献

添加新的MCP服务器工具时:

  1. 在相应的MCP服务器中定义工具
  2. 将文档添加到此README中
  3. 如果需要,更新代理的系统提示
  4. 添加测试用例
  5. 更新部署脚本

📄 许可证

版权所有Amazon.com,股份有限公司或其附属公司。保留所有权利。 SPDX 许可证标识符:MIT-0