Inspiration
Enterprise AI agents fail silently when LLM providers brown out. For industrial IoT; cold-chain, server rooms, critical environments - a dropped alert isn't just a UX problem, it's a safety concern. We wanted to prove that with the right gateway architecture, alerts never drop, even under real infrastructure chaos.
What it does
A LangGraph multi-agent pipeline ingests live Cisco Meraki MT10 sensor data (temp/humidity/CO₂) from a real server room at Curtin University, Perth. Three parallel AI sub-agents triage anomalies simultaneously, each on a different LLM provider which then fires Slack alerts via the TrueFoundry MCP Gateway. A live dashboard lets you inject real infrastructure failures mid-demo and watch the system recover automatically.
How we built it
LangGraph StateGraph with Send() for true async parallel sub-agent fan-out TrueFoundry AI Gateway; four virtual models with rotating provider priority (Anthropic → OpenAI → Google, in different orders per agent) TrueFoundry MCP Gateway → ngrok static tunnel → FastMCP stub → Slack API FastAPI + SSE dashboard with a chaos injection panel and sensor simulation buttons Deployed 24/7 on GCP e2-micro with a static IP - no TLS cert for POC, HTTP only
Challenges we ran into
TFY MCP Gateway returns either application/json or text/event-stream depending on context — had to handle both content types in the response parser. ngrok session conflicts on restart, need a 30s cooldown for the cloud session to expire before relaunching.
Accomplishments that we're proud of
Zero dropped alerts (to Slack via custom MCP serve) under "chaos" injection; Claude timeout, OpenAI 429, Gemini 503, MCP server down. The pipeline always completes, degraded if necessary but never crashed. Real Cisco Meraki MT10 sensor data from a live server room, polling via org→device MAC discovery. Full observability across LLM calls and MCP tool calls in a single TFY Traces view; no extra instrumentation code. Sub-5-second end-to-end triage latency with three parallel LLM calls.
What we learned
TrueFoundry's virtual model abstraction is easy to setup and monitor. Model routing decisions stay in the gateway, not in application code. The portal's agent doesn't know (or care) which provider served it.
What's next for Cisco Meraki IoT Sensor Triage Agent - Resilent by Design
Surface TFY Traces data directly in the dashboard (pending Traces API availability) Harden the MCP stub with upstream auth (TFY-signed headers) for production deployment Package as a reference architecture for industrial IoT customers evaluating agentic AI in critical environments
Note : Attending in-person. Project was completed "on-site" at the DoubleTree next door after dinners (jet-lagged) after arrival from Perth, Western Australia.
Built With
- cisco-meraki-dashboard-rest-api
- fastapi
- fastmcp
- gcloud-ec2
- json-rpc-2.0-(mcp-tool-calls)
- json-rpc2
- langchain-openai
- langgraph
- ngrok(static-domain)
- python3.12
- sse
- truefoundry

Log in or sign up for Devpost to join the conversation.