LangGraph-MCP Client
by BrianCusack
This repository demonstrates a low-level example of interacting with an MCP server as a Docker image, connected to a PostgreSQL database for LangGraph agents. It utilizes the Model Context Protocol (MCP) to standardize how applications provide context to LLMs.
Last updated: N/A
Langgraph-MCP Client for Postgresql Example
This repository demonstrates a very low level example of how to interact with an MCP server as a docker image, connected to a PostgreSQL database for LangGraph agents.
MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.
Prerequisites
Before you begin, ensure you have the following installed on your system:
- Docker
- PostgreSQL Database - running and populated
- MCP Servers
Flow and tools
- We use a postgresql database that the Postgresl MCP Server is aware of through the config
from langchain_mcp_adapters.tools import load_mcp_tools
creates the mcp toolcreate_react_agent
is a fast agent templater- we output the stream to file
Project Setup Instructions
1. Clone the Repository
Clone this repository to your local machine:
git clone https://github.com/your-repo/Langchain-MCP.git
cd Langgraph-mcp-client directory
2. Create a .env
File
Create a .env
file in the root of the repository with the following variables:
DB_HOST=<your-database-host>
DB_PORT=<your-database-port>
DB_USER=<your-database-username>
DB_PASSWORD=<your-database-password>
DB_NAME=<your-database-name>
Replace the placeholders with your actual database and MCP server connection details.
3. Install UV Package
Install the UV package globally if you haven't already:
MCP Server Setup
- Clone the repo MCP Servers to a separate directory
- Run -
docker build -t mcp/postgres -f src/postgres/Dockerfile .
to build and tag the image
Usage Instructions
1. Sync the UV Package
Run the following command to sync the UV package:
uv sync
This command ensures that the UV package installs the package correctly.
2. Run the Query Agent
Start the query agent using the following command:
uv run queryagent
This will prompt for the user query
Alt - with query (Banking database)
uv run queryagent "Who holds the most funds in thier account?"
TODO:
- Output formating
- Multi agent
Troubleshooting
- Database Connection: Verify the
.env
file contains the correct database credentials. - UV Package Errors: Ensure the UV CLI is installed globally and the
uv sync
command completes without errors.
Contributing
Feel free to open issues or submit pull requests to improve this repository.
License
This project is licensed under the MIT License. See the LICENSE
file for details.