graphiti/mcp_server/docker/docker-compose-kuzu.yml
Daniel Chalef 2e345698e4 feat: Add KuzuDB support to MCP server and make it default
- Add KuzuProviderConfig to schema for KuzuDB configuration
- Update DatabaseDriverFactory to support KuzuDB initialization
- Modify GraphitiService to handle KuzuDB driver instantiation
- Update CLI argument parser to include 'kuzu' option
- Make KuzuDB the default database provider (in-memory by default)
- Add docker-compose-kuzu.yml for standalone KuzuDB deployment
- Fix FalkorDB factory to parse URI into host/port parameters
- Fix EntityNode type access (use labels[0] instead of type)
- Add kuzu dependency to MCP server pyproject.toml

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-30 08:50:48 -07:00

42 lines
No EOL
1.7 KiB
YAML

services:
graphiti-mcp:
image: zepai/knowledge-graph-mcp:latest
build:
context: .
dockerfile: Dockerfile
env_file:
- path: .env
required: false # Makes the file optional. Default value is 'true'
environment:
# Database configuration for KuzuDB
- KUZU_DB=${KUZU_DB:-:memory:}
- KUZU_MAX_CONCURRENT_QUERIES=${KUZU_MAX_CONCURRENT_QUERIES:-1}
# LLM provider configurations
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- GOOGLE_API_KEY=${GOOGLE_API_KEY}
- GROQ_API_KEY=${GROQ_API_KEY}
- AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY}
- AZURE_OPENAI_ENDPOINT=${AZURE_OPENAI_ENDPOINT}
- AZURE_OPENAI_DEPLOYMENT=${AZURE_OPENAI_DEPLOYMENT}
# Embedder provider configurations
- VOYAGE_API_KEY=${VOYAGE_API_KEY}
- AZURE_OPENAI_EMBEDDINGS_ENDPOINT=${AZURE_OPENAI_EMBEDDINGS_ENDPOINT}
- AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT=${AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT}
# Application configuration
- GRAPHITI_GROUP_ID=${GRAPHITI_GROUP_ID:-main}
- SEMAPHORE_LIMIT=${SEMAPHORE_LIMIT:-10}
- CONFIG_PATH=/app/config/config.yaml
- PATH=/root/.local/bin:${PATH}
volumes:
- ./config.yaml:/app/config/config.yaml:ro
# Optional: If you want to persist KuzuDB data, uncomment the following line
# and change KUZU_DB to /data/kuzu.db
# - kuzu_data:/data
ports:
- "8000:8000" # Expose the MCP server via HTTP for SSE transport
command: ["uv", "run", "graphiti_mcp_server.py", "--transport", "sse", "--config", "/app/config/config.yaml"]
# Optional: Volume for persistent KuzuDB storage
# volumes:
# kuzu_data: