mrkeyoor.com_
Tue 01 Sept 17:42 UTC
AI Toolsevaluationupdated 26 Aug 2026

cognee review

Cognee is a memory layer for AI agents that turns documents and conversation history into searchable vectors and a knowledge graph. It gives applications `remember`, `recall`, `forget`, and `improve` operations, with local, self-hosted, cloud, MCP, and Claude Code paths.

+100stars / 7d
Verdict

Our Cognee install consumed 1,126 MB and its tests were still unfinished at the 900-second cap, so adopting it means budgeting for a large, moving system rather than a small memory helper. It is worth testing when persistent agent memory, document ingestion, and graph retrieval belong in one service and your team can measure answer quality against its own corpus. Use a narrower store when session facts or vector search alone will do.

We ran it

Lab card: what happened when we ran cogneeScreenshot of cognee (www.cognee.ai)
Install✓ · 66s253 packages · 1126 MB
Build✓ · 7s
Tests✗ timed out · 900sran, no count parsed
Known vulns2(pip-audit)
Repo3150 files~375,420 lines of source · 96.6 MB · 51 CI workflows · Dockerfile · tests dir

Answers from our run

Does cognee build from source?

Dependencies installed in 66 seconds (253 packages), and the build succeeded in 7 seconds. We cloned commit 690c0ec into a clean Debian container with 3 CPUs and no project-specific setup.

Do cognee's tests pass?

We could not finish them: the suite was still running after 15 minutes in our container.

Does cognee have known vulnerabilities in its dependencies?

pip-audit flagged 2 known advisories in the dependency tree at the time of our run.

Who should not use cognee?

Buyers who need the single-Postgres graph backend under the same open license for production: the README labels the open implementation a demo and points production users to a licensed product.

What are the alternatives to cognee?

Mem0, Graphiti, Microsoft GraphRAG. Our Cognee install consumed 1,126 MB and its tests were still unfinished at the 900-second cap, so adopting it means budgeting for a large, moving system rather than a small memory helper.

Setup2/566-second install, 1,126 MB, and tests exceeded 900 seconds
Docs4/5Many paths are documented, though the full choice set is demanding
Community5/530,271 stars with same-day pushes and active issue review
Maturity3/5Active 1.5.3 release, but APIs and backend boundaries are moving

Discussed on

  1. hnShow HN: Cognee – Open-Source AI Memory Layer That Remembers Context9 points
  2. hnShow HN: Auto-optimizing deterministic LLM outputs using knowledge graphs7 points
  3. hnShow HN: Cognee – Turn RAG and GraphRAG into custom dynamic semantic memory6 points

Who it’s for

Agent developers who need memory to persist across sessions and datasets.
Teams willing to pay for LLM calls during ingestion, retrieval, and optional feedback.
Self-hosters who can choose and operate graph, vector, relational, and cache backends.
MCP or Claude Code users who want memory shared through a dedicated service.

Who it’s NOT for

Buyers who need the single-Postgres graph backend under the same open license for production: the README labels the open implementation a demo and points production users to a licensed product.
Teams with a strict dependency budget: our install added 253 packages, occupied 1,126 MB, and pip-audit reported 2 known vulnerabilities.
Projects that need a short, deterministic test run before adoption: our suite reached the 900-second cap without completing.
Cost-sensitive chat systems that cannot accept another model call after each answer: the README says AUTO_FEEDBACK is enabled by default.
Users assuming every documented configuration setter works identically across releases: issue 4632 reports that set_graph_model() was ignored in v1.5.2 and main, with a fix under review.

Setup reality

Our sandbox installed 253 Python packages in 66 seconds and used 1,126 MB. The build succeeded in 7 seconds. Tests did not finish within 900 seconds; the log ended inside Python threading and asyncio polling, printed a timeout banner, then F. Pip-audit found 2 known vulnerabilities.

The smallest example needs Python 3.10 through 3.14 and an LLM API key. Local defaults use embedded storage, while Docker, the UI, MCP, PostgreSQL, Neo4j, and other vector stores introduce separate services and credentials. A local-model provider needs its own model runtime.

The checkout contained 3,150 files and about 375,420 source lines before dependencies. Session memory, graph construction, vector search, auto-feedback, and dataset queues each affect runtime behavior. Production isolation also depends on both the selected graph and vector backends supporting it.

Cognee combines session memory with a knowledge graph

Cognee gives an agent four top-level operations: remember, recall, forget, and improve. Permanent material goes through ingestion and graph construction, while session-scoped memories can enter a faster cache and sync to the graph later. Retrieval can use embeddings and graph relationships instead of treating every document as an isolated text chunk. This is useful when an agent must connect people, events, preferences, and documents across conversations.

The quick start requires Python 3.10 through 3.14 and an LLM API key. That key is part of the product design, since graph extraction and answers use a model provider. Auto-feedback is enabled by default and adds one LLM call after an answered query so memory can adjust from conversation signals. Turning it off reduces cost and delay. Disabling caching goes further and removes session memory, changing what is being evaluated.

