MCP与A2A工业自动化工作坊

为期两天的实践工作坊,面向工业自动化领域的工程师、集成商和数字化转型专业人士,教授如何构建多服务器MCP架构并实现Agent2Agent协议以创建协作式AI系统。

  • by iiot-university
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 iiot-university/MCP_A2A_Workshop

使用说明

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_PASSWORD

2.第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.sh

4.验证一切正常

# 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 实际工业应用案例

你将建造什么

  1. MQTT MCP服务器 --读取/写入统一命名空间
  2. MySQL MCP服务器 --查询关系MES数据
  3. 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 调试和未来方向

你将建造什么

  1. 生产代理 --A2A服务器暴露Press 103数据(端口8001)
  2. MES HTTP服务器 --N8N集成的REST端点(端口8002)
  3. 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管道设置

资源


许可证

MIT许可证——有关详细信息,请参阅许可证文件。


导师

沃克·雷诺兹
工业物联网大学
iiot.university