mrkeyoor.com_
Sat 17 Oct 13:34 UTC
LLM Toolsevaluationupdated 10 Oct 2026

cognee review

Cognee gives AI agents persistent memory by turning documents, code, and conversations into searchable text and connected facts. It helps an application recover useful context after a conversation ends, with local retrieval that can run without a hosted model key.

+368stars / 7d
Verdict

Our Cognee run installed 280 packages and built successfully, but its tests timed out after 900 seconds, so adoption needs a completed validation run on your chosen revision. Try it when relationships between documents and session lessons justify a dedicated memory system. Walk away if the licensed production boundary around Postgres graph storage conflicts with your requirements.

We ran it

Lab card: what happened when we ran cogneeScreenshot of cognee (www.cognee.ai)
Install✓ · 77s280 packages · 1337 MB
Build✓ · 9s
Tests✗ timed out · 900sran, no count parsed
Known vulns5(pip-audit)
Repo3956 files~508,991 lines of source · 101 MB · 61 CI workflows · Dockerfile · tests dir

Answers from our run

Does cognee build from source?

Dependencies installed in 77 seconds (280 packages), and the build succeeded in 9 seconds. We cloned commit ba3631f 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 5 known advisories in the dependency tree at the time of our run.

Who should not use cognee?

Teams requiring the advertised Postgres graph route to be fully open and production-supported: the README labels it a demo and directs production users to a licensed product.

What are the alternatives to cognee?

Graphiti, Mem0, LlamaIndex. Our Cognee run installed 280 packages and built successfully, but its tests timed out after 900 seconds, so adoption needs a completed validation run on your chosen revision.

Setup3/577-second install, model downloads, and a timed-out suite
Docs4/5Clear local, hosted, authentication, and demo boundaries
Community5/5October 9 push and October 10 connector issue activity
Maturity3/5Active releases, but our 900-second test run did not finish

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

Python teams whose agents need to connect project decisions to documents, code, and previous sessions.
Developers willing to inspect retrieved evidence and configure extraction, embedding, and storage choices.
Claude Code or MCP users who want persistent project memory and can review what the integration captures.

Who it’s NOT for

Teams requiring the advertised Postgres graph route to be fully open and production-supported: the README labels it a demo and directs production users to a licensed product.
Developers expecting the bundled local extractor to carry a production accuracy guarantee: the README calls GLiNER a demo and points to a separate production offering.
Offline environments that cannot fetch model assets: local extraction and embedding models download on first use.
Anyone treating the direct Docker example as a shared secure service: it explicitly disables backend access control for single-user local use.

Setup reality

Our October 1 sandbox installed commit ba3631f in 77 seconds, adding 280 packages and occupying 1,337 MB. The build succeeded in 9 seconds. Tests timed out at 900 seconds, with failure, error, and skip markers plus an asyncio polling stack in the log tail. Pip-audit reported 5 known vulnerabilities.

The current README supports keyless local text ingestion and retrieval with downloaded extraction and embedding models. Generated answers require local or hosted LLM configuration. Setting LLM_API_KEY uses OpenAI for language models and embeddings by default. Storage and authentication need explicit choices for a shared service.

Python is the core runtime. The UI launcher also needs Node.js/npm, and its MCP service needs Docker. The direct Docker example disables access control for local use. The README labels Postgres graph storage and the bundled GLiNER extractor as demos with separate production offerings.

Local retrieval works without a hosted model key

Cognee's local quickstart returns source passages without asking a hosted language model to write an answer. That's a useful distinction if you want an agent to recover a project decision after its conversation ends. The Python library turns text into searchable chunks and a graph of entities and relationships. Its remember and recall calls let your application store material and retrieve relevant evidence. Code and session lessons have their own ingestion paths.

The convenience has a measurable cost: our installed environment occupied 1,337 MB after pulling 280 packages. I'd consider that reasonable for an application that needs connected memory across documents and code. It's harder to justify for an assistant that only needs to search a short folder of notes. Start with a question whose answer depends on relationships between sources, then inspect what Cognee retrieves before trusting an agent's response.

What happened when we ran it

Our run installed Cognee commit ba3631f in 77 seconds and completed the build in 9 seconds. We cloned it on October 1, 2026, into an unprivileged Debian sandbox with 3 CPUs, 8 GB of RAM, no secrets, and the ghcr.io/astral-sh/uv:python3.12-bookworm image. Installation added 280 packages and used 1,337 MB on disk. The checkout itself contained 3,956 files, roughly 508,991 source lines, and occupied 101 MB.

