Skip to content

A 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.

License

Notifications You must be signed in to change notification settings

seehiong/multi-agent-system-using-langgraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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/:

  1. toto_generator.ipynb

    • Simple LangGraph chain generating TOTO numbers.
  2. langgraph_react_agent.ipynb

    • Full ReAct agent with Tavily + SQL tools.
  3. 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!

About

A 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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published