Graphiti
@Joseperko1982
Customized Graphiti MCP server for brainstorming knowledge graphs with specialized entity types for ideas, themes, stakeholders, constraints, and creative collaboration
Overview
What is Graphiti?
Graphiti is a framework for building real-time, temporally-aware knowledge graphs for AI agents. Its MCP server allows AI assistants to manage episodes, entities, and relationships through the Model Context Protocol, integrating dynamic user interactions and business data.
How to use Graphiti?
Install graphiti‑core via pip or poetry, set up a Neo4j 5.26+ database and an OpenAI API key, then use the Python API to add episodes and search the graph. The MCP server can be deployed with Docker for integration with MCP‑compatible clients like Claude or Cursor.
Key features of Graphiti
- Episode management (add, retrieve, delete)
- Entity management and relationship handling
- Semantic and hybrid search (BM25 + embeddings)
- Group management for organizing related data
- Graph maintenance operations
- Bi‑temporal tracking with historical queries
Use cases of Graphiti
- Giving AI agents persistent, context‑aware memory
- Integrating live user interactions and enterprise data
- Enabling state‑based reasoning and task automation
- Querying complex, evolving datasets with hybrid search
FAQ from Graphiti
What makes Graphiti different from GraphRAG?
Graphiti focuses on dynamic, incrementally updated data with hybrid retrieval and explicit bi‑temporal tracking, while GraphRAG is designed for static document summarization using LLM‑driven community analysis.
What are the runtime dependencies?
Python 3.10+, Neo4j 5.26+, and an OpenAI API key for LLM inference and embeddings. Optional providers (Anthropic, Groq, Gemini) are supported via extra installs.
Where does Graphiti store data?
All graph data, embeddings, and metadata are stored in a Neo4j database. The server requires a running Neo4j instance.
What search methods are supported?
Graphiti supports semantic embeddings, BM25 keyword search, and graph traversal, combined into a hybrid retrieval pipeline. It can also rerank results by graph distance.
Can Graphiti handle contradictory information?
Yes. Graphiti uses temporal edge invalidation to handle changes and contradictions, maintaining a complete history of when facts were known and when they changed.