The tests timed out at 900 seconds. The supplied tail shows a Python thread running an asyncio event loop, ending in the selector's poll call before the timeout banner. The progress string contains failure, error, and skipped-test markers. It doesn't identify their underlying exceptions or give a complete result summary. We cannot tell from that tail whether the waiting loop caused the timeout, nor assign blame to missing credentials or system packages. Pip-audit reported 5 known vulnerabilities. The supplied results don't name affected packages, severity, or reachable code paths, so they support a dependency warning without establishing an exploitable service. Our scan also found 61 CI workflow files, a Dockerfile, a compose file, and a tests directory. Those are useful maintenance signals. They don't turn the timed-out suite into a pass or establish how accurately the system retrieves an answer.

Keyless ingestion still downloads local models

The current local quickstart uses the GLiNER extra for graph extraction and a local embedding model, both downloaded on first use. It retrieves matching text, while LLM-dependent improvement stages skip when no model is configured. Generated answers and media work requiring vision or transcription need additional model configuration. A bundled keyword-search demo avoids those downloads, but exploring its sample graph doesn't show how your own documents will ingest.

The 77-second installation measurement covers our October checkout, not those first-use downloads or the current quickstart's extraction quality. Setting LLM_API_KEY switches the documented default to OpenAI language models and embeddings, with provider calls during processing and answering. Other providers and local Ollama setups have separate guides. Choose that path deliberately if your documents contain private material, and check which model handles extraction as well as the final answer.

The Postgres graph backend has a demo boundary

The README explicitly labels Postgres graph storage a demo feature and says the production-ready version is a licensed product. It makes a similar qualification about the bundled GLiNER extractor's accuracy and label coverage. Apache-2.0 licensing for the repository doesn't erase these distinctions. If your adoption depends on an entirely open, production-supported graph inside Postgres, settle that requirement before designing around the advertised single-database route.

A checkout with 3,956 files and about 508,991 source lines also asks more of a maintainer than the short Python example suggests. Cognee includes custom data models, ontologies, session improvement, and multiple retrieval strategies. That breadth earns its place when your domain has meaningful entities and relationships. For straightforward document lookup, the extra choices can consume time you'd rather spend checking whether search results actually answer the user's question.

The local Docker example disables access control

Cognee's README explains that ENABLE_BACKEND_ACCESS_CONTROL=false selects a single-user local posture. Leaving access control enabled requires an authenticated user for API calls, and the default account needs a configured password. Named storage volumes preserve memory across container removal. These are consequential deployment details: a working local example doesn't decide who may query a team's documents or whether stored knowledge survives a container replacement.

Our scan found 61 CI workflow files plus Docker and compose support, but running the complete local interface still has separate requirements. The UI launcher needs Node.js/npm, and its MCP service needs Docker. Source deployment can start the API, UI, and MCP server together. Claude Code users also get a memory plugin through the integrations repository. Read that plugin's capture behavior before giving it project sessions, and keep authentication and storage decisions explicit.

October changes show maintenance and upgrade work

GitHub records the last push on October 9, 2026, with connector requests updated on October 10. The API listed 31,965 stars and 609 open issues and PRs. Release v1.6.3, published October 7, includes retrieval and permission fixes plus removed configuration behavior. These dates show ongoing maintenance. They also mean our 900-second timeout at the October 1 commit cannot establish the result of testing that later release.

Graphiti is worth comparing for explicitly temporal knowledge graphs. Mem0 focuses on agent memory, while LlamaIndex gives document-processing applications a broader framework. None received a comparative performance test here. I'd trial Cognee on a small, inspectable corpus when graph relationships matter enough to accept its 1,337 MB installed footprint. Require the retrieved source to explain the answer, and make a completed test run on your chosen revision a condition of adoption.

Alternatives

ProjectWhat it isPick it when
Graphiti gh↗Builds temporal knowledge graphs that preserve changing facts and their sources.pick this instead when the history and validity of relationships are your main memory requirement.
Mem0 gh↗A memory layer for AI agents and applications.pick this instead when conversational memory is the center of your design and you want to compare a different memory API.
LlamaIndex gh↗A framework for document processing and retrieval applications.pick this instead when document ingestion and retrieval are the main job and persistent agent sessions are secondary.

What people are saying

  1. [github-trending] topoteretes/cognee

Sources

  1. Cognee README and setup boundaries
  2. Cognee v1.6.3 release
  3. Cognee repository metadata
  4. Hacker News connector request and October activity
  5. Graphiti temporal graph framework
  6. Mem0 agent memory
  7. LlamaIndex document framework

More llm tools reviews

GLM-5.3-Flash-EXL3-2x-DGX-Sparks-TensorFold · livenerf · scion · opencode2api · IQuest-Q1 · iCode · the whole board →