graphiti-mcp-server
If you are the rightful owner of graphiti-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Graphiti MCP Server is a powerful knowledge graph server for AI agents, built with Neo4j and integrated with Model Context Protocol (MCP).
Graphiti MCP Server π§
π A powerful knowledge graph server for AI agents, built with Neo4j and integrated with Model Context Protocol (MCP).
π Features
- π Dynamic knowledge graph management with Neo4j
- π€ Seamless integration with OpenAI models
- π MCP (Model Context Protocol) support
- π³ Docker-ready deployment
- π― Custom entity extraction capabilities
- π Advanced semantic search functionality
π οΈ Installation
Prerequisites
- Docker and Docker Compose
- Python 3.10 or higher
- OpenAI API key
- Minimum 4GB RAM (recommended 8GB)
- 2GB free disk space
Quick Start π
- Clone the repository:
git clone https://github.com/gifflet/graphiti-mcp-server.git
cd graphiti-mcp-server
- Set up environment variables:
cp .env.sample .env
- Edit
.env
with your configuration:
# Required for LLM operations
OPENAI_API_KEY=your_openai_api_key_here
MODEL_NAME=gpt-4o
# Optional: Custom OpenAI endpoint
# OPENAI_BASE_URL=https://api.openai.com/v1
# Neo4j Configuration (defaults work with Docker)
NEO4J_URI=bolt://neo4j:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=demodemo
EOF
- Start the services:
docker compose up -d
- Verify installation:
# Check if services are running
docker compose ps
# Check logs
docker compose logs graphiti-mcp
Alternative: Environment Variables
You can run with environment variables directly:
OPENAI_API_KEY=your_key MODEL_NAME=gpt-4o docker compose up
π§ Configuration
Service Ports π
Service | Port | Purpose |
---|---|---|
Neo4j Browser | 7474 | Web interface for graph visualization |
Neo4j Bolt | 7687 | Database connection |
Graphiti MCP | 8000 | MCP server endpoint |
Environment Variables π§
Variable | Required | Default | Description |
---|---|---|---|
OPENAI_API_KEY | β | - | Your OpenAI API key |
MODEL_NAME | β | gpt-4o | OpenAI model to use |
OPENAI_BASE_URL | β | - | Custom OpenAI endpoint |
NEO4J_URI | β | bolt://neo4j:7687 | Neo4j connection URI |
NEO4J_USER | β | neo4j | Neo4j username |
NEO4J_PASSWORD | β | demodemo | Neo4j password |
Neo4j Settings ποΈ
Default configuration for Neo4j:
- Username:
neo4j
- Password:
demodemo
- URI:
bolt://neo4j:7687
(within Docker network) - Memory settings optimized for development
Docker Environment Variables π³
You can run with environment variables directly:
OPENAI_API_KEY=your_key MODEL_NAME=gpt-4o docker compose up
π Integration
Cursor IDE Integration π₯οΈ
- Configure Cursor MCP settings:
{
"mcpServers": {
"Graphiti": {
"command": "uv",
"args": ["run", "graphiti_mcp_server.py"],
"env": {
"OPENAI_API_KEY": "your_key_here"
}
}
}
}
- For Docker-based setup:
{
"mcpServers": {
"Graphiti": {
"url": "http://localhost:8000/sse"
}
}
}
- Add Graphiti rules to Cursor's User Rules (see
graphiti_cursor_rules.mdc
) - Start an agent session in Cursor
Other MCP Clients
The server supports standard MCP transports:
- SSE (Server-Sent Events):
http://localhost:8000/sse
- WebSocket:
ws://localhost:8000/ws
- Stdio: Direct process communication
π» Development
Local Development Setup
- Install dependencies:
# Using uv (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
# Or using pip
pip install -r requirements.txt
- Start Neo4j locally:
docker run -d \
--name neo4j-dev \
-p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/demodemo \
neo4j:5.26.0
- Run the server:
# Set environment variables
export OPENAI_API_KEY=your_key
export NEO4J_URI=bolt://localhost:7687
# Run with stdio transport
uv run graphiti_mcp_server.py
# Or with SSE transport
uv run graphiti_mcp_server.py --transport sse --use-custom-entities
Testing
# Run basic connectivity test
curl http://localhost:8000/health
# Test MCP endpoint
curl http://localhost:8000/sse
π Troubleshooting
Common Issues
π³ Docker Issues
# Clean up and restart
docker compose down -v
docker compose up --build
# Check disk space
docker system df
Logs and Debugging
# View all logs
docker compose logs -f
# View specific service logs
docker compose logs -f graphiti-mcp
docker compose logs -f neo4j
# Enable debug logging
docker compose up -e LOG_LEVEL=DEBUG
Performance Issues
- Memory: Increase Neo4j heap size in
docker-compose.yml
- Storage: Monitor Neo4j data volume usage
- Network: Check for firewall blocking ports 7474, 7687, 8000
ποΈ Architecture
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β MCP Client β β Graphiti MCP β β Neo4j β
β (Cursor) βββββΊβ Server βββββΊβ Database β
β β β (Port 8000) β β (Port 7687) β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β OpenAI API β
β (LLM Client) β
ββββββββββββββββββββ
Components
- Neo4j Database: Graph storage and querying
- Graphiti MCP Server: API layer and LLM operations
- OpenAI Integration: Entity extraction and semantic processing
- MCP Protocol: Standardized AI agent communication
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
π License
This project is licensed under the MIT License - see the file for details.
π Acknowledgments
- Neo4j team for the amazing graph database
- OpenAI for their powerful LLM models
- MCP community for the protocol specification
- Graphiti Core for the knowledge graph framework
Need help? Open an issue or check our troubleshooting guide above.