Neo4j MCP Chainlit
by Abhid14
This project demonstrates integration between a Neo4j MCP server with Chainlit and the Claude LLM, creating an interactive chat interface to query Neo4j databases using natural language.
View on GitHub
Last updated: N/A
Neo4j MCP Chainlit
A proof of concept demonstrating integration between Neo4j MCP server with Chainlit (MCP host) and Claude LLM (Anthropic API).
Overview
This project creates an interactive chat interface to query Neo4j databases using natural language. It leverages:
- Chainlit for the web interface
- Neo4j's MCP (Model Context Protocol) for database access
- Claude from Anthropic as the LLM for natural language understanding
Quick Start Guide
Prerequisites
- Clone the repository:
git clone https://github.com/Abhid14/neo4j-mcp-chainlit.git
cd neo4j-mcp-chainlit
- Install
uv
on your system:
curl -LsSf https://astral.sh/uv/install.sh | sh
For additional installation options, check the uv documentation.
Setup
- Create a Python virtual environment:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install dependencies:
uv pip install -r requirements.txt
- Configure environment variables:
cp .env.example .env
- Add your Anthropic API key to the
.env
file:
ANTHROPIC_API_KEY=your_api_key_here
Running the Application
Start the Chainlit app:
chainlit run app.py -w
Configure MCP Connections
- In the Chainlit app interface, configure MCP connections
- Use the sample Neo4j database:
- Set the MCP connection in stdio mode
- Name it
neo4j-mcp-demo
- Set the Command to:
/path/to/uv/binary/uvx mcp-neo4j-cypher --db-url neo4j+s://demo.neo4jlabs.com --user recommendations --password recommendations
Demo
The application uses the Neo4j demo database (Movie Graph) to demonstrate natural language querying capabilities.
Try asking questions like:
- "What movies did Tom Hanks act in?"
- "Show me the relationship between actors and directors"
- "Find all movies released after 2010"