MCP&A2A研讨会
高级MCP和代理对代理研讨会\ 工业物联网大学——2025年12月16日至17日
______________________________________________________________________
研讨会概述
为工业自动化领域的工程师、集成商和数字化转型专业人员举办为期两天的实践研讨会。学习构建多服务器MCP架构,并为协作AI系统实现Agent2Agent协议。
| 日期 | 日期 | 主题 | 状态 |
|---|---|---|---|
| 1 | 2025年12月16日 | 高级MCP——多服务器架构 | ✅ 完成 |
| 2 | 2025年12月17日 | Agent2Agent——协作智能 | ✅ 完成 |
| 3 | 2026年1月 | 集装箱化和生产部署 | 📅 已安排 |
______________________________________________________________________
快速开始
先决条件
| 要求 | 版本 | 目的 |
|---|---|---|
| Python | 3.11+ | MCP服务器和A2A代理 |
| 克劳德桌面 | 最新 | MCP客户端界面 |
| Docker桌面 | 最新 | N8N和容器编排(第2天) |
| Git | 任意 | 克隆存储库 |
1.克隆和配置
# Clone the repository
git clone https://github.com/iiot-university/MCP_A2A_Workshop.git
cd MCP_A2A_Workshop
# Copy environment template
cp .env.example .env
# Edit .env with your Virtual Factory credentials
# Required variables:
# MQTT_BROKER, MQTT_PORT, MQTT_USERNAME, MQTT_PASSWORD
# MYSQL_HOST, MYSQL_PORT, MYSQL_USERNAME, MYSQL_PASSWORD2.第1天设置——MCP服务器
# Setup each MCP server (creates venv, installs dependencies)
cd day1/mqtt_server && python3 -m venv venv && source venv/bin/activate && pip install -r requirements.txt && deactivate && cd ../..
cd day1/mysql_server && python3 -m venv venv && source venv/bin/activate && pip install -r requirements.txt && deactivate && cd ../..
cd day1/mes_server && python3 -m venv venv && source venv/bin/activate && pip install -r requirements.txt && deactivate && cd ../..然后配置Claude Desktop(claude_desktop_config.json)--请参阅下面的第1天部分。
3.第2天设置——Docker和HTTP服务器
# Install Docker and N8N (see day2/setup/README.md for full guide)
docker run -d --name n8n --restart=always -p 5678:5678 -v n8n_data:/home/node/.n8n n8nio/n8n
# Make startup scripts executable (one time)
chmod +x start_servers.sh stop_servers.sh
# Start all Day 2 HTTP servers
./start_servers.sh4.验证一切正常
# Check Day 2 HTTP servers
curl http://localhost:8001/health # Production Agent
curl http://localhost:8002/health # MES HTTP Server
# Check N8N
open http://localhost:5678
# Check MCP servers (in Claude Desktop)
# Ask: "What topics are available in the UNS?"
# Ask: "What is the current OEE for Press 103?"5.停止一切
# Stop HTTP servers
./stop_servers.sh
# Stop N8N (optional)
docker stop n8n______________________________________________________________________
端口分配
| 服务器 | 端口 | 协议 | 用途 |
|---|---|---|---|
| 生产代理 | 8001 | HTTP/A2A | A2A协议端点 |
| MES HTTP服务器 | 8002 | HTTP | N8N工作流集成 |
| N8N | 5678 | HTTP | 工作流编排(Docker) |
| Portainer | 9443 | HTTPS | Docker管理用户界面 |
______________________________________________________________________
项目结构
MCP_A2A_Workshop/
├── .env # Credentials (gitignored)
├── .env.example # Template for credentials
├── start_servers.sh # Start all HTTP servers
├── stop_servers.sh # Stop all servers
├── README.md # This file
│
├── day1/ # Day 1: Advanced MCP
│ ├── mqtt_server/ # Session 2: MQTT/UNS access
│ ├── mysql_server/ # Session 3: MySQL access
│ ├── mes_server/ # Session 4: Domain MES server
│ └── use_cases/ # Session 4: Use case documentation
│
├── day2/ # Day 2: Agent2Agent
│ ├── setup/ # Docker/N8N setup guide
│ ├── production_agent/ # Session 2: A2A Production Agent
│ └── n8n_integration/ # Session 3: N8N workflows
│
└── logs/ # Server logs (auto-created)______________________________________________________________________
第1天:高级MCP——多服务器架构
构建Python MCP服务器,使Claude Desktop能够访问工业数据。
会话
| 会议 | 时间 | 主题 |
|---|---|---|
| 1 | 9:00-9:45 | 介绍和研讨会概述 |
| 2 | 10:00-10:45 | 构建您的第一个MCP服务器——MQTT&UNS |
| 3 | 11:00-11:45 | 多服务器架构——添加MySQL |
| 4 | 12:00-12:45 | 实际工业应用案例 |
你将建造什么
- MQTT MCP服务器 --读取/写入统一命名空间
- MySQL MCP服务器 --查询关系MES数据
- MES域服务器 --Press 103的制造工具
Claude桌面配置
添加 claude_desktop_config.json:
{
"mcpServers": {
"mqtt-uns": {
"command": "/path/to/day1/mqtt_server/venv/bin/python",
"args": ["/path/to/day1/mqtt_server/src/mqtt_mcp_server.py"]
},
"mysql-mes": {
"command": "/path/to/day1/mysql_server/venv/bin/python",
"args": ["/path/to/day1/mysql_server/src/mysql_mcp_server.py"]
},
"mes-press103": {
"command": "/path/to/day1/mes_server/venv/bin/python",
"args": ["/path/to/day1/mes_server/src/mes_mcp_server.py"]
}
}
}______________________________________________________________________
第2天:Agent2Agent——协作智能
通过HTTP公开MCP功能,并与N8N工作流协调。
会话
| 会议 | 时间 | 主题 |
|---|---|---|
| 1 | 9:00-9:45 | A2A协议介绍 |
| 2 | 10:00-10:45 | 建筑A2A代理 |
| 3 | 11:00-11:45 | 使用N8N的多代理工作流 |
| 4 | 12:00-12:45 | 调试和未来方向 |
你将建造什么
- 生产代理 --A2A服务器暴露Press 103数据(端口8001)
- MES HTTP服务器 --N8N集成的REST端点(端口8002)
- N8N工作流 --精心编排的多步骤代理工作流
包括N8N工作流
| 工作流 | 描述 |
|---|---|
n8n_shift_status_workflow.json | 基础:收集数据→ 构建消息→ 事后观察 |
n8n_ai_analysis_workflow.json | AI:发送给Claude API进行分析 |
n8n_decision_logic_workflow.json | 分支:打开可用性阈值 |
______________________________________________________________________
虚拟工厂数据源
所有示例都使用ProveIt!会议虚拟工厂环境。
MQTT代理(UNS)
| 设置 | 值 |
|---|---|
| 经纪人 | balancer.virtualfactory.online |
| 港口 | 1883 |
| 主题模式 | 企业/达拉斯/出版社/103出版社/# |
mysql数据库
| 设置 | 值 |
|---|---|
| 主持人 | 证明.虚拟工厂.在线 |
| 端口 | 3306 |
| 模式 | mes_lite、mes_custom、proveitdb |
按103上下文
| 度量 | 值 |
|---|---|
| 线ID | 1 |
| 工单 | 12237611 |
| UNS基地 | 企业/达拉斯/新闻/新闻103 |
______________________________________________________________________
行动项
视频内容
- \[ \] A2A代理集成视频 --记录从第2天第2-3节中提取的独立教程内容
第3天:集装箱化和生产(2026年1月)
- \[\]安排1月第一周的会议
- \[\]使用Docker将MCP服务器容器化
- \[\]将A2A试剂集装箱化
- \[\]部署到生产基础设施
- \[\]CI/CD管道设置
______________________________________________________________________
资源
- github:
- MCP文件: 模型上下文协议.io
- A2A协议:
- N8N文档: docs.n8n.io
______________________________________________________________________
许可证
MIT许可证——有关详细信息,请参阅许可证文件。
______________________________________________________________________
导师
沃克·雷诺兹\ 工业物联网大学\ iiot.university