The local default is lighter than the full deployment map

Local development can use SQLite, LanceDB, and KuzuDB without separate database servers. The repository also documents PostgreSQL, PGVector, Neo4j, Neptune, Redis, and community vector adapters. Docker profiles can add the UI, MCP server, PostgreSQL, or Neo4j. Those choices let Cognee meet different infrastructure rules, but they also make setup advice workload-specific. A successful notebook does not settle the production topology.

Multi-tenant isolation depends on the chosen backends. The README says both graph and vector stores must support isolation or datasets can fall back to shared databases. Neo4j's per-dataset database mode requires an edition with multi-database support. The single-Postgres graph implementation has another boundary: its open version is described as a demo, while production use is a licensed product. Check that distinction before designing around one database.

What happened when we ran it

Our sandbox installed 253 packages in 66 seconds and occupied 1,126 MB. The build then succeeded in 7 seconds. Pip-audit reported 2 known vulnerabilities. These results came from commit 690c0ec in an unprivileged Python 3.12 Debian container with 3 CPUs and 8 GB of RAM, without secrets. They measure repository setup, not graph quality, model cost, or retrieval latency.

The test command did not complete within the 900-second limit. Its final output showed a Python thread running an asyncio event loop, waiting in the selector's polling call. The timeout banner appeared, followed by F. That tail does not identify which external service, fixture, or code path was responsible, and it gives no completed test count. The defensible result is simple: the suite timed out in our stated environment.

The measured repository contained 3,150 files, about 375,420 lines of source, 51 CI workflow files, a Dockerfile, a Compose file, and a tests directory. Its 96.6 MB checkout became more than 1 GB after installation. This is a platform-sized dependency and code footprint. Teams embedding it in another service should isolate upgrades and scan the resolved environment rather than treating Cognee like a small utility package.

MCP and Claude Code make memory automatic and invasive

Cognee ships an MCP server and documents HTTP, SSE, and stdio transports. Its Claude Code plugin captures prompts, tool traces, and assistant responses, injects retrieved context when a prompt arrives, preserves memory before compaction, and syncs at session end. That lifecycle coverage can make memory feel automatic. It also means the service may receive a detailed record of developer activity, so dataset boundaries, retention, access, and deletion need deliberate policies.

Local Claude Code mode starts a Cognee API on port 8011 and requires an LLM key. Remote mode instead needs a Cognee base URL and API key. The UI launches its MCP server inside a container, so Docker Desktop, Colima, or another OCI runtime with a working Docker CLI is required. These are clear instructions, though they place more machinery behind what users experience as one plugin.

Release 1.5.3 is active while behavior is still moving

GitHub recorded the last push on August 26, 2026, and release 1.5.3 was published 3 days earlier. The repository had 30,271 stars and 350 combined open issues and pull requests when fetched. That is current development and a sizable review queue. The release notes focus on search relevance, resumable ingestion, file validation, and stability, all areas that affect whether an agent can trust memory over time.

Open reports show why version-specific evaluation matters. Issue 4632 says cognee.config.set_graph_model() stored a value that extraction never read in v1.5.2 and a then-current main revision; a pull request was open with regression coverage. Issue 4673 reports a Cognee Cloud tenant where add and search requests hung while health and other routes responded. Neither report proves your deployment will fail, but both describe core paths worth adding to acceptance tests.

Cognee earns a trial only with your own retrieval set

Feature count cannot tell whether the generated graph helps an agent answer better. Build a small evaluation set from real documents and conversations, including corrections, conflicting facts, deletions, and tenant boundaries. Measure retrieval quality, model spend, ingestion recovery, and the delay of first and repeated queries. Repeat the checks with auto-feedback both enabled and disabled so its extra call earns its place.

Cognee is appealing when a team wants one system to own document ingestion, session memory, graph structure, and agent-facing retrieval. Our 900-second timeout and 1,126 MB environment make a casual dependency hard to justify. If a simple vector database plus explicit user-profile fields answers the need, use that smaller design. Choose Cognee when relationships and evolving memory produce measurable gains that repay its operational surface.

Alternatives

ProjectWhat it isPick it when
Mem0 gh↗An agent memory layer focused on extracting and retrieving durable user memories.pick this instead when you want a narrower memory API and do not need Cognee's document-to-knowledge-graph pipeline.
Graphiti gh↗A temporal knowledge-graph framework for changing facts and agent memory.pick this instead when time-aware graph relationships are the main requirement and you can design more of the surrounding stack.
Microsoft GraphRAGA graph-based retrieval pipeline for extracting structure from document collections.pick this instead when offline corpus analysis and graph-assisted retrieval matter more than live session memory.

What people are saying

  1. [github-trending] topoteretes/cognee

Sources

  1. Cognee README
  2. Cognee v1.5.3 release
  3. Graph model configuration report
  4. Cloud add and search hang report
  5. Cognee research paper

More ai tools reviews

claudian · SkillSpector · robin · mjlab · MoGe · awesome-design-md · the whole board →