Comparison
Contextely vs Cognee
Both build a memory graph. Cognee's permissions are four verbs on a whole dataset, so everybody who can read a dataset reads all of it; Contextely decides per person, per team and per memory, inside the ranking, and two colleagues open the same graph and see different graphs.
What Cognee is
An open-source memory platform for agents: ingest data in any format, build a knowledge graph, and let agents recall it across sessions. Widely adopted, actively developed, and the closest thing to a direct competitor this product has.
Choose Cognee when
- You want an open-source package you can read, fork and run entirely on your own terms.
- You want to own the ingestion pipeline, the graph schema and the embedding strategy, and you have somebody to tune them.
- Your data is one shared corpus that everyone who uses the system may read.
Choose Contextely when
- Different people must see different answers. Sharing is per person, per team and per memory, and it is applied inside the ranking.
- You want the whole thing on one Postgres you already run, in production rather than as a demo.
- You want a finished service with an MCP endpoint your agents can use this afternoon.
| Dimension | Cognee | Contextely |
|---|---|---|
| Permission granularity | Read, write, delete and share, on a whole dataset | Per memory and per relationship, with nested teams and a separate clearance axis |
| Where permission is applied | A gate before the pipeline runs | A multiplicative factor inside the ranking function |
| Stores needed | A relational store, a vector store and a graph store, each configurable | One Postgres. No extension, no vector service, no graph engine |
| Graph provenance | Provenance arrays on nodes and edges, opt-in | Every relationship names the one memory object that asserted it, always |
| Staleness handling | Memory is written when you write it; keeping it current is your pipeline's job | Every object carries a TTL and is re-fetched from its system of record at query time when it expires |
| Per-asker permissions | Not a built-in concept. The application above it is expected to scope what it stores and retrieves | Entitlement scopes applied inside the retrieval scoring function, before synthesis; unentitled objects score zero |
| Self-host | Open source, self-hostable | Open self-host path, Docker, no feature gating |
Memory objects
4 of 100Acme Industrial: renewal terms
fetched 4s ago
Q3 churn commitments to Acme
fetched 3m ago
Support SLA by plan tier
fetched 2h ago
Northwind pricing sheet v4
fetched 1h 12m ago
One object is past its TTL. The next query that selects it re-reads the record before answering.
What the store looks like
A cache with rules, not a second source of truth
Every object carries the TTL its source set and the moment it was last read. Anything past its window is re-read from the system of record before it is allowed to answer, so the store never quietly becomes the thing your company believes.
Free for 500 retrievals a month, and self-hostable with no limits.