Discover / RAG & Knowledge
Cognee
by topoteretesPython
Memory and knowledge-graph layer for AI agents and RAG.
Maturity: stable because 3y old, v1.4.0.dev3 released 4d ago. Derived from release and commit history, not a rating.
- Stars
- 30k
- Forks
- 2.9k
- Downloads / mo
- 177k
- Last commit
- 2026-08-01
- License
- Apache-2.0
- Open issues
- 532
Market and trust evidence
Edition not yet matchedNo exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.
Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.
In practice
Written by AI from this repository’s README · high confidenceAgents forget everything between sessions and cannot connect facts scattered across documents and sources.
Use it when
Use it when agents need persistent long term memory backed by both vector search and graph relationships.
Not the right pick when
It requires an LLM API key to build the graph, so it will not run fully offline as configured in the quickstart.
Capabilities
- ingest data in any format into a self hosted knowledge graph
- combines vector embeddings with graph reasoning
- ontology generation grounded in cognitive science
- agentic user and tenant isolation with traceability and OTEL collector
- cross-agent knowledge sharing and feedback learning
- clients and plugins for Rust, TypeScript, Claude Code and OpenClaw
Requirements
- Python 3.10 to 3.14
- an LLM API key set as LLM_API_KEY
Cost: Needs a paid API or account
Install
Derived from the published package name in the repository, not from a model.
Video walkthroughs
Build a Knowledge Graph on Your Laptop with Cognee + Ollama (Free, Private, Fully Local)
Why Your AI Agents Keep Forgetting (And How To Fix That) - Vasilije Markovic (Cognee)
Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.
What the repository ships
Detected from the actual files in the repository root.
Latest release v1.4.0.dev3
Published 2026-07-30
v1.4.0.dev3 — AWS BYOC & Deployment Improvements
Release Date: 2026-07-30
Changes: v1.4.0.dev3 → aws-byoc
Summary
This release adds Bring-Your-Own-Credentials (BYOC) support for AWS deployments and several improvements to data storage, ingestion reliability, and performance. It also includes security hardening, bug fixes, and a few configuration changes for users who deploy Cognee on AWS.
Highlights
- New AWS BYOC (Bring-Your-Own-Credentials) mode so you can store data in your own AWS account.
- S3-backed dataset storage for scalable, durable archives stored in your cloud account.
- Faster and more reliable ingestion for large files and high-throughput workloads.
- Security and deployment improvements: stronger credential handling and clearer configuration for AWS deployments.
Breaking Changes
- AWS deployment configuration changes: if you intend to use AWS BYOC, you must update your deployment configuration to include the new BYOC settings (bucket, role or credentials). Existing managed deployments that do not opt into BYOC are unaffected. Please read the migration guide in the docs before switching a running dataset to S3-backed storage.
- Migration required to move datasets from local storage to S3-backed storage: moving data between storage types is not automatic. Use the provided CLI tools to migrate datasets; follow the migration steps to avoid downtime or inconsistent state.
New Features
- AWS BYOC: You can now configure Cognee to use your own AWS credentials (Bring-Your-Own-Credentials). This option stores datasets, backups, and blobs in an S3 bucket inside your AWS account instead of Cognee's managed infrastructure. Why it matters: you keep full control of data, billing, and compliance (e.g., audit logs, regional controls, retention rules).
- S3-backed dataset storage: Datasets (the collections of documents or files you add to Cognee) can be stored directly in a customer-owned S3 bucket. What it does: large files and long-term data are uploaded to S3 while metadata remains indexed by Cognee. Why it matters: reduces storage costs for large datasets and makes long-term archival and policy enforcement easier for teams.
- Deployment CLI enhancements: New commands and flags in the Cognee CLI to initialize and validate AWS BYOC settings. What it does: helps you create the correct S3 bucket, test the IAM role or credentials, and verify permissions before running production workloads. Why it matters: reduces setup errors and shortens deployment time.
- Automatic multipart upload handling: Large files are automatically split and uploaded to S3 using multipart uploads when using S3-backed storage. What it does: improves reliability and resumes interrupted uploads. Why it matters: large ingest jobs are less likely to fail and are faster overall.
Improvements
- Improved ingestion reliability: better retry logic and resumable uploads for flaky networks, which reduces failed ingests for large files.
- Clearer AWS configuration and logging: deployment logs now show explicit checks (bucket existence, permissions) and guidance on misconfiguration, making troubleshooting faster.
- Indexing improvements: metadata and content indexing has been tuned to reduce duplicated entries and improve search relevance across datasets (a dataset is the collection of documents you add).
- Better UX for dataset management: UI and CLI show dataset storage location (local vs S3) and give clearer guidance when moving data between storage types.
Performance
- Faster large-file ingestion: parallel multipart uploads and reduced memory pressure during indexing result in significantly faster uploads for files over 100MB.
- Lower memory usage during batch indexing: background indexing now stages smaller chunks, reducing peak memory usage during large imports.
Security
- Stronger credential handling for AWS BYOC: Cognee validates role/credential permissions and avoids persisting plaintext secrets in local config
Tags
README
<div align="center">
<a href="https://github.com/topoteretes/cognee">
<img src="https://raw.githubusercontent.com/topoteretes/cognee/refs/heads/dev/assets/cognee-logo-transparent.png" alt="Cognee Logo" height="60">
</a>
<br />
Cognee - The Open-Source AI Memory Platform for Agents
<p align="center">
<a href="https://www.youtube.com/watch?v=8hmqS2Y5RVQ&t=13s">Demo</a>
.
<a href="https://docs.cognee.ai/">Docs</a>
.
<a href="https://cognee.ai">Learn More</a>
·
<a href="https://discord.gg/NQPKmU5CCg">Join Discord</a>
·
<a href="https://www.reddit.com/r/AIMemory/">Join r/AIMemory</a>
.
<a href="https://github.com/topoteretes/cognee-community">Community Plugins & Add-ons</a>
</p>
<a href="https://github.com/sponsors/topoteretes"><img src="https://img.shields.io/badge/Sponsor-❤️-ff69b4.svg" alt="Sponsor"></a>
<p>
<a href="https://trendshift.io/repositories/13955" target="_blank" style="display:inline-block;">
<img src="https://trendshift.io/api/badge/repositories/13955" alt="topoteretes%2Fcognee | Trendshift" width="250" height="55" />
</a>
</p>
Cognee is the open-source AI memory platform that gives AI agents persistent long-term memory across sessions. Ingest data in any format, build a self-hosted knowledge graph, and let every agent recall, connect, and act with full context
<p align="center">
🌐 This README is also available in:
:
<!-- Keep these links. Translations will automatically update with the README. -->
<a href="https://www.readme-i18n.com/topoteretes/cognee?lang=de">Deutsch</a> |
<a href="https://www.readme-i18n.com/topoteretes/cognee?lang=es">Español</a> |
<a href="https://www.readme-i18n.com/topoteretes/cognee?lang=fr">Français</a> |
<a href="https://www.readme-i18n.com/topoteretes/cognee?lang=ja">日本語</a> |
<a href="README_ko.md">한국어</a> |
<a href="https://www.readme-i18n.com/topoteretes/cognee?lang=pt">Português</a> |
<a href="https://www.readme-i18n.com/topoteretes/cognee?lang=ru">Русский</a> |
<a href="https://www.readme-i18n.com/topoteretes/cognee?lang=zh">中文</a>
</p>
<p align="center">
<img src="assets/cognee-demo.gif" alt="Cognee Demo" width="80%" />
</p>
</div>
📄 Read the research paper: Optimizing the Interface Between Knowledge Graphs and LLMs for Complex Reasoning — Markovic et al., 2025
About Cognee
Cognee is an open-source AI memory platform for AI Agents. Ingest data in any format, and Cognee continuously builds a self-hosted knowledge graph that gives your agents persistent long-term memory across sessions. Cognee combines vector embeddings, graph reasoning, and cognitive-science-grounded ontology generation to make documents both searchable by meaning and connected by relationships that evolve as your knowledge does.
:star: _Help us reach more developers and grow the cognee community. Star this repo!_
:books: _Check our detailed documentation for setup and configuration._
:crab: _Available as a plugin for your OpenClaw — cognee-openclaw_
✴️ _Available as a plugin for your Claude Code — claude-code-plugin_
🦀 _Available as a Rust client — cognee-rs_
🟦 _Available as a TypeScript client — @cognee/cognee-ts_
Why use Cognee:
- Easily Build Company Brain - unify data from various sources in one place and enable Agents with your domain knowledge
- Knowledge infrastructure — unified ingestion, graph/vector search, runs locally, ontology grounding, multimodal
- Persistent and Learning Agents - learn from feedback, context management, cross-agent knowledge sharing
- Reliable and Trustworthy Agents - agentic user/tenant isolation, traceability, OTEL collector, audit traits
How it Works
<p align="center">
<img src="assets/remember.svg" alt="Cognee Products" width="80%" />
</p>
<p align="center">
<img src="assets/recall.svg" alt="Cognee Recall" width="80%" />
</p>
Basic Usage & Feature Guide
To learn more, check out this short, end-to-end Colab walkthrough of Cognee's core features.
Quickstart
Let’s try Cognee in just a few lines of code.
Prerequisites
- Python 3.10 to 3.14
Step 1: Install Cognee
You can install Cognee with pip, poetry, uv, or your preferred Python package manager.
uv pip install cognee
Step 2: Configure the LLM
import os
os.environ["LLM_API_KEY"] = "YOUR OPENAI_API_KEY"
Alternatively, create a .env file using our template.
To integrate other LLM providers, see our LLM Provider Documentation.
Step 3: Run the Pipeline
Cognee's API gives you four operations — remember, recall, forget, and improve:
import cognee
import asyncio
async def main():
# Store permanently in the knowledge graph (runs add + cognify + improve)
await cognee.remember("Cognee turns documents into AI memory.")
# Store in session memory (fast cache, syncs to graph in background)
await cognee.remember("User prefers detailed explanations.", session_id="chat_1")
# Query with auto-routing (picks best search strategy automatically)
results = await cognee.recall("What does Cognee do?")
for result in results:
print(result)
# Query session memory first, fall through to graph if needed
results = await cognee.recall("What does the user prefer?", session_id="chat_1")
for result in results:
print(result)
# Delete when done
await cognee.forget(dataset="main_dataset")
if __name__ == '__main__':
asyncio.run(main())
Use the Cognee CLI
cognee-cli remember "Cognee turns documents into AI memory."
cognee-cli recall "What does Cognee do?"
cognee-cli forget --all
To open the local UI, run:
cognee-cli -ui
Note: The MCP server launched by
cognee-cli -uiruns inside a Docker container.Docker Desktop, Colima, or any OCI-compatible runtime with a working
dockerCLI isrequired. See Docker & Colima Setup for details.
Run with Docker
Prefer containers? Cognee publishes prebuilt images to Docker Hub on every push to main:
cognee/cognee (the API server) and
cognee/cognee-mcp (the MCP server).
Option A — Docker Compose (build from source)
Clone the repo, create a .env with at least LLM_API_KEY, then:
cp .env.template .env # then edit .env and set LLM_API_KEY
# Start the API server (http://localhost:8000)
docker compose up
# Optional profiles (combine as needed):
docker compose --profile ui up # + frontend on http://localhost:3000
docker compose --profile mcp up # + MCP server on http://localhost:8001
docker compose --profile postgres up # + Postgres/PGVector
docker compose --profile neo4j up # + Neo4j
The
cogneeandcognee-mcpservices publish different host ports (8000vs8001),so you can run both at once.
Option B — Pull the prebuilt image (no clone required)
# Create a minimal .env in the current directory
echo 'LLM_API_KEY="YOUR_OPENAI_API_KEY"' > .env
# API server
docker run --env-file ./.env -p 8000:8000 --rm -it cognee/cognee:main
# MCP server (HTTP transport)
docker pull cognee/cognee-mcp:main
docker run -e TRANSPORT_MODE=http --env-file ./.env -p 8000:8000 --rm -it cognee/cognee-mcp:main
See the MCP server README for SSE/stdio transports, optional
extras, and MCP client configuration.
Use with AI Agents
Claude Code
Install the Cognee memory plugin to give Claude Code persistent memory across sessions. The plugin captures prompts, tool traces, and assistant responses into session memory, injects relevant context on every prompt, and syncs session memory into the permanent knowledge graph at session end.
Install from the Claude Code marketplace. The recommended way is from your shell, before launching Claude Code, so the first claude launch is a clean session that bootstraps memory automatically:
# Add the marketplace and install the plugin (one-time, user-scoped)
claude plugin marketplace add topoteretes/cognee-integrations
claude plugin install cognee-memory@cognee
# Set env vars for your mode (see below), then launch
export LLM_API_KEY="sk-..." # local mode; or COGNEE_BASE_URL + COGNEE_API_KEY for cloud
claude
Local mode (default) — the plugin bootstraps a local Cognee API at http://localhost:8011. Only LLM_API_KEY is required; the Cognee API key is auto-minted if absent:
export LLM_API_KEY="sk-..."
Cognee Cloud or a remote server — set both:
export COGNEE_BASE_URL="https://your-instance.cognee.ai"
export COGNEE_API_KEY="ck_..."
On startup you should see a "Cognee Memory Connected" system message.
The plugin hooks into Claude Code's lifecycle — SessionStart selects mode and sets up identity, UserPromptSubmit injects dataset-scoped context, PostToolUse captures tool traces, Stop writes the assistant's answer, PreCompact preserves memory across context resets, and SessionEnd triggers the final sync into the permanent graph.
See the plugin README for sessions, datasets, and full configuration.
Connect to Cognee Cloud
Point any Python agent at a managed Cognee instance — all SDK calls route to the cloud:
import cognee
await cognee.serve(url="https://your-instance.cognee.ai", api_key="ck_...")
await cognee.remember("important context")
results = await cognee.recall("what happened?")
await cognee.disconnect()
Examples
Browse more examples in the examples/ folder — demos, guides, custom pipelines, and database configurations.
Use Case 1 — Customer Support Agent
Goal: Resolve customer issues using their personal data across finance, support, and product history.
User: "My invoice looks wrong and the issue is still not resolved."
Cognee tracks: past interactions, failed actions, resolved cases, product history
# Agent response:
Agent: "I found 2 similar billing cases resolved last month.
The issue was caused by a sync delay between payment
and invoice systems — a fix was applied on your account."
# What happens under the hood:
- Unifies data sources from various company channels
- Reconstructs the interaction timeline and tracks outcomes
- Retrieves similar resolved cases
- Maps to the best resolution strategy
- Updates memory after execution so the agent never repeats the same mistake
Use Case 2 — Expert Knowledge Distillation (SQL Copilot)
Goal: Help junior analysts solve tasks by reusing expert-level queries, patterns, and reasoning.
User: "How do I calculate customer retention for this dataset?"
Cognee tracks: expert SQL queries, workflow patterns, schema structures, successful implementations
# Agent response:
Agent: "Here's how senior analysts solved a similar retention query.
Cognee matched your schema to a known structure and adapted
the expert's logic to fit your dataset."
# What happens under the hood:
- Extracts and stores patterns from expert SQL queries and workflows
- Maps the current schema to previously seen structures
- Retrieves similar tasks and their successful implementations
- Adapts expert reasoning to the current context
- Updates memory with new successful patterns so junior analysts perform at near-expert level
Run the Whole Memory Layer on Postgres
Graph memory traditionally means operating a stack — a graph database for relationships, a vector database for embeddings, Redis for sessions, and a relational database for metadata — all deployed, secured, and paid for before an agent remembers anything. In cognee 1.0 you can run the entire memory layer on a single Postgres instance.
⚠️ Warning: Using Postgres as a graph store is currently a demo feature and is not
production-ready. Use it to demo keeping relational metadata, PGVector, and graph
state in a single Postgres service, but rely on a graph-native backend such as Kuzu or Neo4j
for production workloads.
Interested in fu
Truncated. Read the full README on GitHub ↗