This repository contains the full source code and Jupyter notebooks for my blog post “Building a LangGraph Multi-Agent System”.
It demonstrates how to build:
- A simple deterministic chain (TOTO generator)
- A ReAct-style agent with Postgres (via MCP Toolbox), Tavily Search, and custom Python tools
- A modular multi-agent system (MAS) with a Supervisor, SQL Agent, Amenities Agent, and Web Research Agent
All examples use LangGraph, LangChain, OpenRouter models, Tavily, and MCP Toolbox.
├── notebook/
│ ├── toto_generator.ipynb
│ ├── langgraph_react_agent.ipynb
│ └── langgraph_mas.ipynb
│
├── graph.py # Standalone MAS graph (used by LangGraph app/CLI)
├── tools.yaml # MCP Toolbox config (Postgres + custom SQL tools)
├── pyproject.toml # uv project configuration
├── uv.lock
├── .python-version
├── .gitignore
└── README.md
> **Note:**
> - `app/` (generated by `langgraph new app`) is excluded from the repo.
> - `toolbox.exe` is excluded — users should download their own binary.
> - `.venv/` and cache files are excluded.
git clone https://github.com/seehiong/multi-agent-system-using-langgraph.git
cd multi-agent-system-using-langgraph
uv venv
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windowsuv syncDownload the Toolbox binary:
$VERSION="0.18.0"
Invoke-WebRequest -Uri "https://storage.googleapis.com/genai-toolbox/v$VERSION/windows/amd64/toolbox.exe" -OutFile "toolbox.exe"Start Toolbox:
./toolboxThe tools defined in tools.yaml will automatically load, including:
- Postgres SQL tools
- HDB resale queries
- Amenities and percentile price computations
Open the notebooks inside notebook/:
-
toto_generator.ipynb
- Simple LangGraph chain generating TOTO numbers.
-
langgraph_react_agent.ipynb
- Full ReAct agent with Tavily + SQL tools.
-
langgraph_mas.ipynb
- Supervisor-led Multi-Agent System with three specialist agents.
You may run them using Jupyter or VS Code.
langgraph devThen visit:
http://127.0.0.1:2024This opens LangSmith Studio, where you can explore, debug, and interact with your MAS graph.
- Python 3.10+
- uv (recommended)
- Postgres (if running HDB examples)
- Tavily API key (optional)
- OpenRouter API key
This repository accompanies my full walkthrough article:
👉 Building a LangGraph Multi-Agent System
https://seehiong.github.io/posts/2025/11/building-a-langgraph-multi-agent-system/
The blog post explains the design decisions, architecture, and step-by-step thought process behind the examples in this repo.
MIT License. You are free to fork, modify, and build on this example.
- LangChain / LangGraph
- OpenRouter
- Tavily
- MCP Toolbox
- Singapore HDB datasets (data.gov.sg)
If you found this useful, please ⭐ star the repo!