Memtro vs Cognee
An open-source pipeline that builds a knowledge graph from your data, versus a hosted memory with the connectors, permissions and history already built.
This comparison describes Cognee as we understand it at the time of writing from its public repository and documentation. Projects change; check the current details before deciding.
Cognee is an open-source Python library for turning your data into a queryable knowledge layer. Its pipeline is usually described as extract, cognify, load: you feed it documents, conversations or structured records; it extracts entities and relationships, builds a graph alongside vector embeddings, and serves retrieval across both. The graph and vector stores are pluggable — Neo4j, Kuzu or FalkorDB for the graph, several options for vectors — and it supports custom ontologies so the node and edge types can match your domain rather than a generic schema.
Memtro uses the same family of ideas — a knowledge graph with typed, sourced facts, hybrid retrieval, entity resolution — but ships as a finished product: an endpoint that speaks OpenAI, Anthropic and MCP, 146 connectors that read on a schedule, model routing on your own keys, agent mode, scheduled jobs, and your organisation's memory hosted, backed up and queried for you.
This is the same shape as the Graphiti comparison: a library you build with, against a product you point your tools at. If you are weighing those two against each other, the GraphRAG explainer covers what they have in common and what the approach costs.
Where they differ
| Memtro | Cognee | |
|---|---|---|
| What it is | A hosted product | A library you build with |
| Graph store | Hosted by Memtro, traversed on the server | A graph database you choose and run |
| Vector store | Built in | Pluggable, and yours to operate |
| Ontology | Fixed types, with jargon and aliases learned per organisation | Custom ontologies you define |
| Extraction | Built in, gated by signals, with provenance and per-fact scope | Built in, configured in code |
| Data in | Chat, 146 connectors reading by default and acting where granted, hourly syncs, imports | Whatever your code feeds the pipeline |
| Time | Bitemporal: facts carry validity dates, corrections supersede, memory readable as of any date | Graph structure; point-in-time history is yours to model |
| Permissions | Per person and team, inherited by every tool call, with an audit log | Yours to build |
| Interfaces | OpenAI-compatible API, Anthropic Messages, MCP server, dashboard, Slack | Python API |
| Agent runtime | Agent mode, tools, scheduled jobs | Your own |
| Self-hosting | Not offered | Yes, it is open source |
| Pricing shape | One price per organisation by headcount, nothing metered | Free to run; you pay for infrastructure and model calls |
Honestly, where Cognee is stronger
Control over the model of your domain. Custom ontologies are a real advantage. If your business has entity types and relationships that no generic schema captures, Cognee lets you say so precisely. Memtro's types are fixed; it adapts through learned jargon and aliases rather than by letting you redefine the schema.
You own and can read all of it. The pipeline, the stores, the extraction prompts. For a team that wants to understand and tune every stage — or that cannot send company data to a hosted product at all — that is decisive, and Memtro has no answer to it: it is hosted only, in one country, with no certifications yet.
Swappable infrastructure. If you already run Neo4j or a vector database, Cognee uses it rather than asking you to adopt another hosted store.
Cost at rest. A library you run has no licence. For a small dataset and an engineer who enjoys this work, that is cheaper than any product.
It will ingest anything. You write the loader. Memtro reads the systems it has connectors for and nothing else.
Where Memtro is stronger
The unglamorous two-thirds. Extraction and a graph are the interesting part and roughly a third of the work. The rest is connectors that stay authorised, hourly syncing, identity resolution across systems that disagree, permissions inherited per person so a tool call cannot read what the asker cannot, citations that survive to the reader, an audit trail, deletion that actually propagates, and an answer for when two systems disagree. Memtro ships those; with a library they are your roadmap.
Connectors that keep themselves current. 146 systems read on a schedule, reading by default and acting only where an action is granted by name. Cognee ingests what your code hands it, which means somebody maintains that code against every vendor's API changes.
Time you can defend. Facts carry validity dates and corrections supersede rather than overwrite, so memory can be read as it stood on any date — the difference between "the model was wrong" and "the facts changed". A graph can be built this way; it is not free, and it is much harder to retrofit than to start with.
It is usable by people who are not engineers. Memtro is an endpoint that Claude Code, Cursor, Slack or a browser talks to, with a dashboard and single sign-on. A library serves whoever writes Python.
The registers. Commitments, contradictions, jargon, decisions and metrics — each a view of the graph, each something that only exists once memory is durable and sourced.
When to choose which
Choose Cognee when the knowledge layer is your project: you want to model your own ontology, run your own stores, keep the data on your own infrastructure, and you have the engineering capacity to operate it.
Choose Memtro when you want the result rather than the construction kit — and note the honest version of the trade: Cognee gives you more control and all of the remaining work, Memtro gives you less control and none of it.