Graphiti

by Joseperko1982

359 downloads Not rated yet Apache-2.0 license

About

Customized Graphiti MCP server for brainstorming knowledge graphs with specialized entity types for ideas, themes, stakeholders, constraints, and creative collaboration

Details

License
Apache-2.0 license

Explore

- 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

Requirements:

- Python 3.10 or higher
- Neo4j 5.26 or higher (serves as the embeddings storage backend)
- OpenAI API key (for LLM inference and embedding)

> [!IMPORTANT]
> Graphiti works best with LLM services that support Structured Output (such as OpenAI and Gemini).
> Using other services may result in incorrect output schemas and ingestion failures. This is particularly
> problematic when using smaller models.

Optional:

- Google Gemini, Anthropic, or Groq API key (for alternative LLM providers)

> [!TIP]
> The simplest way to install Neo4j is via Neo4j Desktop. It provides a user-friendly
> interface to manage Neo4j instances and databases.

pip install graphiti-core

or

poetry add graphiti-core

You can also install optional LLM providers as extras:


pip install graphiti-core[anthropic]

pip install graphiti-core[groq]

pip install graphiti-core[google-genai]

pip install graphiti-core[anthropic,groq,google-genai]

In addition to the Neo4j and OpenAi-compatible credentials, Graphiti also has a few optional environment variables.
If you are using one of our supported models, such as Anthropic or Voyage models, the necessary environment variables
must be set.

USE_PARALLEL_RUNTIME is an optional boolean variable that can be set to true if you wish
to enable Neo4j's parallel runtime feature for several of our search queries.
Note that this feature is not supported for Neo4j Community edition or for smaller AuraDB instances,
as such this feature is off by default.

api_key = "<your-api-key>"
api_version = "<your-api-version>"
azure_endpoint = "<your-azure-endpoint>"

cross_encoder=OpenAIRerankerClient(
client=azure_openai_client
)
)

api_key = "<your-google-api-key>"

Initialize Graphiti with Azure OpenAI clients

graphiti = Graphiti( "bolt://localhost:7687", "neo4j", "password", llm_client=OpenAIClient( client=azure_openai_client ), embedder=OpenAIEmbedder( config=OpenAIEmbedderConfig( embedding_model="text-embedding-3-small" # Use your Azure deployed embedding model name ), client=azure_openai_client ), # Optional: Configure the OpenAI cross encoder with Azure OpenAI cross_encoder=OpenAIRerankerClient( client=azure_openai_client ) )
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.