A complete demonstration of building multi-agent systems using LangGraph, featuring a supervisor-coordinated architecture with specialist agents for SQL queries, web research, and amenities data. The project includes reproducible Jupyter notebooks and standalone CLI tools using OpenRouter models, Tavily search, and MCP Toolbox integrations.
LangGraph Multi-Agent System with SQL and Web Search
seehiong/multi-agent-system-using-langgraphA complete LangGraph multi-agent system demo using SQL tools, Tavily search, MCP Toolbox, and OpenRouter models — with reproducible notebooks and a full supervisor-led agent workflow.
README
Multi-Agent System Using LangGraph
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.
📁 Project Structure
├── 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.
🚀 Getting Started
1. Clone the repo
git clone https://github.com/seehiong/multi-agent-system-using-langgraph.git
cd multi-agent-system-using-langgraph
2. Create and activate environment (using uv)
uv venv
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windows
3. Install dependencies
uv sync
4. Set up MCP Toolbox
Download 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:
./toolbox
The tools defined in tools.yaml will automatically load, including:
- Postgres SQL tools
- HDB resale queries
- Amenities and percentile price computations
🧪 Running the Examples
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.
▶️ Running the MAS with LangGraph CLI (Optional)
langgraph dev
Then visit:
http://127.0.0.1:2024
This opens LangSmith Studio, where you can explore, debug, and interact with your MAS graph.
📝 Requirements
- Python 3.10+
- uv (recommended)
- Postgres (if running HDB examples)
- Tavily API key (optional)
- OpenRouter API key
🔗 Related Blog Post
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.
📄 License
MIT License. You are free to fork, modify, and build on this example.
⭐ Acknowledgements
- LangChain / LangGraph
- OpenRouter
- Tavily
- MCP Toolbox
- Singapore HDB datasets (data.gov.sg)
If you found this useful, please ⭐ star the repo!
Comments (0)
Sign in to join the discussion.
No comments yet
Be the first to share your take.