Multi-Agent LangGraph + MCP: Supervisor Pattern, Checkpoints & Human Approval
Go beyond a single agent. Learn the LangGraph supervisor pattern with specialist workers, MCP tool servers, checkpoints, and human-in-the-loop gates — how Cyber Infoware designs production agentic AI for enterprise SaaS.
- Agentic AI
- LangGraph
- MCP
- LangChain
- Multi-Agent

A single agent with every tool is a bottleneck. Research, billing lookups, code changes, and ops tickets want different prompts, models, and permissions. The LangGraph supervisor pattern puts a routing agent in front of specialist workers; MCP gives those workers a standard tool bus; LangChain still binds the LLM. Checkpoints and human-in-the-loop nodes are what make the graph safe to resume after a crash or an approval wait.
This is the production follow-up to a one-loop agent: how to split work, persist state, gate risky tools, and connect specialists to NestJS SaaS APIs without sharing a god-mode key.
When one agent is no longer enough
- The system prompt tries to be researcher, coder, and SRE at once — quality drops
- Write tools (refunds, deploys, emails) sit next to read-only search in the same allowlist
- Long tasks die mid-run because nothing persisted graph state
- You cannot pause for a human without losing the conversation

Supervisor + specialists + MCP
- Supervisor — reads the user goal, picks a worker (or finishes). No direct write tools if you can avoid it
- Specialists — e.g. Research (RAG/search MCP), Ops (logs/tickets MCP), Billing (read-only finance MCP)
- MCP servers — one server per domain so tools, auth, and rate limits stay isolated
- LangChain — tool schemas, structured output, and model adapters inside each worker node
- LangGraph — edges for handoff, retry, interrupt, and END
Handoff is a graph edge, not a chat mention
Do not hope the supervisor "remembers" to call Alice. Model handoff as explicit LangGraph edges with a typed state object: goal, tenant id, last worker, artifacts, and pending approval. Workers return structured results; the supervisor only decides the next node.
Checkpoints: resume after crash or approval
- Persist LangGraph state (thread id + checkpoint) in Postgres or Redis — memory dies with the pod
- Human-in-the-loop is an interrupt node: graph waits, user/admin approves, execution continues from checkpoint
- Never re-run a write tool on resume without idempotency keys
- Store tenant and actor on the state so a resumed job cannot hop tenants
If your agent cannot pause for a human and resume without replaying a refund, you do not have a workflow — you have a lucky script.
MCP server design for specialists
- Split servers by blast radius: read-search vs write-billing vs deploy
- Pass the user/service identity into MCP; tools enforce RBAC the same way the NestJS API does
- Keep tool results small and structured — dump entire tables and you will overflow context
- Log every MCP invocation with correlation id from the graph thread
Production checklist
- Budget per worker and per whole graph (steps, tokens, wall clock)
- Eval suites per specialist — a billing worker regression should not hide behind a research win
- Dead-letter threads that exceed retries; operators inspect, do not auto-loop forever
- Feature-flag new workers; supervisor routing table is product config
- Trace supervisor decisions so support can explain why Ops was chosen over Research
What "done" looks like
A supervisor routes a ticket to Ops, Ops calls MCP, a refund waits on human approval, the graph resumes from a checkpoint, and audit shows who approved. That is multi-agent AI enterprises can run. Explore Cyber Infoware products or contact us for agent architecture, MCP design, or a SaaS backend specialists can trust.
Explore Cyber Infoware packages
Production NestJS SaaS foundations with commercial licensing — pick the architecture that matches your team.
- NestJS Microservice Starter Kit
Production NestJS microservices — API gateway, Keycloak SSO, RabbitMQ, Docker, Kubernetes, and Terraform.
- Enterprise SaaS Microservices Boilerplate
Full multi-tenant SaaS control plane as NestJS microservices — service-per-DB, billing, audit, notifications.
- Multi-Tenant SaaS Boilerplate
Best-seller NestJS multi-tenant SaaS boilerplate — one API, per-tenant databases, billing, and Keycloak SSO.