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部署
先决条件
- 具有基岩访问权限的AWS帐户
- AWS CLI已配置
- AgentCore运行时权限
- 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 String3.部署代理
部署使用所有三个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=9002SSM参数结构
/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服务器工具时:
- 在相应的MCP服务器中定义工具
- 将文档添加到此README中
- 如果需要,更新代理的系统提示
- 添加测试用例
- 更新部署脚本
📄 许可证
版权所有Amazon.com,股份有限公司或其附属公司。保留所有权利。 SPDX 许可证标识符:MIT-0
